Gestire diversi tipi di audio

Elaborazione del linguaggio parlato in Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Quale lingua?

# Crea una classe Recognizer
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 una classe Recognizer
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 parlato

# 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 parlato

# 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ù parlanti

# Importa un file audio con più parlanti
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)
one of the limitations of the speech recognition library is that it doesn't
recognise different speakers and voices it will just return it all as one block 
of text
Elaborazione del linguaggio parlato in Python

Più parlanti

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

# Trascrivi ogni parlante singolarmente for i, speaker in enumerate(speakers): with speaker as source: speaker_audio = recognizer.record(source) print(f"Text from speaker {i}: {recognizer.recognize_google(speaker_audio)}")
Text from speaker 0: one of the limitations of the speech recognition library
Text from speaker 1: is that it doesn't recognise different speakers and voices
Text from speaker 2: it will just return it all as one block a text
Elaborazione del linguaggio parlato in Python

Audio rumoroso

  • Se fai fatica a capire il parlato, anche le API avranno difficoltà
# Importa un file audio con rumore di fondo
noisy_support_call = sr.AudioFile("noisy_support_call.wav")

with noisy_support_call as source: # Compensa 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)
hello ID like to get some help setting up my calories
Elaborazione del linguaggio parlato in Python

Esercitiamoci!

Elaborazione del linguaggio parlato in Python

Preparing Video For Download...