zoukankan      html  css  js  c++  java
  • pydub 把音频按时间段切成小段(结合ffmpeg)

    from pydub import AudioSegment
    from pydub.utils import make_chunks
    
    audio = AudioSegment.from_file("./nnqdzj01.mp3", "mp3")
    
    size = 30000  #切割的毫秒数 10s=10000
    
    chunks = make_chunks(audio, size)  #将文件切割为30s一块
    
    for i, chunk in enumerate(chunks):
        chunk_name = "./nnqdz01-wav30/nnqdzj00-{0}.wav".format(i)
        print(chunk_name)
        chunk.export(chunk_name, format="wav", parameters=["-ar", "16000","-ac","1", "-acodec", "pcm_s16le"])
    
    

    结合ffmpeg,官网原文如下:

    You can pass an optional bitrate argument to export using any syntax ffmpeg supports.

    awesome.export("mashup.mp3", format="mp3", bitrate="192k")
    Any further arguments supported by ffmpeg can be passed as a list in a 'parameters' argument, with switch first, argument second. Note that no validation takes place on these parameters, and > you may be limited by what your particular build of ffmpeg/avlib supports.

    Use preset mp3 quality 0 (equivalent to lame V0)

    awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])

    Mix down to two channels and set hard output volume

    awesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])

    参考
    python--把音频按时间段切成小段(重叠和不重叠)

    上面的内容,主要还是一些知识点整理和个人的一些思考,权当参考,如有错误或者更好的建议,可以在评论区指正,不胜感激!
    可执行代码

  • 相关阅读:
    iOS微信支付
    iOS登录及token的业务逻辑(没怎么用过,看各种文章总结)
    IOS 支付宝支付开发流程
    iOS SDWebImage实现原理
    站立会议1
    作业六:团队项目——编写项目的Spec
    作业5
    站立会议8
    站立会议 3
    站立会议 2
  • 原文地址:https://www.cnblogs.com/Tester_Dolores/p/14858285.html
Copyright © 2011-2022 走看看