Inicio rápido: Reconocimiento y conversión de voz en texto
Artículo
Importante
Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
En este inicio rápido, probará la conversión de voz en tiempo real en texto en Azure AI Foundry.
Algunas características de servicios de Azure AI son gratuitas para probar en el portal de Azure AI Foundry. Para acceder a todas las funcionalidades descritas en este artículo, debe conectar los servicios de IA a Azure AI Foundry.
Pruebe la conversión de voz en tiempo real en texto
Seleccione Áreas de juegos en el panel izquierdo y, a continuación, seleccione un área de juegos para usarla. En este ejemplo, seleccione Probar el área de juegos de voz.
Opcionalmente, puede seleccionar una conexión diferente para usarla en el área de juegos. En el área de juegos de voz, puede conectarse a los recursos de varios servicios de Azure AI o a los recursos del servicio voz.
Seleccione Transcripción en tiempo real.
Seleccione Mostrar opciones avanzadas para configurar opciones de voz en texto, como:
Identificación de idiomas: se utiliza para identificar los idiomas hablados en el audio al compararlos con una lista de idiomas admitidos. Para obtener más información sobre las opciones de identificación de idiomas, como el reconocimiento al inicio y continuo, consulte Identificación de idiomas.
Diarización de orador: se utiliza para identificar y separar los oradores en audio. La diarización distingue entre los diferentes oradores que participan en la conversación. El servicio Voz proporciona información sobre qué hablante hablaba una parte determinada de la voz transcrita. Para obtener más información sobre la diarización del orador, consulta el inicio rápido de conversión de voz a texto en tiempo real con diarización del orador.
Punto de conexión personalizado: use un modelo implementado a partir de voz personalizada para mejorar la precisión del reconocimiento. Para usar el modelo de línea de base de Microsoft, deje este valor en Ninguno. Para obtener más información sobre la voz personalizada, consulte Habla personalizada.
Formato de salida: elija entre formatos de salida simples y detallados. La salida simple incluye formato de presentación y marcas de tiempo. La salida detallada incluye más formatos (como mostrar, léxico, ITN y ITN enmascarado), marcas de tiempo y N mejores listas.
Lsta de frases: mejore la precisión de la transcripción proporcionando una lista de frases conocidas, como nombres de personas o ubicaciones específicas. Use comas o punto y coma para separar cada valor de la lista de frases. Para obtener más información sobre las listas de frases, consulte la Listas de frases.
Seleccione un archivo de audio para cargar o grabar audio en tiempo real. En este ejemplo, se usa el archivo Call1_separated_16k_health_insurance.wav que está disponible en el repositorio del SDK de Voz en GitHub. Puede descargar el archivo o usar su propio archivo de audio.
Puede ver la transcripción en tiempo real en la parte inferior de la página.
Puede seleccionar la pestaña JSON para ver la salida JSON de la transcripción. Estas propiedades incluyen Offset, Duration, RecognitionStatus, Display, Lexical, ITN, etc.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Siga estos pasos para crear una aplicación de consola e instalar el SDK de Voz.
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.
CLI de .NET
dotnetnew console
Este comando crea el archivo Program.cs en el directorio del proyecto.
Instale el SDK de Voz en el nuevo proyecto con la CLI de .NET.
Reemplace el contenido de Program.cs por el código siguiente:
C#
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.CognitiveServices.Speech;
using Microsoft.CognitiveServices.Speech.Audio;
classProgram
{
// This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"staticstring speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
staticstring speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
staticvoidOutputSpeechRecognitionResult(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;
}
}
asyncstatic Task Main(string[] args)
{
var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);
speechConfig.SpeechRecognitionLanguage = "en-US";
usingvar audioConfig = AudioConfig.FromDefaultMicrophoneInput();
usingvar speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
Console.WriteLine("Speak into your microphone.");
var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
OutputSpeechRecognitionResult(speechRecognitionResult);
}
}
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.
Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:
Consola
dotnet run
Importante
Asegúrese de establecer las variables de entorno SPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:
Output
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:
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.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Seleccione Herramientas>Administrador de paquetes Nuget>Consola del Administrador de paquetes. En la consola del administrador de paquetes, ejecute este comando:
Reemplace el contenido de SpeechRecognition.cpp por el código siguiente:
C++
#include<iostream> #include<stdlib.h>#include<speechapi_cxx.h>usingnamespace Microsoft::CognitiveServices::Speech;
usingnamespace Microsoft::CognitiveServices::Speech::Audio;
std::stringGetEnvironmentVariable(constchar* name);
intmain(){
// 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;
}
elseif (result->Reason == ResultReason::NoMatch)
{
std::cout << "NOMATCH: Speech could not be recognized." << std::endl;
}
elseif (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::stringGetEnvironmentVariable(constchar* 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();
#elseauto value = getenv(name);
return value ? value : "";
#endif
}
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.
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 entorno SPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:
Output
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:
C++
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.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un nuevo archivo denominado speech-recognition.go.
Copie el siguiente código en speech-recognition.go:
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"
)
funcsessionStartedHandler(event speech.SessionEventArgs) {
defer event.Close()
fmt.Println("Session Started (ID=", event.SessionID, ")")
}
funcsessionStoppedHandler(event speech.SessionEventArgs) {
defer event.Close()
fmt.Println("Session Stopped (ID=", event.SessionID, ")")
}
funcrecognizingHandler(event speech.SpeechRecognitionEventArgs) {
defer event.Close()
fmt.Println("Recognizing:", event.Result.Text)
}
funcrecognizedHandler(event speech.SpeechRecognitionEventArgs) {
defer event.Close()
fmt.Println("Recognized:", event.Result.Text)
}
funccancelledHandler(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?")
}
funcmain() {
// 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')
}
Ejecute los comandos siguientes para crear un archivo go.mod que vincule a los componentes hospedados en GitHub:
Símbolo del sistema de Windows
go mod init speech-recognition
go get github.com/Microsoft/cognitive-services-speech-sdk-go
Importante
Asegúrese de establecer las variables de entorno SPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Siga estos pasos para crear una aplicación de consola para el reconocimiento de voz.
Cree un nuevo archivo denominado SpeechRecognition.java en el mismo directorio raíz del proyecto.
Copie el siguiente código en SpeechRecognition.java:
Java
import com.microsoft.cognitiveservices.speech.*;
import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
publicclassSpeechRecognition{
// This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"privatestatic String speechKey = System.getenv("SPEECH_KEY");
privatestatic String speechRegion = System.getenv("SPEECH_REGION");
publicstaticvoidmain(String[] args)throws InterruptedException, ExecutionException {
SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
speechConfig.setSpeechRecognitionLanguage("en-US");
recognizeFromMicrophone(speechConfig);
}
publicstaticvoidrecognizeFromMicrophone(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());
}
elseif (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
System.out.println("NOMATCH: Speech could not be recognized.");
}
elseif (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);
}
}
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.
Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:
Asegúrese de establecer las variables de entorno SPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:
Output
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:
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.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Copie el siguiente código en SpeechRecognition.js:
JavaScript
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";
functionfromFile() {
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();
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.
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.
Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz desde un archivo:
Consola
node.exe SpeechRecognition.js
Importante
Asegúrese de establecer las variables de entorno SPEECH_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:
Output
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.
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.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Siga estos pasos para crear una aplicación de consola.
Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un nuevo archivo denominado speech_recognition.py.
Ejecute este comando para instalar el SDK de voz:
Consola
pip install azure-cognitiveservices-speech
Copie el siguiente código en speech_recognition.py:
Python
import os
import azure.cognitiveservices.speech as speechsdk
defrecognize_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()
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.
Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:
Consola
python speech_recognition.py
Importante
Asegúrese de establecer las variables de entorno SPEECH_KEY y SPEECH_REGION. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
Hable por el micrófono cuando se le solicite. Lo que diga debería aparecer como texto:
Output
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:
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.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Vaya al directorio de la aplicación de ejemplo descargada (helloworld) en un terminal.
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.
Abra el área de trabajo helloworld.xcworkspace en Xcode.
Abra el archivo llamado AppDelegate.swift y busque los métodos applicationDidFinishLaunching y recognizeFromMic tal como se muestra aquí.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
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.
Para hacer visible la salida de depuración, seleccione Ver>Área de depuración>Activar consola.
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 entorno SPEECH_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.
Objective-C
El SDK de Voz para Objective-C comparte bibliotecas cliente y documentación de referencia con el SDK de Voz para Swift. Para ver ejemplos de código de Objective-C, consulte el proyecto de ejemplo reconocer voz de un micrófono en Objective-C en macOS en GitHub.
Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a 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.
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 las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Bash
Edite el archivo .bashrc y agregue las variables de entorno:
Después de agregar las variables de entorno ejecute source ~/.bash_profile en la ventana de consola para que los cambios surtan efecto.
Xcode
Para el desarrollo de iOS y macOS, establezca las variables de entorno en Xcode. Por ejemplo, siga estos pasos para establecer la variable de entorno en Xcode 13.4.1.
Seleccione Producto>Esquema>Editar esquema.
Seleccione Argumentos en la página de Ejecutar (Depurar la ejecución).
En Variables de entorno, seleccione el signo más (+) para agregar una nueva variable de entorno.
Escriba SPEECH_KEY en Nombre y la clave de recurso de Voz en Valor.
Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.
Asegúrese de establecer las variables de entorno SPEECH_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.
Output
{
"RecognitionStatus": "Success",
"DisplayText": "My voice is my passport, verify me.",
"Offset": 6600000,
"Duration": 32100000
}
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.
Ejecute el siguiente comando para iniciar el reconocimiento de voz a través de un micrófono:
Consola
spx recognize --microphone --source en-US
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.
Output
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.
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:
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.
Consola
spx recognize --microphone --source es-ES
Para el reconocimiento continuo del audio durante más de 30 segundos, anexe --continuous:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.