Gestire tipi diversi di audio

Elaborazione del linguaggio parlato in Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Quale lingua?

# Crea un riconoscitore
recognizer = sr.Recognizer()

# Passa l'audio giapponese a recognize_google text = recognizer.recognize_google(japanese_good_morning, language="en-US")
# Stampa il testo print(text)
Ohio gozaimasu
Elaborazione del linguaggio parlato in Python

Quale lingua?

# Crea un riconoscitore
recognizer = sr.Recognizer()

# Passa l'audio giapponese a recognize_google text = recognizer.recognize_google(japanese_good_morning, language="ja")
# Stampa il testo print(text)
おはようございます
Elaborazione del linguaggio parlato in Python

Audio non vocale

# Importa il file audio del ruggito del leopardo
leopard_roar = sr.AudioFile("leopard_roar.wav")

# Converti AudioFile in AudioData with leopard_roar as source: leopard_roar_audio = recognizer.record(source)
# Riconosci l'AudioData recognizer.recognize_google(leopard_roar_audio)
UnknownValueError:
Elaborazione del linguaggio parlato in Python

Audio non vocale

# Importa il file audio del ruggito del leopardo
leopard_roar = sr.AudioFile("leopard_roar.wav")

# Converti AudioFile in AudioData with leopard_roar as source: leopard_roar_audio = recognizer.record(source)
# Riconosci l'AudioData con show_all attivo recognizer.recognize_google(leopard_roar_audio, show_all=True)
[]
Elaborazione del linguaggio parlato in Python

Mostrare tutto

# Riconoscere audio giapponese con show_all=True
text = recognizer.recognize_google(japanese_good_morning, 
                                   language="en-US",
                                   show_all=True)
# Stampa il testo
print(text)
{'alternative': [{'transcript': 'Ohio gozaimasu', 'confidence': 0.89041114},
  {'transcript': 'all hail gozaimasu'},
  {'transcript': 'ohayo gozaimasu'},
  {'transcript': 'olho gozaimasu'},
  {'transcript': 'all Hale gozaimasu'}],
 'final': True}
Elaborazione del linguaggio parlato in Python

Più speaker

# Importa un file audio con più speaker
multiple_speakers = sr.AudioFile("multiple-speakers.wav")

# Converti AudioFile in AudioData with multiple_speakers as source: multiple_speakers_audio = recognizer.record(source)
# Riconosci l'AudioData recognizer.recognize_google(multiple_speakers_audio)
uno dei limiti della libreria di riconoscimento vocale è che non
riconosce speaker e voci diverse: restituisce tutto in un unico blocco
di testo
Elaborazione del linguaggio parlato in Python

Più speaker

# Importa i file audio separatamente
speakers = [sr.AudioFile("s0.wav"), sr.AudioFile("s1.wav"), sr.AudioFile("s2.wav")]

# Trascrivi ogni speaker singolarmente for i, speaker in enumerate(speakers): with speaker as source: speaker_audio = recognizer.record(source) print(f"Testo dallo speaker {i}: {recognizer.recognize_google(speaker_audio)}")
Testo dallo speaker 0: uno dei limiti della libreria di riconoscimento vocale
Testo dallo speaker 1: è che non riconosce speaker e voci diverse
Testo dallo speaker 2: restituisce tutto in un unico blocco di testo
Elaborazione del linguaggio parlato in Python

Audio rumoroso

  • Se fai fatica a capire l'audio, anche le API avranno problemi
# Importa un file audio con rumore di fondo
noisy_support_call = sr.AudioFile(noisy_support_call.wav)

with noisy_support_call as source: # Regola per il rumore ambientale e registra recognizer.adjust_for_ambient_noise(source, duration=0.5) noisy_support_call_audio = recognizer.record(source)
# Riconosci l'audio recognizer.recognize_google(noisy_support_call_audio)
ciao vorrei un aiuto per impostare le mie calorie
Elaborazione del linguaggio parlato in Python

Vamos praticar!

Elaborazione del linguaggio parlato in Python

Preparing Video For Download...