Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from inaSpeechSegmenter import Segmenter
- from inaSpeechSegmenter.export_funcs import seg2csv, seg2textgrid
- import vlc
- import time
- path = "stream.mp4"
- print(f"segmenting audio from {path}...")
- t0 = time.time()
- segmentation = Segmenter()(path)
- t1 = time.time()
- print(f"took {t1 - t0:.01f} seconds")
- print(f"found {len(segmentation)} segments")
- music_total = sum(i[2]-i[1] for i in segmentation if i[0] == 'music')
- total_total = sum(i[2]-i[1] for i in segmentation)
- print(f"time preserved: {music_total / total_total * 100 :.01f}%")
- print()
- media_player = vlc.MediaPlayer()
- media_player.set_media(vlc.Media(path))
- media_player.play()
- media_player.set_time(0)
- media_player.pause()
- t0 = 0
- for kind, start, end in segmentation:
- if kind == 'music' and end - start > 30:
- print(f'setting time to {start}, duration {end - start} (skipped {start - t0:.02f} seconds)')
- media_player.set_time(int(start*1000))
- media_player.play()
- time.sleep(end - start)
- media_player.pause()
- time.sleep(1)
- t0 = end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement