Inicio rápido: Reconocimiento y conversión de voz en texto

Documentación de referencia | Paquete (NuGet) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

El SDK de Voz está disponible como paquete NuGet e implementa .NET Standard 2.0. Instalará el SDK de Voz más adelante en esta guía. Para conocer los demás requisitos, consulte Instalación del SDK de Voz.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una aplicación de consola e instalar el SDK de Voz.

  1. Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Ejecute este comando para crear una aplicación de consola con la CLI de .NET.

    dotnet new console
    

    Este comando crea el archivo Program.cs en el directorio del proyecto.

  2. Instale el SDK de Voz en el nuevo proyecto con la CLI de .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Reemplace el contenido de Program.cs por el código siguiente:

    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. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  5. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:

    dotnet run
    

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

  6. Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:

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

Comentarios

Estas son algunas otras consideraciones:

  • En este ejemplo se usa la operación RecognizeOnceAsync para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

  • Para reconocer la voz de un archivo de audio, use FromWavFileInput en lugar de FromDefaultMicrophoneInput:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Para archivos de audio comprimidos como MP4, instale GStreamer y utilice PullAudioInputStream o PushAudioInputStream. Para más información, consulte Uso de entradas de audio comprimido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (NuGet) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

El SDK de Voz está disponible como paquete NuGet e implementa .NET Standard 2.0. Instalará el SDK de Voz más adelante en esta guía. Para conocer los demás requisitos, consulte Instalación del SDK de Voz.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una aplicación de consola e instalar el SDK de Voz.

  1. Cree un proyecto de consola de C++ en Visual Studio Community denominadoSpeechRecognition.

  2. Seleccione Herramientas>Administrador de paquetes Nuget>Consola del Administrador de paquetes. En la consola del administrador de paquetes, ejecute este comando:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Reemplace el contenido de SpeechRecognition.cpp por el código siguiente:

    #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. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  5. Compile y ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono.

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

  6. Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:

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

Comentarios

Estas son algunas otras consideraciones:

  • En este ejemplo se usa la operación RecognizeOnceAsync para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

  • Para reconocer la voz de un archivo de audio, use FromWavFileInput en lugar de FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Para archivos de audio comprimidos como MP4, instale GStreamer y utilice PullAudioInputStream o PushAudioInputStream. Para más información, consulte Uso de entradas de audio comprimido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (Go) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

Instale el SDK de Voz para Go. Para conocer los requisitos e instrucciones, consulte Instalación del SDK de Voz.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear un módulo de Go.

  1. Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un nuevo archivo denominado speech-recognition.go.

  2. Copie el siguiente código en 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. Ejecute los comandos siguientes para crear un archivo go.mod que vincule a los componentes hospedados en GitHub:

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

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

  4. Compilación y ejecución del código

    go build
    go run speech-recognition
    

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

Para configurar el entorno, instale el SDK de Voz. El ejemplo de esta guía de inicio rápido funciona con el entorno de ejecución de Java.

  1. Instalación de Apache Maven. A continuación, ejecute mvn -v para confirmar que la instalación se ha realizado correctamente.

  2. Cree un nuevo archivo pom.xml en la raíz del proyecto y copie el siguiente código en él:

    <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.37.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Instale el SDK de Voz y las dependencias.

    mvn clean dependency:copy-dependencies
    

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una aplicación de consola para el reconocimiento de voz.

  1. Cree un nuevo archivo denominado SpeechRecognition.java en el mismo directorio raíz del proyecto.

  2. Copie el siguiente código en 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. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  4. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:

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

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

  5. Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:

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

Comentarios

Estas son algunas otras consideraciones:

  • En este ejemplo se usa la operación RecognizeOnceAsync para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

  • Para reconocer la voz de un archivo de audio, use fromWavFileInput en lugar de fromDefaultMicrophoneInput:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Para archivos de audio comprimidos como MP4, instale GStreamer y utilice PullAudioInputStream o PushAudioInputStream. Para más información, consulte Uso de entradas de audio comprimido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (npm) | Ejemplos adicionales en GitHub | Código fuente de la biblioteca

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

También necesita un archivo de audio .wav en el equipo local. Puede usar su propio archivo .wav (hasta 30 segundos) o descargar el archivo de ejemplo https://crbn.us/whatstheweatherlike.wav.

Configuración del entorno

Para configurar el entorno, instale el SDK de Voz para JavaScript. Ejecuta este comando: npm install microsoft-cognitiveservices-speech-sdk. Para obtener instrucciones de instalación guiadas, consulte Instalación del SDK de Voz.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocer la voz a partir de un archivo

