Trabalhar com arquivos wav em Python usando Pydub
Os arquivos de áudio são um meio comum de transferência de informações. Então, vamos ver como trabalhar com arquivos de áudio usando Python. Python fornece um módulo chamado pydub para trabalhar com arquivos de áudio. pydub é uma biblioteca Python para trabalhar apenas com arquivos .wav . Usando esta biblioteca, podemos reproduzir, dividir, mesclar, editar nosso . arquivos de áudio wav.
Instalação
Este módulo não vem embutido com Python. Para instalá-lo, digite o comando abaixo no terminal.
pip install pydub
A seguir estão algumas funcionalidades que podem ser executadas pelo pydub:
- Reproduzindo arquivo de áudio.
- Podemos obter certas informações de arquivo, como canais de comprimento.
- Aumentar / diminuir o volume de determinado arquivo .wav.
- Mesclando dois ou mais arquivos de áudio.
- Exportando um arquivo de áudio.
- Dividindo um arquivo de áudio.
Para acessar os arquivos de som de entrada, clique aqui. Vamos ver o código de algumas funcionalidades da biblioteca pydub:
1) Reproduzindo arquivo de áudio: Isso é feito usando o método play() .
from
pydub
import
AudioSegment
from
pydub.playback
import
play
wav_file
=
AudioSegment.from_file(
file
=
"Sample.wav"
,
format
=
"wav"
)
play(wav_file)
Resultado:
[se for IE 9]>2) Conhecer o arquivo .wav: para isso utilizaremos atributos do objeto arquivo de áudio.
from
pydub
import
AudioSegment
wav_file
=
AudioSegment.from_file(
file
=
"Sample.wav"
,
format
=
"wav"
)
(
type
(wav_file))
(wav_file.frame_rate)
(wav_file.channels)
(wav_file.sample_width )
(wav_file.
max
)
(
len
(wav_file))
wav_file_new
=
wav_file.set_frame_rate(
50
)
(wav_file_new.frame_rate)
Resultado:
<classe 'pydub.audio_segment.AudioSegment'> 22050 1 2 17106 60.000 50
3) Aumentando / Diminuindo o volume do arquivo: Usando o operador ' +' e ' -' .
import
pydub
from
pydub.playback
import
play
wav_file
=
pydub.AudioSegment.from_file(
file
=
"Sample.wav"
,
format
=
"wav"
)
new_wav_file
=
wav_file
+
10
silent_wav_file
=
wav_file
-
5
play(silent_wav_file)
play(wav_file)
play(new_wav_file)
Resultado:
4) Mesclar arquivos: Isso é feito usando o operador '+' .
from
pydub
import
AudioSegment
from
pydub.playback
import
play
wav_file_1
=
AudioSegment.from_file(
"noice.wav"
)
wav_file_2
=
AudioSegment.from_file(
"Sample.wav"
)
wav_file_3
=
wav_file_1
+
wav_file_2
play(wav_file_3)
Resultado:
5) Exportando arquivos: Isso é feito usando o método export() .
from
pydub
import
AudioSegment
wav_file
=
AudioSegment.from_file(
"Sample.wav"
)
louder_wav_file
=
wav_file
+
10
louder_wav_file.export(out_f
=
"louder_wav_file.wav"
,
format
=
"wav"
)
Resultado:
6) Dividindo o áudio: Dividindo o áudio usando o método split_to_mono() .
from
pydub
import
AudioSegment
from
pydub.playback
import
play
a
=
AudioSegment.from_file(
"pzm12.wav"
)
b
=
a.split_to_mono()
(b)
(b[
0
].channels )
b[
0
].export(out_f
=
"outNow.wav"
,
format
=
"wav"
)
Resultado:
[<objeto pydub.audio_segment.AudioSegment em 0x000001358727E860>, <objeto pydub.audio_segment.AudioSegment em 0x000001358721F978>] 1
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