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:

  1. Reproduzindo arquivo de áudio.
  2. Podemos obter certas informações de arquivo, como canais de comprimento.
  3. Aumentar / diminuir o volume de determinado arquivo .wav.
  4. Mesclando dois ou mais arquivos de áudio.
  5. Exportando um arquivo de áudio.
  6. 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"
print(type(wav_file))  
  
print(wav_file.frame_rate)    
  
print(wav_file.channels)  
  
print(wav_file.sample_width )  
  
  
print(wav_file.max) 
  
print(len(wav_file)) 
  
wav_file_new = wav_file.set_frame_rate(50
print(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()  
print(b)  
print(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