2
respostas

[Dúvida] [Dúvida] Erro na transcrição do Whisper

Olá,
Primeiro gostaria de saber se a transcrição pelo Whisper funciona apenas para áudios, porque tentei subir um vídeo e ele não reconheceu.

Já sobre o áudio, deu o seguinte erro e não transcreveu:

1.42G/1.42G [00:19<00:00, 78.5MiB/s]
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/dist-packages/whisper/audio.py", line 58, in load_audio
    out = run(cmd, capture_output=True, check=True).stdout
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ffmpeg', '-nostdin', '-threads', '0', '-i', 'Ana Luisa', '-f', 's16le', '-ac', '1', '-acodec', 'pcm_s16le', '-ar', '16000', '-']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/dist-packages/whisper/transcribe.py", line 615, in cli
    result = transcribe(model, audio_path, temperature=temperature, **args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/whisper/transcribe.py", line 139, in transcribe
    mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/whisper/audio.py", line 140, in log_mel_spectrogram
    audio = load_audio(audio)
            ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/whisper/audio.py", line 60, in load_audio
    raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
RuntimeError: Failed to load audio: ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Ana Luisa: No such file or directory

[...continua]

2 respostas

[...continuação do erro]

Skipping Ana Luisa due to RuntimeError: Failed to load audio: ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-

libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared

  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Ana Luisa: No such file or directory

Olá Aline, tudo bem?

O Whisper, na verdade, pode transcrever tanto áudios quanto vídeos. Mas, o erro que você encontrou Ana Luisa:No such file or directory está relacionado ao caminho ou nome do arquivo que você está tentando transcrever.

Destaco que no comando:

!whisper "inserir_o_nome.inserir_tipo_arquivo" --model medium

você deve alterar inserir_o_nome.inserir_tipo_arquivo pelo nome e tipo do seu arquivo. Abaixo deixo um exemplo em print:

  1. Verifique se o arquivo está carregado (às vezes o Colab se desconecta e é preciso fazer o upload novamente).
    Print do Google Colab mostrando a pasta de arquivos. O arquivo 'Gravando.m4a' está destacado em vermelho na lista, ao lado de outros arquivos como Gravando.json e Gravando.srt.

  2. Recomendo que você copie o caminho, para evitar erros de arquivo não encontrado. Clique com o botão direito no arquivo e escolha “Copiar caminho”.

    Menu de contexto do Google Colab aberto ao clicar com o botão direito em um arquivo. A opção 'Copiar caminho' está destacada em vermelho, com uma seta vermelha apontando para ela.

  3. Cole esse caminho no comando !whisper ... e execute a célula.

    Célula do Google Colab executando o comando !whisper "/content/Gravando.m4a" --model medium. Abaixo, aparecem as primeiras linhas da transcrição automática em português, com marcações de tempo e trechos do texto reconhecido.

Também testei com vídeo (.mp4) e funcionou:

Tela do Google Colab mostrando a pasta de arquivos. O vídeo 'Radiohead - Creep.mp4' está destacado em vermelho na lista. Ao lado, uma célula de código executa o comando !whisper "/content/Radiohead - Creep.mp4" --model medium, exibindo a transcrição automática em inglês com marcações de tempo e trechos da música.

Apenas garanta que:

  • o arquivo esteja no formato compatível,

  • e que o caminho copiado esteja correto.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!