国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-16 01:38:48
字體:
供稿:網(wǎng)友

前言

pydub是Python中用戶處理音頻文件的一個庫。本文主要介紹了關(guān)于Python音頻處理庫pydub使用的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來看看詳細(xì)的介紹:

安裝:

  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方法能夠?qū)⒁粋€音頻文件打開成AudioSegment示例,并使用各種方法處理音頻,使用前先調(diào)用from pydub import AudioSegment

打開音頻:

sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav") //默認(rèn)mp3格式sound2 = AudioSegment.from_file("/path/to/another_sound.mp3", format="mp3")等價(jià)于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的時(shí)長beginning = sound1[:5000] //獲取sound1的前5秒音頻數(shù)據(jù)end = sound1[-5000:]  //獲取sound1的后5秒音頻數(shù)據(jù)

注意:

1、對于多個音頻的計(jì)算,需要多個音頻之間的通道數(shù)、幀數(shù)、采樣率以及比特?cái)?shù)都一樣,否則低質(zhì)量的音頻會向高質(zhì)量的轉(zhuǎn)換,單聲道會向立體聲轉(zhuǎn)換,低幀數(shù)向高幀數(shù)轉(zhuǎn)換。

2、AudioSegment原生就支持wav和raw,如果其他文件需要安裝ffmpeg。raw還需要,sample_width,frame_rate,channels三個參數(shù)。

生成文件:

export()方法可以使一個AudioSegment對象轉(zhuǎn)化成一個文件。

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"})   //復(fù)雜輸出

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) //產(chǎn)生一個持續(xù)時(shí)間為10s的無聲AudioSegment對象

獲取參數(shù):

此外,還能通過AudioSegment獲取音頻的參數(shù),同時(shí)還能修改原始參數(shù)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇阳县| 霍州市| 丰城市| 岳阳县| 荔浦县| 瓦房店市| 崇阳县| 建始县| 博客| 博乐市| 宽城| 长岭县| 朝阳市| 阿瓦提县| 伊通| 湖南省| 亳州市| 樟树市| 南皮县| 西充县| 景德镇市| 南雄市| 东丽区| 红河县| 紫金县| 信宜市| 彭泽县| 芮城县| 色达县| 子洲县| 东乡| 洪雅县| 文昌市| 娄底市| 新野县| 佛冈县| 宁化县| 台安县| 咸丰县| 晋宁县| 自贡市|