Siga estos pasos para crear una aplicación de consola de Node.js para el reconocimiento de voz.

  1. Abra una ventana del símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado SpeechRecognition.js.

  2. Instale el SDK de voz para JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copie el siguiente código en 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. En SpeechRecognition.js, reemplace YourAudioFile.wav por su propio archivo .wav. En este ejemplo solo se reconoce la voz desde un archivo.wav. Para obtener información sobre otros formatos de audio, consulte Uso de entradas de audio comprimidas. Este ejemplo admite hasta 30 segundos de audio.

  5. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  6. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz desde un archivo:

    node.exe SpeechRecognition.js
    

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

    La voz del archivo de audio debe devolverse como texto:

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

Comentarios

En este ejemplo se usa la operación recognizeOnceAsync para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

Nota:

No se admite el reconocimiento de voz a través de un micrófono en Node.js. Solo se admite en un entorno de JavaScript basado en explorador. Para obtener más información, consulte el ejemplo de React y la implementación de la conversión de voz en texto a través de un micrófono en GitHub.

En el ejemplo de React se muestran patrones de diseño para el intercambio y la administración de tokens de autenticación. También se muestra la captura de audio desde un micrófono o un archivo para realizar conversiones de voz en texto.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (Download) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

El SDK de Voz para Objective-C se distribuye como un paquete de marcos. El marco admite Objective-C y Swift en iOS y macOS.

