在python中的单词上分割语音音频文件

发布于 2021-01-29 15:09:49

我觉得这是一个相当普遍的问题,但我尚未找到合适的答案。我有很多想在单词上打断的人类语音音频文件,可以通过查看波形中的停顿来试探性地完成,但是谁能指出我在python中自动执行此功能的函数/库吗?

关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    一个简单的方法是使用pydub模块。最近添加的静默实用程序可以完成所有繁重的工作,如setting up silence threaholdsetting up silence length。等等,并且与所提到的其他方法相比,大大简化了代码。

    这是一个演示实现,从这里得到启发

    设定:

    我在文件“
    az.wav”中有一个音频文件,其中包含从A到的口头英语字母Z。子目录splitAudio是在当前工作目录中创建。执行演示代码后,文件被拆分为26个单独的文件,每个音频文件存储每个音节。

    观察结果: 一些音节被切除,可能需要修改以下参数,
    min_silence_len=500
    silence_thresh=-16

    可能需要根据自己的需要调整这些内容。

    演示代码:

    from pydub import AudioSegment
    from pydub.silence import split_on_silence
    
    sound_file = AudioSegment.from_wav("a-z.wav")
    audio_chunks = split_on_silence(sound_file, 
        # must be silent for at least half a second
        min_silence_len=500,
    
        # consider it silent if quieter than -16 dBFS
        silence_thresh=-16
    )
    
    for i, chunk in enumerate(audio_chunks):
    
        out_file = ".//splitAudio//chunk{0}.wav".format(i)
        print "exporting", out_file
        chunk.export(out_file, format="wav")
    

    输出:

    Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> ================================ RESTART ================================
    >>> 
    exporting .//splitAudio//chunk0.wav
    exporting .//splitAudio//chunk1.wav
    exporting .//splitAudio//chunk2.wav
    exporting .//splitAudio//chunk3.wav
    exporting .//splitAudio//chunk4.wav
    exporting .//splitAudio//chunk5.wav
    exporting .//splitAudio//chunk6.wav
    exporting .//splitAudio//chunk7.wav
    exporting .//splitAudio//chunk8.wav
    exporting .//splitAudio//chunk9.wav
    exporting .//splitAudio//chunk10.wav
    exporting .//splitAudio//chunk11.wav
    exporting .//splitAudio//chunk12.wav
    exporting .//splitAudio//chunk13.wav
    exporting .//splitAudio//chunk14.wav
    exporting .//splitAudio//chunk15.wav
    exporting .//splitAudio//chunk16.wav
    exporting .//splitAudio//chunk17.wav
    exporting .//splitAudio//chunk18.wav
    exporting .//splitAudio//chunk19.wav
    exporting .//splitAudio//chunk20.wav
    exporting .//splitAudio//chunk21.wav
    exporting .//splitAudio//chunk22.wav
    exporting .//splitAudio//chunk23.wav
    exporting .//splitAudio//chunk24.wav
    exporting .//splitAudio//chunk25.wav
    exporting .//splitAudio//chunk26.wav
    >>>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看