Python中音頻處理庫pydub的使用教程,pythonpydub

來源:互聯網
上載者:User

Python中音頻處理庫pydub的使用教程,pythonpydub

前言

pydub是Python中使用者處理音頻檔案的一個庫。本文主要介紹了關於Python音頻處理庫pydub使用的相關內容,分享出來供大家參考學習,下面來看看詳細的介紹:

安裝:

  1、安裝pip工具:sudo apt-get install python-pip

  2、安裝pydub:sudo pip install pydub

  3、pydub依賴於ffmpeg,所以還需要安裝ffmpeg,由於Ubunbtu14.04官方源移除了ffmpeg,因此通過ppa源安裝:

 sudo apt-add-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg

使用:

AudioSegment方法能夠將一個音頻檔案開啟成AudioSegment樣本,並使用各種方法處理音頻,使用前先調用from pydub import AudioSegment

開啟音頻:

sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav") //預設mp3格式sound2 = AudioSegment.from_file("/path/to/another_sound.mp3", format="mp3")等價於sound1 = AudioSegment.from_mp3("/path/to/sound.mp3")

音量處理:

louder = sound1 + 6 //sound1 聲音提高6dBquieter = sound1 - 6 //sound1 聲音降低6dBcombined = sound1 + sound2  //sound1 和sound2疊加duration_in_milliseconds = len(sound1)  //擷取sound的時間長度beginning = sound1[:5000] //擷取sound1的前5秒音頻資料end = sound1[-5000:]  //擷取sound1的後5秒音頻資料

注意:

1、對於多個音訊計算,需要多個音頻之間的通道數、幀數、採樣率以及位元數都一樣,否則低品質的音頻會向高品質的轉換,單聲道會向立體聲轉換,低幀數向高幀數轉換。

2、AudioSegment原生就支援wav和raw,如果其他檔案需要安裝ffmpeg。raw還需要,sample_width,frame_rate,channels三個參數。

組建檔案:

export()方法可以使一個AudioSegment對象轉化成一個檔案。

sound = AudioSegment.from_file("/path/to/sound.wav", format="wav") file_handle = sound.export("/path/to/output.mp3", format="mp3")  //簡單輸出file_handle = sound.export("/path/to/output.mp3",        format="mp3",       bitrate="192k",       tags={"album": "The Bends", "artist": "Radiohead"})   //複雜輸出

AudioSegment.empty():

AudioSegment.empty()用於產生一個長度為0的AudioSegment對象,一般用於多個音訊合并。

sounds = [ AudioSegment.from_wav("sound1.wav"),  AudioSegment.from_wav("sound2.wav"),  AudioSegment.from_wav("sound3.wav"), ]playlist = AudioSegment.empty()for sound in sounds: playlist += sound

AudioSegment.silent():

ten_second_silence = AudioSegment.silent(duration=10000) //產生一個期間為10s的無聲AudioSegment對象

擷取參數:

此外,還能通過AudioSegment擷取音訊參數,同時還能修改原始參數。

具體詳見:https://github.com/jiaaro/pydub/blob/master/API.markdown

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流,謝謝大家對幫客之家的支援。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.