Implementación de Reconocimiento de Voz con Visual Studio
Clase 14 de 27 • Curso de Azure Cognitive Services
Contenido del curso
- 5

Text Analytics: Extracción y Análisis de Texto en Documentos
10:30 - 6

Escenarios de Uso de Servicios Cognitivos en Análisis de Datos
07:04 - 7

Análisis de Sentimiento con APIs de Azure: Uso y Configuración
09:37 - 8

Detección de Idiomas con Servicios Cognitivos Azure
07:26 - 9

Desarrollo de Aplicación de Consola con Text Analytics en C#
15:53
- 10

Servicios de Voz en Cognitive Services: Conversión y Aplicaciones
06:53 - 11

Conversión de Texto a Voz con Azure Cognitive Services
11:38 - 12

Conversión de Voz a Texto con Servicios Cognitivos en Visual Studio
13:33 - 13

Implementación de Traducción de Voz en Visual Studio
10:14 - 14

Implementación de Reconocimiento de Voz con Visual Studio
13:37
- 15

Visión Computacional con Microsoft: Análisis y Aplicaciones Prácticas
06:38 - 16

Creación de un Servicio de Computer Vision en Azure y su Implementación
11:56 - 17

Servicio OCR: Conversión de Imágenes a Texto Usando Azure
08:46 - 18

Reconocimiento Facial: Detección y Análisis de Rasgos Humanos
08:50 - 19

Detección y Análisis de Rostros con Face API
04:44 - 20

Uso de la API Face para Detección y Verificación de Rostros
16:53
- 21

Implementación de Luis para Comprensión del Lenguaje Natural
11:39 - 22

Creación de Modelos e Intenciones en Aplicaciones de Luis
11:52 - 23

Desarrollo de Aplicaciones en LUIS desde Cero
12:09 - 24

Uso de Modelos Prediseñados en Aplicaciones de Luis
07:25 - 25

Entrenamiento y Publicación de Modelos en LUIS
16:34 - 26

Integración del modelo Luis en aplicaciones con SDK de C#
08:28
¿Qué es el servicio de reconocimiento de voz?
El servicio de reconocimiento de voz actualmente se encuentra en fase de preview. Su función principal es identificar a una persona a partir de su voz. Para ello, el servicio genera una "firma de audio" al hacer que el usuario repita una frase varias veces. Este proceso permite capturar las características únicas de una voz y almacenarlas para comparaciones futuras. El siguiente paso es verificar si una nueva muestra de voz coincide con la firma almacenada, determinando si es la misma persona con un nivel de confianza dado.
¿Cómo crear una aplicación de consola en Visual Studio?
La creación de una aplicación de consola en Visual Studio es el primer paso para implementar el servicio de reconocimiento de voz. A continuación se presentan los pasos necesarios:
- Crear un nuevo proyecto: Selecciona "Aplicación de consola" en Visual Studio y asígnale un nombre, por ejemplo, "speaker recognition".
- Seleccionar la versión de .NET: Asegúrate de elegir Netcore 3.1.
- Manejo de paquetes NuGet:
- Haz clic derecho en el proyecto y selecciona "Manejar paquetes de Nuget".
- Busca el paquete
Microsoft.CognitiveServices.Speechy acepta los términos de licencia.
¿Cómo habilitar el reconocimiento de voz?
Para trabajar correctamente con el reconocimiento de voz, es necesario realizar algunas configuraciones en el código:
Configuración básica
-
Agregar 'usings' necesarios: Debes incluir los elementos necesarios para trabajar con el servicio de reconocimiento de voz y manejar tareas asíncronas.
-
Modificar la firma del método principal: Adapta el método principal para que funcione de manera asíncrona.
-
Llave de suscripción y región: Obtén la llave de suscripción y la región desde Azure, asegurándote de trabajar en la región correcta, actualmente USUS para el servicio en preview.
// Ejemplo de código para establecer la configuración
using Microsoft.CognitiveServices.Speech;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var config = SpeechConfig.FromSubscription("YOUR_SUBSCRIPTION_KEY", "USUS");
// ...
}
}
¿Cómo enrolar una voz?
Para enrolar una voz en el sistema, se sigue el siguiente proceso:
- Perfil de voz: Usa
VoiceProfileClientpara crear un perfil de voz, configurando el idioma en inglés. - Entrada de audio: Indica la fuente de la entrada de audio, ya sea desde el micrófono o un archivo pregrabado.
- Frase de enrolamiento: Solicita al usuario que diga "My voice is my password, verify me" varias veces, para completar el proceso de enrolamiento.
Ejemplo de enrolamiento de voz
async Task EnrolProfile(SpeechConfig config, ProfileMapping profileMapping)
{
// Crear cliente de perfil de voz.
var client = new VoiceProfileClient(config);
// Crear perfil en inglés
var profile = await client.CreateProfileAsync(VoiceProfileType.TextDependentVerification, "en-US");
// Configurar captura de audio desde el micrófono.
var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
// Realizar el enrolamiento.
var result = await client.EnrollProfileAsync(profile, audioConfig);
// ...
}
¿Cómo se verifica la identidad de un usuario con el perfil?
Una vez completado el enrolamiento, debes crear un método para verificar si el usuario actual es quien dice ser, comparando la firma de la voz registrada con una nueva muestra de voz.
- Modelo de verificación de voz: Crea un modelo de verificación de voz usando el perfil obtenido.
- Comparación de audio: Utiliza el micrófono u otro archivo de audio para la comparación.
- Nivel de confianza: Determina si la voz registrada en el perfil coincide con la nueva muestra, proporcionando un porcentaje de certeza.
async Task VerifySpeaker(SpeechConfig config, string profileId)
{
var recognizer = new SpeakerRecognizer(config, AudioConfig.FromDefaultMicrophoneInput());
var model = SpeakerVerificationModel.FromProfile(profileId);
// Solicitar al usuario que realice la verificación
var result = await recognizer.RecognizeOnceAsync(model);
// Mostrar nivel de confianza
Console.WriteLine($"Nivel de confianza: {result.Score}");
}
¿Cuáles son las aplicaciones del reconocimiento de voz?
Este servicio puede convertirse en un mecanismo adicional de autenticación en tus aplicaciones, permitiendo una capa extra de seguridad gracias a la identificación biométrica de los usuarios. Además, facilita la implementación de interfaces más naturales y accesibles que mejoran la experiencia del usuario. ¡Explora y sigue practicando para sumergirte más en este emocionante campo de la tecnología!