Guida introduttiva: Riconoscere e convertire la voce in testo

Pacchetto della documentazione di riferimento | (NuGet) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Speech SDK è disponibile come pacchetto NuGet e implementa .NET Standard 2.0. Speech SDK verrà installato più avanti in questa guida. Per altri requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per creare un'applicazione console e installare Speech SDK.

  1. Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Eseguire questo comando per creare un'applicazione console con l'interfaccia della riga di comando di .NET.

    dotnet new console
    

    Questo comando crea il file Program.cs nella directory del progetto.

  2. Installare Speech SDK nel nuovo progetto con l'interfaccia della riga di comando di .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Sostituire il contenuto di Program.cs con il codice seguente:

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    
    class Program 
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult)
        {
            switch (speechRecognitionResult.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}");
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(speechRecognitionResult);
                    Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
    
                    if (cancellation.Reason == CancellationReason.Error)
                    {
                        Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
                        Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
                        Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);        
            speechConfig.SpeechRecognitionLanguage = "en-US";
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(speechRecognitionResult);
        }
    }
    
  4. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  5. Eseguire la nuova applicazione console per avviare il riconoscimento vocale da un microfono:

    dotnet run
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Parla al microfono quando richiesto. Quello che si parla dovrebbe apparire come testo:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Osservazioni:

Ecco alcune altre considerazioni:

  • In questo esempio viene usata l'operazione RecognizeOnceAsync per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

  • Per riconoscere la voce da un file audio, usare FromWavFileInput invece di FromDefaultMicrophoneInput:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Per i file audio compressi, ad esempio MP4, installare GStreamer e usare PullAudioInputStream o PushAudioInputStream. Per altre informazioni, vedere Come usare l'audio di input compresso.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (NuGet) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Speech SDK è disponibile come pacchetto NuGet e implementa .NET Standard 2.0. Speech SDK verrà installato più avanti in questa guida. Per altri requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per creare un'applicazione console e installare Speech SDK.

  1. Creare un nuovo progetto console C++ in Visual Studio Community denominato SpeechRecognition.

  2. Selezionare Strumenti>nuget Gestione pacchetti> Gestione pacchetti Console. Nella console di Gestione pacchetti eseguire questo comando:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Sostituire il contenuto di SpeechRecognition.cpp con il codice seguente:

    #include <iostream> 
    #include <stdlib.h>
    #include <speechapi_cxx.h>
    
    using namespace Microsoft::CognitiveServices::Speech;
    using namespace Microsoft::CognitiveServices::Speech::Audio;
    
    std::string GetEnvironmentVariable(const char* name);
    
    int main()
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        speechConfig->SetSpeechRecognitionLanguage("en-US");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = speechRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::RecognizedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << std::endl;
        }
        else if (result->Reason == ResultReason::NoMatch)
        {
            std::cout << "NOMATCH: Speech could not be recognized." << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = CancellationDetails::FromResult(result);
            std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;
    
            if (cancellation->Reason == CancellationReason::Error)
            {
                std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl;
                std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl;
                std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl;
            }
        }
    }
    
    std::string GetEnvironmentVariable(const char* name)
    {
    #if defined(_MSC_VER)
        size_t requiredSize = 0;
        (void)getenv_s(&requiredSize, nullptr, 0, name);
        if (requiredSize == 0)
        {
            return "";
        }
        auto buffer = std::make_unique<char[]>(requiredSize);
        (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name);
        return buffer.get();
    #else
        auto value = getenv(name);
        return value ? value : "";
    #endif
    }
    
  4. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  5. Compilare ed eseguire la nuova applicazione console per avviare il riconoscimento vocale da un microfono.

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Parla al microfono quando richiesto. Quello che si parla dovrebbe apparire come testo:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Osservazioni:

