美文网首页
使用pydub处理音频文件

使用pydub处理音频文件

作者: Maslino | 来源:发表于2016-11-16 21:35 被阅读2852次

    pydub是一个Python模块,用于处理音频,它有一个简单易用的高层接口,底层依赖于ffmpeg或者avconv工具。

    下面介绍pydub的一些使用。

    打开一个音频文件

    import StringIO
    from pydub import AudioSegment
    audio = AudioSegment.from_file(StringIO.StringIO(audio_data))
    audio = AudioSegment.from_file("audio_file")
    

    from_file方法还有一个默认参数format,用于指定音频格式。

    设置采样率

    比如将采样率设置为16KHz

    audio.set_frame_rate(16000)
    

    单通道

    audio.set_channels(1)
    

    按时间长度分段

    from pydub.utils import make_chunks
    chunks = make_chunks(audio, length)
    

    转成Raw PCM

    综上,如果要将一段音频转成16KHz、单声道、小端的Raw PCM格式,可以这么做:

    import StringIO
    from pydub import AudioSegment
    audio = AudioSegment.from_file("audio_file")
    mono = audio.set_frame_rate(16000).set_channels(1)
    sio = StringIO.StringIO()
    mono.export(sio, format="s16le")
    # sio中保存的即是转换后的Raw PCM
    sio.getvalue()
    

    转好的Raw PCM可以用于语音文本转换数据源。

    相关文章

      网友评论

          本文标题:使用pydub处理音频文件

          本文链接:https://www.haomeiwen.com/subject/yinrpttx.html