Acerca del SDK de Voz

El kit de desarrollo de software (SDK) de voz expone muchas de las funcionalidades del servicio de voz, lo que le permite el desarrollo de aplicaciones habilitadas para la voz. El SDK de voz está disponible en muchos lenguajes de programación y en todas las plataformas.

Lenguaje de programación Plataforma Referencia de SDK
C# 1 Windows, Linux, macOS, Mono, Xamarin.iOS, Xamarin.Mac, Xamarin.Android, UWP, Unity SDK de .NET
C++ Windows, Linux, macOS SDK de C++
Go Linux Go SDK
Java 2 Android, Windows, Linux, macOS SDK de Java
JavaScript Browser, Node.js SDK de JavaScript
Objective-C/Swift iOS, macOS SDK de Objective-C
Python Windows, Linux, macOS SDK de Python

1 El SDK de Voz de .NET se basa en .NET Standard 2.0, por lo que es compatible con muchas plataformas. Para más información, consulte la sección Compatibilidad con implementaciones de .NET.

2 El SDK de voz de Java también está disponible como parte de Speech Devices SDK.

Importante

C no es un lenguaje de programación compatible con el SDK de Voz. Varios lenguajes de programación admitidos, como por ejemplo, C++, incluyen encabezados de C que forman parte de una capa de interfaz binaria de aplicación (ABI) común. Estos encabezados de ABI no están diseñados para su uso directo y están sujetos a cambios de unas versiones a otras.

Funcionalidades del escenario

El SDK de voz expone muchas características del servicio de voz, pero no todas ellas. Las funcionalidades del SDK de voz suelen estar asociadas con escenarios. El SDK de voz es perfecto para escenarios en tiempo real y no en tiempo real, mediante dispositivos locales, archivos, almacenamiento de blobs de Azure e incluso flujos de entrada y salida. Cuando un escenario no sea factible con el SDK de voz, busque una alternativa de la API REST.

Voz a texto

La conversión de voz en texto (también conocida como reconocimiento de voz) transcribe secuencias de audio en texto en tiempo real que las aplicaciones, herramientas o dispositivos pueden usar o mostrar. Use voz a texto con Language Understanding (LUIS) para derivar las intenciones del usuario a partir de voz transcrita y actuar en los comandos de voz. Utilice Speech Translation para traducir la entrada de voz a un idioma diferente con una sola llamada. Para más información, consulte Aspectos básicos del reconocimiento de voz.

Las plataformas siguientes proporcionan funcionalidad de reconocimiento de voz (SR), lista de frases, intención, traducción y contenedores locales:

  • C++/Windows, Linux y macOS
  • C# (Framework y .NET Core)/Windows, UWP, Unity, Xamarin, Linux y macOS
  • Java (JRE y Android)
  • JavaScript (Browser y NodeJS)
  • Python
  • Swift
  • Objective-C
  • Go (solo SR)

Texto a voz

La conversión de texto en voz (también conocido como síntesis de voz) convierte el texto en voz sintetizada similar a la voz humana. El texto de entrada está formado por literales de cadena o mediante el lenguaje de marcado de síntesis de voz (SSML). Para más información sobre las voces estándar o neuronales, consulte Compatibilidad con idiomas y voces en el servicio de voz.

El servicio de texto a voz (TTS) está disponible en las siguientes plataformas:

  • C++/Windows, Linux y macOS
  • C# (Framework y .NET Core)/Windows, UWP, Unity, Xamarin, Linux y macOS
  • Java (JRE y Android)
  • JavaScript (Browser y NodeJS)
  • Python
  • Swift
  • Objective-C
  • Go
  • La API REST de TTS puede usarse en todas las demás situaciones.

Asistentes de voz

Los asistentes para voz que usan el SDK de Voz le permiten crear interfaces de conversación naturales, similares a la humana, para sus aplicaciones y experiencias. El SDK de Voz proporciona una interacción rápida y confiable que incluye conversión de voz en texto, texto a voz y datos de la conversación en una sola conexión. La implementación puede utilizar el canal Direct Line Speech de Bot Framework o el servicio integrado Comandos personalizados para la finalización de las tareas. Además, los asistentes de voz pueden usar las voces personalizadas creadas en el Portal de voz personalizado para agregar una experiencia de salida de voz única.

Los asistentes para voz están disponibles en las siguientes plataformas:

  • C++/Windows, Linux y macOS
  • C#/Windows
  • Java/Windows, Linux, macOS y Android (SDK de dispositivos de voz)
  • Go

Reconocimiento de palabras clave

El concepto de reconocimiento de palabras clave es compatible con el SDK de Voz. El reconocimiento de palabras clave es el acto de identificar una palabra clave en el habla, seguido de una acción al escuchar la palabra clave. Por ejemplo, "Hola Cortana" activa el asistente Cortana.

