Crie um gravador de voz usando Python
Python pode ser usado para realizar uma variedade de tarefas. Um deles é a criação de um gravador de voz. Podemos usar o módulo de dispositivo de som do python para gravar e reproduzir áudio. Este módulo junto com o wavio ou o módulo scipy fornece a maneira de salvar o áudio gravado.
Instalação
- dispositivo de som: Este módulo fornece funções para reproduzir e gravar matrizes NumPy contendo sinais de áudio. Vamos instalá-lo executando o seguinte comando:
$ pip3 install sounddevice
- Podemos usar wavio e scipy para salvar o áudio gravado em formato de arquivo . Veremos os dois aqui.
- Para instalar o wavio:
$ pip3 instalar wavio
- Para instalar o scipy :
$ pip3 install scipy
Agora, concluímos a instalação dos módulos necessários. Então, vamos escrever o código.
Começando
Primeiro, importe as bibliotecas necessárias.
# importar bibliotecas necessárias importar dispositivo de som como SD from scipy.io.wavfile import write importar wavio como wv
Agora, antes de iniciar o gravador, temos que declarar algumas variáveis. O primeiro é a frequência de amostragem do áudio (na maioria dos casos, será de 44100 ou 48000 quadros por segundo) e o segundo é a duração da gravação. Temos que especificar a duração em segundos para que a gravação pare após essa duração.
Então, vamos declará-los também.
# Frequência de amostragem freq = 44100 # Duração da gravação duração = 5
Agora, estamos prontos para iniciar o gravador. Isso criará uma matriz NumPy do áudio gravado.
# Inicie o gravador com os valores fornecidos de # duração e frequência de amostra gravação = sd.rec (int (duração * freq), taxa de amostragem = freq, canais = 2) # Grava áudio pelo número determinado de segundos sd.wait()
Agora, terminamos a gravação do áudio. Então, vamos salvá-lo. Para salvar o arquivo de áudio, podemos usar o módulo scipy ou o módulo wavio . Vamos examiná-los um por um.
Usando Scipy:
Usaremos a função de gravação de scipy.io.wavfile para converter o array NumPy em um arquivo de áudio.
# Isso irá converter o array NumPy em um áudio # arquivo com a frequência de amostragem fornecida escrever ("gravação0.wav", freq, gravação)
Usando wavio:
Também podemos usar a função de escrita da biblioteca wavio .
# Converta a matriz NumPy em arquivo de áudio wv.write ("gravação1.wav", gravação, freq, largura samp = 2)
Código Completo:
import
sounddevice as sd
from
scipy.io.wavfile
import
write
import
wavio as wv
freq
=
44100
duration
=
5
recording
=
sd.rec(
int
(duration
*
freq),
samplerate
=
freq, channels
=
2
)
sd.wait()
write(
"recording0.wav"
, freq, recording)
wv.write(
"recording1.wav"
, recording, freq, sampwidth
=
2
)
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva