Introduzione a PyDub

Elaborazione del linguaggio parlato in Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Installare PyDub

$ pip install pydub
  • Se usi file diversi da .wav, installa ffmpeg da ffmpeg.org
Elaborazione del linguaggio parlato in Python

La classe principale di PyDub: AudioSegment

# Importa la classe principale di PyDub
from pydub import AudioSegment
# Importa un file audio
wav_file = AudioSegment.from_file(file="wav_file.wav", format="wav")
# Il parametro format serve solo a leggibilità
wav_file = AudioSegment.from_file(file="wav_file.wav")
type(wav_file)
pydub.audio_segment.AudioSegment
Elaborazione del linguaggio parlato in Python

Riprodurre un file audio

# Installa simpleaudio per riprodurre wav
$pip install simpleaudio
# Importa la funzione play
from pydub.playback import play
# Importa il file audio
wav_file = AudioSegment.from_file(file="wav_file.wav")

# Riproduci il file audio
play(wav_file)
Elaborazione del linguaggio parlato in Python

Parametri audio

# Importa i file audio
wav_file = AudioSegment.from_file(file="wav_file.wav")
two_speakers = AudioSegment.from_file(file="two_speakers.wav")

# Verifica il numero di canali wav_file.channels, two_speakers.channels
1, 2
wav_file.frame_rate
480000
Elaborazione del linguaggio parlato in Python

Parametri audio

# Numero di byte per campione
wav_file.sample_width
2
# Ampiezza massima
wav_file.max
8488
Elaborazione del linguaggio parlato in Python

Parametri audio

# Durata del file audio in millisecondi
len(wav_file)
3284
Elaborazione del linguaggio parlato in Python

Modificare i parametri audio

# Imposta ATTRIBUTENAME di AudioSegment a x
changed_audio_segment = audio_segment.set_ATTRIBUTENAME(x)
# Imposta ampiezza del campione a 1
wav_file_width_1 = wav_file.set_sample_width(1)
wav_file_width_1.sample_width
1
Elaborazione del linguaggio parlato in Python

Modificare i parametri audio

# Cambia sample rate
wav_file_16k = wav_file.set_frame_rate(16000)
wav_file_16k.frame_rate
16000
# Cambia numero di canali
wav_file_1_channel = wav_file.set_channels(1)
wav_file_1_channel.channels
1
Elaborazione del linguaggio parlato in Python

Esercitiamoci!

Elaborazione del linguaggio parlato in Python

Preparing Video For Download...