JoelSjogren icon

music seeker

JoelSjogren | PRO | 05/05/22 02:08:56 PM UTC | 0 ⭐ | 1043 👁️ | Never ⏰ | []
Python |

1.06 KB

|

None

|

0 👍

/

0 👎

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

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