Gerar imagem de forma de onda para arquivo de áudio?

Gerar imagem de forma de onda para arquivo de áudio?

Qual é a gst-launchcorrente de pia adequada para usar qualquer um dosaudiovisuais?

Alguma outra ferramenta que esteja funcionando?

Eu vi ohttp://rg42.org/wiki/sndfile-waveform

Mas antes de tentar compilá-lo, talvez haja uma maneira de fazer isso com o gstreamer? Ou qualquer pessoa que possa confirmar que irá compilar bem.

Responder1

Você não pode usar os audiovisualizadores Gstreamer, pois todos eles estão apenas criando um quadro para um renderizador semelhante a um escopo (ou seja, um coletor de vídeo, como ximagesink)

Vamos considerar o /usr/share/sounds/ubuntu/stereo/bell.oggarquivo como exemplo.

Se eu abrir este arquivo no audacity, posso ver uma prévia da forma de onda:

insira a descrição da imagem aqui

Mas se eu usar o seguinte pipeline:

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

Recebo apenas uma forma de onda truncada correspondente às primeiras amostras do meu arquivo:

insira a descrição da imagem aqui

forma de onda sndfileé como você pode imaginar, a ferramenta perfeita para esta tarefa, mas requer ser construída a partir do código-fonte (embora ela instale aproximadamente 200 MB de dependências):

  1. Instale todas as dependências

    sudo apt-get build-dep sndfile-tools 
    sudo apt-get install octave-signal libsamplerate0-dev git
    
  2. Clonar oferramentas sndfilerepositório

    git clone https://github.com/erikd/sndfile-tools.git
    
  3. Crie binários do sndfile-tools:

    cd sndfile-tools/
    ./autogen.sh 
    ./configure 
    make
    
  4. Crie uma forma de onda com sndfile-waveform(o canal padrão é 0, pode ser alterado com a --channelopção)

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

    O arquivo png do resultado:

insira a descrição da imagem aqui

O mesmo arquivo no audacity:

insira a descrição da imagem aqui

informação relacionada