Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El reconocimiento de voz es una tecnología de conversión de voz en texto con tecnología de inteligencia artificial que transcribe el audio hablado en texto en tiempo real o desde archivos grabados previamente. Al ejecutarse completamente en el dispositivo, proporciona una transcripción de baja latencia sin necesidad de una conexión de red ni el envío de datos de audio a la nube. Al igual que con todos los modelos de IA, la salida de transcripción puede no ser siempre precisa y debe validarse para casos de uso críticos.
La adición de funcionalidades de reconocimiento de voz a la aplicación permite escenarios que incluyen lo siguiente:
- Subtitulado y subtítulos en tiempo real para reuniones o reproducción de contenido multimedia
- Toma de notas y dictado controlado por voz
- Características de accesibilidad para los usuarios que dependen de la entrada de voz
- Transcripción de archivos de audio grabados, como entrevistas o conferencias
- Comandos de voz y interacción manos libres en aplicaciones de escritorio
La API admite dos modos de funcionamiento:
- Reconocimiento por lotes: Transcribe un archivo de audio completo de una sola vez, ideal para contenido pregrabado.
- Reconocimiento de streaming: transcripción continua en tiempo real desde un micrófono o una secuencia de audio, lo que proporciona resultados a medida que se reconocen frases.
Puede usar SpeechRecognitionModel para transcribir la voz desde archivos de audio o secuencias de audio en tiempo real en el dispositivo.
Para más información sobre la API, consulte API ref for AI Speech features (Referencia de API para las características de AI Speech).
Para obtener detalles sobre la moderación de contenido, consulte la seguridad de contenido con APIs de IA generativa.
Importante
Requisitos del manifiesto de paquete: para usar las API de creación de imágenes de IA de Windows, la aplicación debe empaquetarse como un paquete MSIX con la systemAIModels funcionalidad declarada en Package.appxmanifest. Además, asegúrese de que el atributo del MaxVersionTested manifiesto esté establecido en una versión reciente de Windows (por ejemplo, 10.0.26226.0 o posterior) para admitir correctamente las características de Windows AI. El uso de valores anteriores puede provocar errores "No declarados por la aplicación" al cargar el modelo.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
</Dependencies>
Prerequisites
- Versión de Windows: Windows 11, versión 24H2 (compilación 26100) o posterior
- Versión de WinAppSDK: Versión 1.7.1 o posterior
- Hardware: Copilot+ PC con una NPU, or cualquier equipo Windows que cumpla las especificaciones de CPU commendadas
Compatibilidad del hardware
El reconocimiento de voz se ejecuta en el hardware siguiente:
| Hardware | Situación | Detalles |
|---|---|---|
| NPU (Copilot+ PC) | ✅ Disponible | Mejor rendimiento. El modelo está preinstalado. Consulte Copilot+ PCs guía para desarrolladores. |
| Unidad Central de Procesamiento (CPU) | ✅ Disponible (opcional, extraíble) | El modelo no está preinstalado; consulte Disponibilidad y descarga del modelo. Mejor en los dispositivos que cumplen las especificaciones de CPU recomendadas. |
| Unidad de Procesamiento Gráfico (GPU) | ❌ No es compatible | El reconocimiento de voz no está disponible en GPU. |
Note
La selección de hardware es automática. En un Copilot+ PC con una NPU, el reconocimiento de voz siempre se ejecuta en la NPU. En dispositivos sin Copilot+, se ejecuta automáticamente en la CPU; no existe ninguna opción para que el desarrollador o el usuario final seleccionen la CPU en un dispositivo Copilot+. Esto coincide con el patrón usado por otras API de IA de Windows; consulte Hardware compatible para ver la vista entre API.
Especificaciones de CPU recomendadas
El reconocimiento de voz se ejecutará en cualquier CPU en la que funcionen el resto de las API de IA de Windows, pero la calidad y la latencia de la transcripción en tiempo real varían en función de la CPU del equipo host.
Para obtener un buen rendimiento de la CPU, apunte a dispositivos que cumplan todas las siguientes especificaciones recomendadas:
- 4 o más núcleos físicos
- Reloj base de 3 GHz o superior
- 32 MB o más de caché L3
Estas son recomendaciones, no mínimos estrictos: la API seguirá intentando transcribir en dispositivos de especificación inferior. Las aplicaciones orientadas a una amplia gama de CPU pueden usar la misma comprobación de CPU en tiempo de ejecución que se muestra para VSR; consulte Especificaciones de CPU recomendadas para VSR para ver el ejemplo de C# que usa System.Management (WMI). Utiliza el resultado para condicionar las decisiones de UX, como usar de forma predeterminada el reconocimiento por lotes en hardware con prestaciones justas u ocultar el acceso a la transmisión en directo.
Disponibilidad del modelo y descarga
En los PC Copilot+ el modelo de reconocimiento de voz viene preinstalado en la NPU. En los dispositivos de solo CPU, el modelo no está preinstalado; se descarga a petición la primera vez que la aplicación llama a EnsureReadyAsync. La descarga se ejecuta en segundo plano a través de Windows Update. Los usuarios finales también pueden quitar el modelo más adelante para reclamar espacio en disco.
Este comportamiento coincide con el ciclo de vida del modelo usado por otros modelos opcionales de inteligencia artificial de Windows: la aplicación debe controlar explícitamente el caso "aún no instalado", en lugar de asumir que el modelo está presente.
Patrón de experiencia de usuario recomendado
Dado que el modelo de reconocimiento de voz se descarga a petición en dispositivos de solo CPU, muestre un cuadro de diálogo de confirmación antes de llamar EnsureReadyAsync para que el usuario pueda dar su consentimiento a la descarga en segundo plano. Un patrón típico:
Llame a GetReadyState y actúe en función del valor de AIFeatureReadyState devuelto:
-
Ready— se instala el modelo; continuar. -
NotReadyoEnsureNeeded— muestra tu cuadro de diálogo de consentimiento (ver más abajo) y, a continuación, llama aEnsureReadyAsyncsolo si el usuario acepta. -
NotSupportedOnCurrentSystem: el dispositivo no cumple los requisitos de hardware compatible. Ofrezca una experiencia alternativa (por ejemplo, Reconocimiento de voz a través del SDK de Windows o un servicio basado en la nube) y, cuando proceda, muestre los requisitos de hardware para que el usuario pueda tomar una decisión informada sobre la actualización.
-
En el cuadro de diálogo de consentimiento, explique lo siguiente:
- Se descargará un modelo de reconocimiento de voz opcional.
- La descarga se produce en segundo plano a través de Windows Update.
- El usuario puede supervisar el progreso de la descarga en Settings>Windows Update.
- El usuario puede quitar más adelante el modelo en Configuración>Componentes de IA del> si ya no lo quieren.
Sugerencia
En las cadenas orientadas al usuario (texto de cuadro de diálogo, mensajes de estado), consulte el modelo como "modelo de reconocimiento de voz" o "modelo de IA opcional" en lugar del nombre del modelo subyacente. La mayoría de los usuarios finales no están familiarizados con los nombres de marca y los términos genéricos comunican más claramente el propósito.
Mientras
EnsureReadyAsyncestá en curso, muestre un indicador de progreso en la aplicación. Consulte Introducción a las API de IA de Windows para ver el patrón de interfaz de usuario de carga.
Una vez instalado el modelo
El modelo permanece en el dispositivo hasta que el usuario lo quita. Los usuarios administran modelos instalados , incluido el modelo de reconocimiento de voz, en Configuración>Componentes de IA del sistema>. Si el usuario elimina más adelante el modelo, la próxima llamada de tu aplicación a GetReadyState devolverá NotReady o EnsureNeeded, y deberá repetirse el flujo de consentimiento y descarga.
Reconocimiento por lotes de un archivo de audio
Use el reconocimiento por lotes para transcribir un archivo de audio completo. Este enfoque es ideal para el contenido de audio previamente grabado.
- Llame a GetReadyState y espere a que EnsureReadyAsync se complete correctamente para confirmar que SpeechRecognitionModel está listo.
- Una vez listo el modelo, llame a TryCreateAsync para crear una instancia de un objeto SpeechRecognitionModel.
- Cree una instancia de BatchRecognition con SpeechRecognitionModel.
- Llame a RecognizeFromFile con la ruta al archivo de audio que desea transcribir.
using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Speech;
if (SpeechRecognitionModel.GetReadyState() != AIFeatureReadyState.Ready)
{
await SpeechRecognitionModel.EnsureReadyAsync();
}
var speechModelResult = await SpeechRecognitionModel.TryCreateAsync();
if (speechModelResult.SpeechModel == null)
{
throw new InvalidOperationException(
$"Failed to create SpeechRecognitionModel: {speechModelResult.ExtendedError}");
}
var speechModel = speechModelResult.SpeechModel;
var batchRecognition = new BatchRecognition(speechModel);
string transcription = await batchRecognition.RecognizeFromFile("path/to/audio.wav");
Console.WriteLine($"Transcription: {transcription}");
Reconocimiento de streaming desde un origen de audio en tiempo real
Use el reconocimiento de streaming para transcribir audio en tiempo real desde un micrófono u otro dispositivo de entrada de audio. Este enfoque proporciona resultados finales a medida que se reconocen frases completas.
- Llame a GetReadyState y espere a que EnsureReadyAsync se complete correctamente para confirmar que SpeechRecognitionModel está listo.
- Una vez listo el modelo, llame a TryCreateAsync para crear una instancia de un objeto SpeechRecognitionModel.
- Cree una AudioConfiguration usando FromAudioDevice con el nombre del dispositivo de micrófono.
- Cree una instancia de StreamingRecognition con AudioConfiguration y SpeechRecognitionModel.
- Suscríbase al evento Reconocido para recibir los resultados de la transcripción.
- Llame a StartContinuousRecognitionAsync para comenzar la transcripción.
- Llame a StopContinuousRecognition cuando termine.
using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Speech;
if (SpeechRecognitionModel.GetReadyState() != AIFeatureReadyState.Ready)
{
await SpeechRecognitionModel.EnsureReadyAsync();
}
var speechModelResult = await SpeechRecognitionModel.TryCreateAsync();
if (speechModelResult.SpeechModel == null)
{
throw new InvalidOperationException(
$"Failed to create SpeechRecognitionModel: {speechModelResult.ExtendedError}");
}
var speechModel = speechModelResult.SpeechModel;
var audioConfig = AudioConfiguration.FromAudioDevice(microphoneDeviceName);
var streamingRecognition = new StreamingRecognition(audioConfig, speechModel);
// Subscribe to receive transcription results as phrases are recognized
streamingRecognition.Recognized += (sender, args) =>
{
Console.WriteLine($"Recognized: {args.Text}");
};
// Start real-time recognition
await streamingRecognition.StartContinuousRecognitionAsync();
// ... recognition is active, audio is being transcribed in real-time ...
// Stop recognition when done
streamingRecognition.StopContinuousRecognition();
Consulte también
- Susurro a través de Foundry Local (Windows 10+, nuevo modelo, rendimiento varía, no disponible en todos los dispositivos)
- Reconocimiento de voz a través de Windows SDK (windows 10 y versiones posteriores, modelo anterior, pero disponible en todos los dispositivos)
- Ejemplos de la API de Windows AI
AVISOS E INFORMACIÓN SOBRE MODELOS DE TERCEROS
Esta API usa componentes del modelo OpenAI Whisper , que se proporciona con la licencia siguiente:
Licencia MIT
Copyright (c) 2022 OpenAI
Mediante este documento se concede el permiso, gratuitamente, a todas las personas que obtengan una copia de este software y los archivos de documentación relacionados (el "Software"), de comerciar con el Software sin restricciones, incluidos, entre otros, los derechos de usar, copiar, modificar, combinar, publicar, distribuir, sublicenciar y/o vender copias del Software, y de permitir a las personas a quienes se suministre el Software que realicen dichas acciones, sujeto a las siguientes condiciones:
El aviso de propiedad intelectual anterior y este aviso de permisos se deberán incluir en todas las copias o partes significativas del Software.
EL SOFTWARE SE PROPORCIONA “TAL CUAL”, SIN NINGÚN TIPO DE GARANTÍA EXPLÍCITA NI IMPLÍCITA, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN PARTICULAR Y AUSENCIA DE INFRACCIONES. LOS AUTORES Y LOS TITULARES DE LOS DERECHOS DE PROPIEDAD INTELECTUAL NO SERÁN RESPONSABLES EN NINGÚN CASO DE RECLAMACIONES, DAÑOS NI OTRAS OBLIGACIONES, YA SEA POR ACCIÓN CONTRACTUAL, RESPONSABILIDAD EXTRACONTRACTUAL U OTRA CAUSA, QUE DERIVE DEL SOFTWARE, DE SU USO O DE OTROS PROCEDIMIENTOS DEL SOFTWARE, O TENGA RELACIÓN CON ELLOS.