El SDK de Voz se puede usar en proyectos de Xcode como CocoaPod o se puede descargar directamente y vincular manualmente. En esta guía se usa CocoaPod. Instale el administrador de dependencias de CocoaPod como se describe en sus instrucciones de instalación.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para reconocer la voz en una aplicación de macOS.

  1. Clone el repositorio Azure-Samples/cognitive-services-speech-sdk para obtener el proyecto de ejemplo Reconocimiento de voz desde un micrófono en Objective-C en macOS. El repositorio también tiene ejemplos de iOS.

  2. En una ventana de consola, vaya al directorio de la aplicación de ejemplo descargada, helloworld.

  3. Ejecute el comando pod install. Este comando genera un área de trabajo de Xcode helloworld.xcworkspace que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.

  4. Abra el área de trabajo helloworld.xcworkspace en Xcode.

  5. Abra el archivo llamado AppDelegate.m y busque el método buttonPressed, tal como se muestra aquí.

    - (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. En AppDelegate.m, use las variables de entorno que estableció anteriormente en la clave de recurso de Voz y en la región.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  8. Para hacer visible la salida de depuración, seleccione Ver>Área de depuración>Activar consola.

  9. Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.

Importante

Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

Después de seleccionar el botón de la aplicación y decir algunas palabras, verá el texto que ha dicho en la parte inferior de la pantalla. Al ejecutar la aplicación por primera vez, se le solicita que proporcione a la aplicación acceso al micrófono del equipo.

Comentarios

Estas son algunas otras consideraciones:

  • En este ejemplo se usa la operación recognizeOnce para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

  • Para reconocer la voz de un archivo de audio, use initWithWavFileInput en lugar de initWithMicrophone:

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

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (Download) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

El SDK de Voz para Swift se distribuye como un paquete de marcos. El marco admite Objective-C y Swift en iOS y macOS.

El SDK de Voz se puede usar en proyectos de Xcode como CocoaPod o se puede descargar directamente y vincular manualmente. En esta guía se usa CocoaPod. Instale el administrador de dependencias de CocoaPod como se describe en sus instrucciones de instalación.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para reconocer la voz en una aplicación de macOS.

  1. Clone el repositorio Azure-Samples/cognitive-services-speech-sdk para obtener el proyecto de ejemplo Reconocimiento de voz desde un micrófono en Swift en macOS. El repositorio también tiene ejemplos de iOS.

  2. Vaya al directorio de la aplicación de ejemplo descargada (helloworld) en un terminal.

  3. Ejecute el comando pod install. Este comando genera un área de trabajo de Xcode helloworld.xcworkspace que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.

  4. Abra el área de trabajo helloworld.xcworkspace en Xcode.

  5. Abra el archivo llamado AppDelegate.swift y busque los métodos applicationDidFinishLaunching y recognizeFromMic tal como se muestra aquí.

    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. En AppDelegate.m, use las variables de entorno que estableció anteriormente en la clave de recurso de Voz y en la región.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  8. Para hacer visible la salida de depuración, seleccione Ver>Área de depuración>Activar consola.

  9. Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

Después de seleccionar el botón de la aplicación y decir algunas palabras, verá el texto que ha dicho en la parte inferior de la pantalla. Al ejecutar la aplicación por primera vez, se le solicita que proporcione a la aplicación acceso al micrófono del equipo.

Comentarios

En este ejemplo se usa la operación recognizeOnce para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (PyPi) | Ejemplos adicionales en GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

El SDK de Voz para Python está disponible como módulo de índice de paquetes de Python (PyPI). El SDK de Voz para Python es compatible con Windows, Linux y macOS.

Instale una versión de Python desde la 3.7 en adelante. Para conocer los demás requisitos, consulte Instalación del SDK de Voz.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una aplicación de consola.

  1. Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un nuevo archivo denominado speech_recognition.py.

  2. Ejecute este comando para instalar el SDK de voz:

    pip install azure-cognitiveservices-speech
    
  3. Copie el siguiente código en 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. Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US. Para obtener más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.

  5. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:

    python speech_recognition.py
    

    Importante

    Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

  6. Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:

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

Comentarios

Estas son algunas otras consideraciones:

  • En este ejemplo se usa la operación recognize_once_async para transcribir expresiones de hasta 30 segundos, o hasta que se detecta el silencio. Para obtener información sobre el reconocimiento continuo de audio más largo, incluidas las conversaciones en varios idiomas, consulte Reconocimiento de voz.

  • Para reconocer la voz de un archivo de audio, use filename en lugar de use_default_microphone:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Para archivos de audio comprimidos como MP4, instale GStreamer y utilice PullAudioInputStream o PushAudioInputStream. Para más información, consulte Uso de entradas de audio comprimido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Referencia de la API de REST en la conversión de voz en texto | Referencia de la API de REST en la conversión de voz en texto para audios breves | Ejemplos adicionales sobre GitHub

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

También necesita un archivo de audio .wav en el equipo local. Puede usar su propio archivo .wav hasta 60 segundos o descargar el archivo de ejemplo https://crbn.us/whatstheweatherlike.wav.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.

  • Para establecer la variable de entorno de SPEECH_KEY, reemplace su clave por una de las claves del recurso.
  • Para establecer la variable de entorno de SPEECH_REGION, reemplace su región por una de las regiones del recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota:

Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas que hagan falta para leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Reconocer la voz a partir de un archivo

Abra una ventana de la consola y ejecute el siguiente comando cURL. Reemplace YourAudioFile.wav por la ruta y el nombre del archivo de 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

Asegúrese de establecer las variables de entornoSPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.

Debería recibir una respuesta similar a la que se muestra aquí. DisplayText debe ser el texto que se reconoció desde el archivo de audio. El comando reconoce hasta 60 segundos de audio y lo convierte en texto.

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

Para más información, consulte API de REST de conversión de voz en texto para audios breves.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

En este inicio rápido, creará y ejecutará una aplicación para reconocer y realizar la conversión de voz en texto en tiempo real.

Sugerencia

Puede probar la conversión de voz en texto en tiempo real en Speech Studio sin registrarse ni escribir código.

En cambio, para transcribir archivos de audio de forma asincrónica, consulte Qué es la transcripción por lotes. Si no está seguro de qué solución de conversión de voz en texto es adecuada para usted, consulte¿Qué es la conversión de voz en texto?

Requisitos previos

Configuración del entorno

Siga estos pasos y consulte el inicio rápido de la CLI de Voz para conocer los otros requisitos de la plataforma.

  1. Ejecute el siguiente comando de la CLI de .NET para instalar la CLI de Voz:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Configure la clave de recurso de Voz y la región mediante la ejecución de los siguientes comandos. Reemplace SUBSCRIPTION-KEY por la clave del recurso de Voz y REGION por la región del recurso de Voz.

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

Reconocimiento de voz a través de un micrófono

  1. Ejecute el siguiente comando para iniciar el reconocimiento de voz a través de un micrófono:

    spx recognize --microphone --source en-US
    
  2. Hable al micrófono y verá la transcripción de sus palabras en texto en tiempo real. La CLI de Voz se detendrá después de un período de silencio, 30 segundos, o cuando seleccione Ctrl+C.

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

Comentarios

Estas son algunas otras consideraciones:

  • Para reconocer la voz de un archivo de audio, use --file en lugar de --microphone. Para archivos de audio comprimidos como MP4, instale GStreamer y utilice --format. Para más información, consulte Uso de entradas de audio comprimido.

    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Para mejorar la precisión del reconocimiento de palabras o expresiones específicas, use una lista de frases. Incluya una lista de frases en línea o con un archivo de texto junto con el comando recognize:

    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, use es-ES para Español (España). Si no especifica un idioma, el valor predeterminado es en-US.

    spx recognize --microphone --source es-ES
    
  • Para el reconocimiento continuo del audio durante más de 30 segundos, anexe --continuous:

    spx recognize --microphone --source es-ES --continuous
    
  • Ejecute este comando para obtener información sobre más opciones de reconocimiento de voz, como la entrada y la salida de archivos:

    spx help recognize
    

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Paso siguiente