Inizia subitoInizia gratis

Più interlocutori 2

Distinguere più interlocutori in un unico file audio si chiama diarizzazione degli interlocutori (speaker diarization). Tuttavia, hai visto che la funzione gratuita che stiamo usando, recognize_google(), non è in grado di trascrivere interlocutori diversi.

Un modo per aggirare il problema, senza usare uno dei servizi a pagamento di speech-to-text, è assicurarsi che i file audio abbiano un solo interlocutore.

Questo significa che, se stessi lavorando con dati di telefonate, dovresti fare in modo che chiamante e ricevente siano registrati separatamente. In questo modo potresti trascrivere ogni file individualmente.

In questo esercizio, trascriveremo separatamente ciascuno degli interlocutori presenti nel nostro file audio con più interlocutori.

Questo esercizio fa parte del corso

Elaborazione del linguaggio parlato in Python

Visualizza corso

Istruzioni dell'esercizio

  • Passa speakers alla funzione enumerate() per iterare tra i diversi interlocutori.
  • Chiama record() su recognizer per convertire gli AudioFile in AudioData.
  • Usa recognize_google() per trascrivere ognuno degli oggetti speaker_audio.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

recognizer = sr.Recognizer()

# Multiple speakers on different files
speakers = [sr.AudioFile("speaker_0.wav"), 
            sr.AudioFile("speaker_1.wav"), 
            sr.AudioFile("speaker_2.wav")]

# Transcribe each speaker individually
for i, speaker in enumerate(____):
    with speaker as source:
        speaker_audio = recognizer.____(source)
    print(f"Text from speaker {i}:")
    print(recognizer.____(____,
         				  language="en-US"))
Modifica ed esegui il codice