Divisione di audio stereo in mono con PyDub
Se stai cercando di trascrivere chiamate telefoniche, è possibile che siano state registrate in formato stereo, con un interlocutore per ciascun canale.
Come hai visto, è difficile trascrivere un file audio con più di un parlante. Una soluzione è dividere il file audio con più voci in singoli file, ognuno con un solo parlante.
La funzione split_to_mono() di PyDub può aiutarti in questo. Quando viene chiamata su un AudioSegment registrato in stereo, restituisce un elenco di due AudioSegment separati in formato mono, uno per ciascun canale.
In questo esercizio, farai pratica dividendo questa registrazione telefonica stereo (stereo_phone_call.wav) nel canale 1 e nel canale 2. In questo modo separi i due parlanti, facilitando la trascrizione.
Questo esercizio fa parte del corso
Elaborazione del linguaggio parlato in Python
Istruzioni dell'esercizio
- Importa
AudioSegmentdapydub. - Crea un'istanza di
AudioSegmentstereo_phone_callconstereo_phone_call.wav. - Dividi
stereo_phone_callinchannelsusandosplit_to_mono()e verifica i canali dell'output risultante. - Salva ciascun canale in nuove variabili,
phone_call_channel_1ephone_call_channel_2.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Import AudioSegment
from ____ import ____
# Import stereo audio file and check channels
stereo_phone_call = AudioSegment.from_file(____)
print(f"Stereo number channels: {stereo_phone_call.channels}")
# Split stereo phone call and check channels
channels = stereo_phone_call.____
print(f"Split number channels: {channels[0].____}, {channels[1].____}")
# Save new channels separately
phone_call_channel_1 = channels[0]
phone_call_channel_2 = ____