改变声音速度
这篇文章会介绍使用 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')
微信扫码关注
抖音扫码关注