El reconocimiento de palabras clave está disponible en las siguientes plataformas:

  • C++/Windows y Linux
  • C#/Windows & Linux
  • Python/Windows y Linux
  • Java/Windows, Linux y Android

Escenarios de reuniones

El SDK de voz es idóneo para la transcripción de escenarios de reuniones, ya sea en una conversación en único dispositivo o en varios.

Transcripción de conversaciones

La transcripción de conversaciones permite el reconocimiento de voz en tiempo real (y asincrónico), la identificación del hablante y la atribución de frases a cada hablante (también conocido como diarización). Es perfecto para transcribir reuniones en persona con la capacidad de distinguir a los oradores.

La transcripción de la conversación está disponible en las siguientes plataformas:

  • C++/Windows y Linux
  • C# (Framework y .NET Core)/Windows, UWP y Linux
  • Java/Windows, Linux y Android (SDK de dispositivos de voz)

Conversación entre varios dispositivos

Con la conversación entre varios dispositivos, puede conectar varios dispositivos o clientes en una conversación para enviar mensajes basados en voz o texto, con compatibilidad sencilla con la transcripción y traducción.

La conversación entre varios dispositivos está disponible en las siguientes plataformas:

  • C++/Windows
  • C# (Framework y .NET Core)/Windows

Escenarios personalizados o de agente

El SDK de voz se puede usar para transcribir escenarios de centros de llamadas, donde se generan datos de telefonía.

Transcripción para los centros de llamadas

La transcripción para los centros de llamadas es un escenario común para la conversión de voz en texto, ya que se transcriben grandes volúmenes de datos de telefonía que pueden provenir de varios sistemas, como la respuesta interactiva de voz (IVR). Los últimos modelos de reconocimiento de voz del servicio Voz destacan en la transcripción de estos datos de telefonía, incluso en los casos en que los datos son difíciles de entender para un humano.

La transcripción del centro de llamadas está disponible a través del servicio de voz por lotes mediante la API de REST y se puede usar en cualquier situación.

Entrada de audio comprimido con códec

Algunos de los lenguajes de programación del SDK de voz admiten flujos de entrada de audio comprimido con códecs. Para más información, consulte Uso de entradas de audio comprimido con códec con el SDK de voz.

La entrada de audio comprimido con códecs está disponible en las siguientes plataformas:

  • C++/Linux
  • C#/Linux
  • Java/Linux, Android e iOS

API DE REST

Aunque el SDK de voz cubre muchas funcionalidades de características del servicio de voz, en algunos escenarios se puede querer usar la API REST.

Transcripción de Azure Batch

La transcripción por lotes permite la transcripción asincrónica de voz en texto de grandes volúmenes de datos. La transcripción por lotes solo es posible desde la API REST. Además de convertir el audio de la voz en texto, la conversión de voz en texto por lotes también permite la diarización y el análisis de sentimiento.

Personalización

El servicio de voz ofrece una gran funcionalidad con sus modelos predeterminados de conversión de voz en texto, de texto en voz y de traducción de voz. En ocasiones, puede que desee aumentar el rendimiento de línea de base para que funcione mejor con su caso de uso único. El servicio de voz tiene una variedad de herramientas de personalización sin código que facilitan la tarea y permiten crear una ventaja competitiva con modelos personalizados basados en sus propios datos. Estos modelos solo estarán disponibles para usted y su organización.

Conversión de voz a texto personalizada

Cuando se usa la conversión de voz en texto para el reconocimiento y la transcripción en un entorno único, puede crear y entrenar modelos acústicos, de lenguaje y pronunciación personalizados para dirigir el sonido ambiental o vocabulario específico del sector. La creación y administración de modelos de Habla personalizada sin código está disponible en el portal de Habla personalizada. Una vez publicado el modelo de Habla personalizada, el SDK de voz ya puede usarse.

Conversión de texto a voz personalizada

La conversión de texto en voz personalizada, también conocida como Voz personalizada, es un conjunto de herramientas en línea que permiten crear una voz única y reconocible para su marca. La creación y administración de modelos de Voz personalizada sin código está disponible en el portal de Voz personalizada. Una vez publicado el modelo de Voz personalizada, el SDK de voz ya puede usarse.

Obtención del SDK de Voz

El SDK de voz admite Windows 10 y Windows Server 2016, o las versiones posteriores. Las versiones anteriores no se admiten oficialmente. Es posible usar partes del SDK de voz con versiones anteriores de Windows, aunque no se recomienda.


Windows

Requisitos del sistema

