改變聲音速度
這篇文章會介紹使用 Python 的 pydub 第三方函式庫,改變聲音播放的速度。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
安裝 pydub 函式庫
輸入下列指令,就能安裝 pydub 函式庫 ( 依據每個人的作業環境不同,可使用 pip 或 pip3 或 pipenv )。
!pip install pydub
如果是使用 Anaconda 的環境,要額外輸入下列指令安裝 ffmpeg 和 ffprobe,不然執行後會發生找不到 ffprobe 的錯誤訊息 ( 使用 Colab 完全不用安裝額外套件 )。
conda install ffmpeg
!pip install ffprobe
改變聲音播放速度
參考「How to change audio playback speed using Pydub」的做法,定義聲音加速和減速的函式,就能將改變聲音檔案的速度。
音樂來源使用 Google 音樂庫:https://www.youtube.com/audiolibrary
import os
os.chdir('/content/drive/MyDrive/Colab Notebooks') # Colab 換路徑使用
from pydub import AudioSegment
song = AudioSegment.from_mp3("test.mp3") # 讀取聲音檔案
# 定義加速與減速的函式
def speed_change(sound, speed=1.0):
rate = sound._spawn(sound.raw_data, overrides={
"frame_rate": int(sound.frame_rate * speed)
})
return rate.set_frame_rate(sound.frame_rate)
song_slow = speed_change(song, 0.75) # 聲音減速
song_fast = speed_change(song, 2.0) # 聲音加速
song_slow.export('song_slow.mp3')
song_fast.export('song_fast.mp3')
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~