產生音訊檔案的波形影像?

產生音訊檔案的波形影像?

gst-launch使用其中任何一種的正確水槽鍊是什麼視聽器

還有其他有效的工具嗎?

我見過http://rg42.org/wiki/sndfile-waveform

但在嘗試編譯它之前,也許有一種方法可以使用 gstreamer 來完成它?或任何可以確認它可以正常編譯的人。

答案1

您不能使用 Gstreamer 視聽器,因為它們都只是為類似範圍的渲染器(即視訊接收器,例如 ximagesink)建立一個框架

讓我們/usr/share/sounds/ubuntu/stereo/bell.ogg以 為範例文件。

如果我以 audacity 開啟此文件,我可以看到波形預覽:

在此輸入影像描述

但如果我使用以下管道:

gst-launch filesrc location=/usr/share/sounds/ubuntu/stereo/bell.ogg ! decodebin ! audioconvert ! wavescope ! jpegenc ! filesink location=waveform.jpg

我只得到與文件的第一個樣本相對應的截斷波形:

在此輸入影像描述

sndfile-波形正如您所猜測的,這是完成此任務的完美工具,但需要從原始程式碼建置(不過它將安裝約 200MB 的依賴項):

  1. 安裝所有依賴項

    sudo apt-get build-dep sndfile-tools 
    sudo apt-get install octave-signal libsamplerate0-dev git
    
  2. 複製sndfile工具回購協議

    git clone https://github.com/erikd/sndfile-tools.git
    
  3. 建置 sndfile-tools 二進位檔案:

    cd sndfile-tools/
    ./autogen.sh 
    ./configure 
    make
    
  4. 建立波形sndfile-waveform(預設通道為0,可使用選項變更--channel

    ./bin/sndfile-waveform /usr/share/sounds/ubuntu/stereo/desktop-login.ogg waveform.png
    

    結果png檔:

在此輸入影像描述

大膽地使用相同的文件:

在此輸入影像描述

相關內容