Technology
Arquivos de Áudio Locais Usando Node.js para Transcrição
Author
Bruno Caldeira
10 de mai. de 2023
Arquivos de Áudio Locais Usando Node.js para Transcrição
Node.js é amplamente utilizado para desenvolver aplicações rápidas e escaláveis, e um de seus usos crescentes está no processamento de arquivos de áudio locais para transcrição. Isso é particularmente útil em aplicações como assistentes virtuais, análise de áudio, ou até mesmo para criar legendas automáticas. Neste artigo, vamos explorar como configurar um ambiente para processar arquivos de áudio locais e transcrevê-los usando Node.js.
Pré-requisitos
Antes de começarmos, você precisará:
Node.js instalado em sua máquina (recomenda-se a versão LTS mais recente).
Um arquivo de áudio local no formato MP3, WAV ou outro suportado.
Uma API ou biblioteca de transcrição (como a Google Cloud Speech-to-Text, Whisper API da OpenAI ou SpeechRecognition da IBM Watson).
Passo 1: Configurar o Ambiente
Primeiro, inicialize um novo projeto Node.js:
mkdir transcricao-audio cd transcricao-audio npm init -y
Instale as dependências necessárias:
FFmpeg: Para manipulação de arquivos de áudio (pode ser instalado no sistema via terminal).
Bibliotecas Node.js: Por exemplo,
@google-cloud/speech
,fluent-ffmpeg
ouwhisper
(dependendo da API escolhida).
Exemplo com Google Cloud Speech-to-Text:
npm
Passo 2: Pré-processar o Áudio
Se o arquivo de áudio não estiver no formato ideal (como WAV ou MP3 com configurações específicas), é necessário convertê-lo. O FFmpeg pode ajudar aqui:
const ffmpeg = require('fluent-ffmpeg'); function convertAudio(inputPath, outputPath) { return new Promise((resolve, reject) => { ffmpeg(inputPath) .output(outputPath) .toFormat('wav') .on('end', () => resolve(outputPath)) .on('error', reject) .run(); }); }
Passo 3: Configurar a API de Transcrição
Exemplo com Google Cloud Speech-to-Text:
Configure o Google Cloud SDK e crie um projeto habilitado para Speech-to-Text.
Baixe a chave de autenticação JSON e configure a variável de ambiente:
export GOOGLE_APPLICATION_CREDENTIALS="path/to/your-key.json"
Implemente a transcrição:
const speech = require('@google-cloud/speech'); const fs = require('fs'); async function transcribeAudio(audioPath) { const client = new speech.SpeechClient(); const audioBytes = fs.readFileSync(audioPath).toString('base64'); const request = { audio: { content: audioBytes }, config: { encoding: 'LINEAR16', sampleRateHertz: 16000, languageCode: 'pt-BR', }, }; const [response] = await client.recognize(request); const transcription = response.results .map(result => result.alternatives[0].transcript) .join('\n'); console.log(`Transcrição: ${transcription}`); }
Passo 4: Executar o Script
Certifique-se de que o arquivo de áudio esteja no diretório correto.
Execute o script:
node
Se o áudio for convertido corretamente e a API estiver configurada, você verá a transcrição no console.
Passo 5: Alternativas Open Source
Se preferir uma abordagem local e gratuita, você pode usar ferramentas como o Whisper da OpenAI:
Instale o Whisper CLI.
Chame o modelo a partir do seu script Node.js para transcrição direta, reduzindo dependência de APIs externas.
Dicas Finais
Formato de Áudio: Use sempre arquivos de áudio de alta qualidade para melhorar a precisão da transcrição.
Idiomas e Dialetos: Certifique-se de que a API ou modelo escolhido suporte o idioma desejado.
Custo e Limitações: APIs como Google e IBM têm custos associados após um limite gratuito; considere isso ao planejar sua solução.
Sign up to our newsletter
Subscribe
Subscribe