Ecco alcune altre considerazioni:

  • In questo esempio viene usata l'operazione RecognizeOnceAsync per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

  • Per riconoscere la voce da un file audio, usare FromWavFileInput invece di FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Per i file audio compressi, ad esempio MP4, installare GStreamer e usare PullAudioInputStream o PushAudioInputStream. Per altre informazioni, vedere Come usare l'audio di input compresso.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (Go) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Installare Speech SDK per Go. Per i requisiti e le istruzioni, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per creare un modulo GO.

  1. Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un nuovo file denominato speech-recognition.go.

  2. Copiare il codice seguente in speech-recognition.go:

    package main
    
    import (
        "bufio"
        "fmt"
        "os"
    
        "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func sessionStartedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Started (ID=", event.SessionID, ")")
    }
    
    func sessionStoppedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Stopped (ID=", event.SessionID, ")")
    }
    
    func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognizing:", event.Result.Text)
    }
    
    func recognizedHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognized:", event.Result.Text)
    }
    
    func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) {
        defer event.Close()
        fmt.Println("Received a cancellation: ", event.ErrorDetails)
        fmt.Println("Did you set the speech resource key and region values?")
    }
    
    func main() {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speechKey :=  os.Getenv("SPEECH_KEY")
        speechRegion := os.Getenv("SPEECH_REGION")
    
        audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput()
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer audioConfig.Close()
        speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechConfig.Close()
        speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechRecognizer.Close()
        speechRecognizer.SessionStarted(sessionStartedHandler)
        speechRecognizer.SessionStopped(sessionStoppedHandler)
        speechRecognizer.Recognizing(recognizingHandler)
        speechRecognizer.Recognized(recognizedHandler)
        speechRecognizer.Canceled(cancelledHandler)
        speechRecognizer.StartContinuousRecognitionAsync()
        defer speechRecognizer.StopContinuousRecognitionAsync()
        bufio.NewReader(os.Stdin).ReadBytes('\n')
    }
    
  3. Eseguire i comandi seguenti per creare un file go.mod che collega i componenti ospitati in GitHub:

    go mod init speech-recognition
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  4. Compilare ed eseguire il codice:

    go build
    go run speech-recognition
    

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Documentazione di riferimento | Esempi aggiuntivi su GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Per configurare l'ambiente, installare Speech SDK. L'esempio in questa guida introduttiva funziona con Java Runtime.

  1. Installare Apache Maven. mvn -v Eseguire quindi per confermare l'installazione corretta.

  2. Creare un nuovo pom.xml file nella radice del progetto e copiarne il codice seguente:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.35.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installare Speech SDK e le dipendenze.

    mvn clean dependency:copy-dependencies
    

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per creare un'applicazione console per il riconoscimento vocale.

  1. Creare un nuovo file denominato SpeechRecognition.java nella stessa directory radice del progetto.

  2. Copiare il codice seguente in SpeechRecognition.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    
    public class SpeechRecognition {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
            speechConfig.setSpeechRecognitionLanguage("en-US");
            recognizeFromMicrophone(speechConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
            SpeechRecognitionResult speechRecognitionResult = task.get();
    
            if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText());
            }
            else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (speechRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());
    
                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you set the speech resource key and region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  4. Eseguire la nuova applicazione console per avviare il riconoscimento vocale da un microfono:

    javac SpeechRecognition.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" SpeechRecognition
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  5. Parla al microfono quando richiesto. Quello che si parla dovrebbe apparire come testo:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Osservazioni:

Ecco alcune altre considerazioni:

  • In questo esempio viene usata l'operazione RecognizeOnceAsync per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

  • Per riconoscere la voce da un file audio, usare fromWavFileInput invece di fromDefaultMicrophoneInput:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Per i file audio compressi, ad esempio MP4, installare GStreamer e usare PullAudioInputStream o PushAudioInputStream. Per altre informazioni, vedere Come usare l'audio di input compresso.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (npm) | Esempi aggiuntivi nel codice sorgente della libreria GitHub |

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

