Command-Line

更慢或更快地播放聲音文件

  • July 2, 2019

您如何才能更慢或更快地播放聲音?這對於仔細聆聽一段音頻段落或快進聆聽以找到具體段落很有用。

play sox 命令有什麼可以做到這一點的嗎?也歡迎替代簡單的解決方案。

我使用的是 ffplay 命令(ffmpeg 的姐妹)。有兩種方法可以改變演奏速度:節奏和音高。前者插入或跳過幀(這聽起來像是音樂中的“故障”)但保持聲音的音調完整;後者使比賽更順暢,但會影響球場。

以下是調整速度的範例:

# 20% increase, atrim — start to play from 120-th second of the file
$ ffplay -af "atempo=1.2,atrim=120" foo.mp3 

以下是調整音高的範例(foo.mp3速率為 44000):

# 54000/44000 ~+24% pitch up
$ ffplay -af "asetrate=54000" foo.mp3 

ffplay 是一個非常強大的工具;在手冊頁中查看更多資訊。

使用 sox / play

play file.wav   tempo 2    ##to play 2 times faster
play file.wav   tempo 0.5  ## ""             slower

引用自:https://unix.stackexchange.com/questions/131143