El SDK de voz en Windows requiere Microsoft Visual C++ Redistributable para Visual Studio 2019 en el sistema.

C#

El SDK de voz de.NET está disponible como paquete NuGet e implementa .NET Standard 2.0; para más información, vea Microsoft.CognitiveServices.Speech .


C#

Paquete NuGet en C#

El SDK de voz de .NET se puede instalar desde la CLI de .NET Core con el siguiente comando dotnet add.

dotnet add package Microsoft.CognitiveServices.Speech

El SDK de voz de .NET se puede instalar desde el administrador de paquetes con el siguiente comando Install-Package.

Install-Package Microsoft.CognitiveServices.Speech

Recursos adicionales

Para la entrada de micrófono, las bibliotecas de Media Foundation deben estar instaladas. Estas bibliotecas forman parte de Windows 10 y Windows Server 2016. Es posible usar Speech SDK sin estas bibliotecas, siempre y cuando no se use un micrófono como dispositivo de entrada de audio.

Los archivos necesarios del SDK de Voz se pueden implementar en el mismo directorio que la aplicación. De esta forma la aplicación puede acceder directamente a las bibliotecas. Asegúrese de seleccionar la versión correcta (x86/x64) que coincida con la aplicación.

Nombre Función
Microsoft.CognitiveServices.Speech.core.dll SDK básico, necesario para la implementación nativa y administrada
Microsoft.CognitiveServices.Speech.csharp.dll Necesario para la implementación administrada

Nota

A partir de la versión 1.3.0, ya no es necesario incluir el archivo Microsoft.CognitiveServices.Speech.csharp.bindings.dll (incluido en versiones anteriores). La funcionalidad está ahora integrada en el SDK principal.

Importante

Para el proyecto C# de la aplicación Windows Forms (.NET Framework), asegúrese de que las bibliotecas estén incluidas en la configuración de implementación de su proyecto. Puede comprobar esto en Properties -> Publish Section. Haga clic en el botón Application Files y busque las bibliotecas correspondientes en la lista desplegable. Asegúrese de que el valor esté establecido en Included. Visual Studio incluirá el archivo cuando se publique o implemente el proyecto.

C++

El SDK de Voz de C++ está disponible en forma de paquete NuGet de Windows, Linux y macOS. Para más información, consulte Microsoft.CognitiveServices.Speech. El SDK de Voz de C++ también está disponible en forma de paquete tar en https://aka.ms/csspeech/linuxbinary.


C++

Paquete NuGet de C++

El SDK de voz de C++ se puede instalar desde el administrador de paquetes con el siguiente comando Install-Package.

Install-Package Microsoft.CognitiveServices.Speech

Recursos adicionales

Python

El SDK de voz de Python está disponible como módulo del índice de paquetes de Python (PyPI); para más información, vea azure-cognitiveservices-speech . El SDK de voz de Python es compatible con Windows, Linux y macOS.


Python
pip install azure-cognitiveservices-speech

Sugerencia

Si está en macOS, es posible que tenga que ejecutar el siguiente comando para que el comando pip anterior funcione:

python3 -m pip install --upgrade pip

Recursos adicionales

Java

El SDK de Java para Android está empaquetado como una biblioteca de Android (AAR), que incluye las bibliotecas necesarias, así como los permisos necesarios de Android. Se hospeda en un repositorio de Maven en https://csspeechstorage.blob.core.windows.net/maven/ como un paquete com.microsoft.cognitiveservices.speech:client-sdk:1.19.0 (asegúrese de que la versión 1.19.0 sea la más reciente, para lo que debe realizar la búsqueda en nuestro repositorio de GitHub).


Java

Para consumir el paquete desde el proyecto de Android Studio, haga los siguientes cambios:

  1. En el archivo build.gradle de nivel de proyecto, agregue lo siguiente a la sección repositories:
maven { url 'https://csspeechstorage.blob.core.windows.net/maven/' }
  1. En el archivo build.gradle de nivel de módulo, agregue lo siguiente a la sección dependencies:
implementation 'com.microsoft.cognitiveservices.speech:client-sdk:1.19.0'

El SDK de Java es parte del SDK de dispositivos de voz.

Recursos adicionales

Importante

Al descargar cualquiera de los SDK de voz de Azure Cognitive Services de esta página, acepta su licencia. Para más información, consulte:

Código fuente de ejemplo

El equipo del SDK de Voz mantiene activamente un conjunto grande de ejemplos en un repositorio de código abierto. Para obtener el repositorio de código fuente de ejemplo, visite el SDK de Voz de Microsoft Cognitive Services en GitHub . Hay ejemplos para C#, C++, Java, Python, Objective-C, Swift, JavaScript, UWP, Unity y Xamarin.


GitHub

Pasos siguientes