È anche necessario un file audio .wav nel computer locale. È possibile usare il proprio file .wav (fino a 30 secondi) o scaricare il https://crbn.us/whatstheweatherlike.wav file di esempio.

Configurare l'ambiente

Per configurare l'ambiente, installare Speech SDK per JavaScript. Eseguire questo comando: npm install microsoft-cognitiveservices-speech-sdk. Per istruzioni di installazione guidata, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un file

Seguire questa procedura per creare un'applicazione console Node.js per il riconoscimento vocale.

  1. Aprire una finestra del prompt dei comandi in cui si desidera il nuovo progetto e creare un nuovo file denominato SpeechRecognition.js.

  2. Installare Speech SDK per JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copiare il codice seguente in SpeechRecognition.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    break;
                case sdk.ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case sdk.ResultReason.Canceled:
                    const cancellation = sdk.CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason == sdk.CancellationReason.Error) {
                        console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
                        console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`);
                        console.log("CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
            speechRecognizer.close();
        });
    }
    fromFile();
    
  4. In SpeechRecognition.js sostituire YourAudioFile.wav con il proprio file di .wav . Questo esempio riconosce solo il riconoscimento vocale da un file di .wav . Per informazioni su altri formati audio, vedere Come usare l'audio di input compresso. Questo esempio supporta fino a 30 secondi di audio.

  5. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  6. Eseguire la nuova applicazione console per avviare il riconoscimento vocale da un file:

    node.exe SpeechRecognition.js
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

    Il riconoscimento vocale del file audio deve essere restituito come testo:

    RECOGNIZED: Text=I'm excited to try speech to text.
    

Osservazioni:

In questo esempio viene usata l'operazione recognizeOnceAsync per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

Nota

Il riconoscimento vocale da un microfono non è supportato in Node.js. È supportato solo in un ambiente JavaScript basato su browser. Per altre informazioni, vedere l'esempio React e l'implementazione del riconoscimento vocale da un microfono in GitHub.

L'esempio React mostra i modelli di progettazione per lo scambio e la gestione dei token di autenticazione. Mostra anche l'acquisizione dell'audio da un microfono o da un file per le conversioni vocali in testo.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (download) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Speech SDK per Objective-C viene distribuito come bundle del framework. Il framework supporta sia Objective-C che Swift sia in iOS che in macOS.

Speech SDK può essere usato nei progetti Xcode come CocoaPod o scaricato direttamente e collegato manualmente. Questa guida usa CocoaPod. Installare il gestore di dipendenze di CocoaPod come descritto in queste istruzioni per l'installazione.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per riconoscere la voce in un'applicazione macOS.

  1. Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere il riconoscimento vocale da un microfono nel progetto di esempio Objective-C in macOS . Il repository include anche esempi di iOS.

  2. In una finestra della console passare alla directory dell'app di esempio scaricata, helloworld.

  3. Eseguire il comando pod install. Verrà generata un'area di lavoro Xcode helloworld.xcworkspace contenente l'app di esempio e Speech SDK come dipendenza.

  4. Aprire l'area di lavoro helloworld.xcworkspace in Xcode.

  5. Aprire il file denominato AppDelegate.m e individuare il buttonPressed metodo come illustrato di seguito.

    - (void)buttonPressed:(NSButton *)button {
        // Creates an instance of a speech config with specified subscription key and service region.
        NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
        NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
        SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithMicrophone:nil];
        SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
        SPXSpeechRecognizer *speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:@"en-US" audioConfiguration:audioConfig];
    
        NSLog(@"Speak into your microphone.");
    
        SPXSpeechRecognitionResult *speechResult = [speechRecognizer recognizeOnce];
    
        // Checks result.
        if (SPXResultReason_Canceled == speechResult.reason) {
            SPXCancellationDetails *details = [[SPXCancellationDetails alloc] initFromCanceledRecognitionResult:speechResult];
            NSLog(@"Speech recognition was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails);
            [self.label setStringValue:([NSString stringWithFormat:@"Canceled: %@", details.errorDetails])];
        } else if (SPXResultReason_RecognizedSpeech == speechResult.reason) {
            NSLog(@"Speech recognition result received: %@", speechResult.text);
            [self.label setStringValue:(speechResult.text)];
        } else {
            NSLog(@"There was an error.");
            [self.label setStringValue:(@"Speech Recognition Error")];
        }
    }
    
  6. In AppDelegate.m usare le variabili di ambiente impostate in precedenza per la chiave e l'area della risorsa Voce.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  8. Per rendere visibile l'output di debug, selezionare Visualizza>area>debug Attiva console.

  9. Per compilare ed eseguire il codice di esempio, selezionare Product Run (Esegui prodotto>) dal menu o selezionare il pulsante Play (Riproduci).

Importante

Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Dopo aver selezionato il pulsante nell'app e pronunciare alcune parole, verrà visualizzato il testo parlato nella parte inferiore dello schermo. Quando esegui l'app per la prima volta, ti chiede di concedere all'app l'accesso al microfono del computer.

Osservazioni:

Ecco alcune altre considerazioni:

  • In questo esempio viene usata l'operazione recognizeOnce per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

  • Per riconoscere la voce da un file audio, usare initWithWavFileInput invece di initWithMicrophone:

    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithWavFileInput:YourAudioFile];
    

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (download) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Speech SDK per Swift viene distribuito come bundle del framework. Il framework supporta sia Objective-C che Swift sia in iOS che in macOS.

Speech SDK può essere usato nei progetti Xcode come CocoaPod o scaricato direttamente e collegato manualmente. Questa guida usa CocoaPod. Installare il gestore di dipendenze di CocoaPod come descritto in queste istruzioni per l'installazione.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per riconoscere la voce in un'applicazione macOS.

  1. Clonare il repository Azure-Samples/cognitive-services-speech-sdk per ottenere il riconoscimento vocale da un microfono in Swift nel progetto di esempio macOS . Il repository include anche esempi di iOS.

  2. Passare alla directory dell'app di esempio scaricata (helloworld) in un terminale.

  3. Eseguire il comando pod install. Questo comando genera un'area helloworld.xcworkspace di lavoro Xcode contenente sia l'app di esempio che Speech SDK come dipendenza.

  4. Aprire l'area di lavoro helloworld.xcworkspace in Xcode.

  5. Aprire il file denominato AppDelegate.swift e individuare i applicationDidFinishLaunching metodi e recognizeFromMic come illustrato di seguito.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate {
        var label: NSTextField!
        var fromMicButton: NSButton!
    
        var sub: String!
        var region: String!
    
        @IBOutlet weak var window: NSWindow!
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            print("loading")
            // load subscription information
            sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
            region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
            label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200))
            label.textColor = NSColor.black
            label.lineBreakMode = .byWordWrapping
    
            label.stringValue = "Recognition Result"
            label.isEditable = false
    
            self.window.contentView?.addSubview(label)
    
            fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30))
            fromMicButton.title = "Recognize"
            fromMicButton.target = self
            fromMicButton.action = #selector(fromMicButtonClicked)
            self.window.contentView?.addSubview(fromMicButton)
        }
    
        @objc func fromMicButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.recognizeFromMic()
            }
        }
    
        func recognizeFromMic() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
            speechConfig?.speechRecognitionLanguage = "en-US"
    
            let audioConfig = SPXAudioConfiguration()
    
            let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig)
    
            reco.addRecognizingEventHandler() {reco, evt in
                print("intermediate recognition result: \(evt.result.text ?? "(no result)")")
                self.updateLabel(text: evt.result.text, color: .gray)
            }
    
            updateLabel(text: "Listening ...", color: .gray)
            print("Listening...")
    
            let result = try! reco.recognizeOnce()
            print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)")
            updateLabel(text: result.text, color: .black)
    
            if result.reason != SPXResultReason.recognizedSpeech {
                let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result)
                print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)")
                print("Did you set the speech resource key and region values?")
                updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red)
            }
        }
    
        func updateLabel(text: String?, color: NSColor) {
            DispatchQueue.main.async {
                self.label.stringValue = text!
                self.label.textColor = color
            }
        }
    }
    
  6. In AppDelegate.m usare le variabili di ambiente impostate in precedenza per la chiave e l'area della risorsa Voce.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  8. Per rendere visibile l'output di debug, selezionare Visualizza>area>debug Attiva console.

  9. Compilare ed eseguire il codice di esempio selezionando Product Run (Esegui prodotto>) dal menu o selezionando il pulsante Play (Riproduci).

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Dopo aver selezionato il pulsante nell'app e pronunciare alcune parole, verrà visualizzato il testo parlato nella parte inferiore dello schermo. Quando esegui l'app per la prima volta, ti chiede di concedere all'app l'accesso al microfono del computer.

Osservazioni:

In questo esempio viene usata l'operazione recognizeOnce per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Pacchetto della documentazione di riferimento | (PyPi) | Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Speech SDK per Python è disponibile come modulo Python Package Index (PyPI). Speech SDK per Python è compatibile con Windows, Linux e macOS.

Installare una versione di Python dalla versione 3.7 o successiva. Per altri requisiti, vedere Installare Speech SDK.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un microfono

Seguire questa procedura per creare un'applicazione console.

  1. Aprire una finestra del prompt dei comandi nella cartella in cui si desidera il nuovo progetto. Creare un nuovo file denominato speech_recognition.py.

  2. Eseguire questo comando per installare Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. Copiare il codice seguente in speech_recognition.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_config.speech_recognition_language="en-US"
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
        if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
            print("Recognized: {}".format(speech_recognition_result.text))
        elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
        elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = speech_recognition_result.cancellation_details
            print("Speech Recognition canceled: {}".format(cancellation_details.reason))
            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and region values?")
    
    recognize_from_microphone()
    
  4. Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US. Per informazioni dettagliate su come identificare una delle più lingue che potrebbero essere pronunciate, vedere Identificazione della lingua.

  5. Eseguire la nuova applicazione console per avviare il riconoscimento vocale da un microfono:

    python speech_recognition.py
    

    Importante

    Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

  6. Parla al microfono quando richiesto. Quello che si parla dovrebbe apparire come testo:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Osservazioni:

Ecco alcune altre considerazioni:

  • In questo esempio viene usata l'operazione recognize_once_async per trascrivere espressioni fino a 30 secondi o fino a quando non viene rilevato il silenzio. Per informazioni sul riconoscimento continuo per un audio più lungo, incluse le conversazioni multilingue, vedere Come riconoscere il riconoscimento vocale.

  • Per riconoscere la voce da un file audio, usare filename invece di use_default_microphone:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Per i file audio compressi, ad esempio MP4, installare GStreamer e usare PullAudioInputStream o PushAudioInputStream. Per altre informazioni, vedere Come usare l'audio di input compresso.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Informazioni di riferimento | sull'API REST Riconoscimento vocale in testo per brevi riferimenti | audio Esempi aggiuntivi in GitHub

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

È anche necessario un file audio .wav nel computer locale. È possibile usare il proprio file .wav fino a 60 secondi o scaricare il https://crbn.us/whatstheweatherlike.wav file di esempio.

Impostare le variabili di ambiente

L'applicazione deve essere autenticata per accedere alle risorse dei servizi di intelligenza artificiale di Azure. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. Ad esempio, dopo aver ottenere una chiave per la risorsa Voce, scriverla in una nuova variabile di ambiente nel computer locale che esegue l'applicazione.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione, ad esempio Azure Key Vault, vedere Sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave della risorsa Voce, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  • Per impostare la SPEECH_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  • Per impostare la SPEECH_REGION variabile di ambiente, sostituire l'area con una delle aree per la risorsa.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se è sufficiente accedere alle variabili di ambiente nella console corrente, è possibile impostare la variabile di setxambiente con set anziché .

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi che devono leggere la variabile di ambiente, inclusa la finestra della console. Ad esempio, se si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Riconoscimento vocale da un file

Aprire una finestra della console ed eseguire il comando cURL seguente. Sostituire YourAudioFile.wav con il percorso e il nome del file audio.

curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"

Importante

Assicurarsi di impostare le SPEECH_KEY variabili di ambiente e SPEECH_REGION. Se queste variabili non vengono impostate, l'esempio ha esito negativo e viene visualizzato un messaggio di errore.

Si dovrebbe ricevere una risposta simile a quella mostrata qui. Deve DisplayText essere il testo riconosciuto dal file audio. Il comando riconosce fino a 60 secondi di audio e lo converte in testo.

{
    "RecognitionStatus": "Success",
    "DisplayText": "My voice is my passport, verify me.",
    "Offset": 6600000,
    "Duration": 32100000
}

Per altre informazioni, vedere API REST Riconoscimento vocale per l'audio breve.

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

In questa guida introduttiva si crea ed esegue un'applicazione per riconoscere e trascrivere il parlato in testo in tempo reale.

Suggerimento

È possibile provare il riconoscimento vocale in tempo reale in Speech Studio senza iscriversi o scrivere codice.

Per trascrivere invece i file audio in modo asincrono, vedere Informazioni sulla trascrizione batch. Se non si è certi della soluzione di riconoscimento vocale più adatta, vedere Che cos'è la sintesi vocale?

Prerequisiti

Configurare l'ambiente

Seguire questa procedura e vedere la guida introduttiva all'interfaccia della riga di comando di Voce per altri requisiti per la piattaforma.

  1. Eseguire il comando seguente dell'interfaccia della riga di comando di .NET per installare l'interfaccia della riga di comando di Voce:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Eseguire i comandi seguenti per configurare la chiave e l'area della risorsa Voce. Sostituire SUBSCRIPTION-KEY con la chiave della risorsa Voce e sostituire REGION con l'area della risorsa Voce.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Riconoscimento vocale da un microfono

  1. Eseguire il comando seguente per avviare il riconoscimento vocale da un microfono:

    spx recognize --microphone --source en-US
    
  2. Parlare nel microfono e sarà possibile vedere la trascrizione delle parole in testo in tempo reale. L'interfaccia della riga di comando di Voce si arresta dopo un periodo di silenzio, 30 secondi o quando si seleziona CTRL+C.

    Connection CONNECTED...
    RECOGNIZED: I'm excited to try speech to text.
    

Osservazioni:

Ecco alcune altre considerazioni:

  • Per riconoscere la voce da un file audio, usare --file invece di --microphone. Per i file audio compressi, ad esempio MP4, installare GStreamer e usare --format. Per altre informazioni, vedere Come usare l'audio di input compresso.

    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Per migliorare l'accuratezza del riconoscimento di parole o espressioni specifiche, usare un elenco di frasi. È possibile includere un elenco di frasi in linea o con un file di testo insieme al recognize comando :

    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Per modificare la lingua di riconoscimento vocale, sostituire en-US con un'altra lingua supportata. Ad esempio, usare es-ES per spagnolo (Spagna). Se non si specifica una lingua, il valore predefinito è en-US.

    spx recognize --microphone --source es-ES
    
  • Per il riconoscimento continuo dell'audio di più di 30 secondi, aggiungere --continuous:

    spx recognize --microphone --source es-ES --continuous
    
  • Eseguire questo comando per informazioni su altre opzioni di riconoscimento vocale, ad esempio l'input e l'output dei file:

    spx help recognize
    

Pulire le risorse

È possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure per rimuovere la risorsa Voce creata.

Passaggio successivo