为音频文件生成波形图像?

为音频文件生成波形图像?

哪种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 文件:

在此处输入图片描述

Audacity 中的同一个文件:

在此处输入图片描述

相关内容