3 agosto, 2026

INTEGRACIÓN AVANZADA DE TEXT-TO-SPEECH EN POWER PLATFORM CON AZURE AI FOUNDRY

Hola a todos,

Hoy os voy a hablar de una arquitectura de Text-to-Speech construida sobre Azure AI Foundry e integrada con Power Platform.

El objetivo es diseñar un flujo donde Power Apps envía texto, Power Automate orquesta la llamada al servicio de IA y Azure genera el audio en tiempo real, devolviéndolo listo para ser reproducido o almacenado.

Una solución ligera, escalable y lista para producción.

El modelo que vamos a usar es Text-to-Speech (tts)

El primer paso es desplegar el modelo para poder usarlo, esto lo vamos a hacer en Azure AI foundry. A continuación, vamos a diseñar la app para poder realizar el ejemplo:

Así:

Necesitaremos un TextInput para escribir lo que queremos pasar a Audio y luego dos listas desplegables. Una para elegir el tipo de voz, os dejo aquí el código con los estilos de tts:

[
    "";
    "Alloy";
    "Ash";
    "Ballad";
    "Coral";
    "Echo";
    "Fable";
    "Onyx";
    "Nova";
    "Sage";
    "Shimmer";
    "Verse"
]

Y aquí las variantes por países del Español:

[
    "";
    "España";
    "México";
    "Argentina";
    "Colombia";
    "Chile";
    "Perú";
    "Uruguay";
    "Venezuela";
    "Ecuador";
    "Estados Unidos (Latino)";
    "Centroamérica";
    "Cuba"
]

Bien, luego añadiremos un control de audio y un botón para obtener el audio.

El código del botón:

Set(
    varAudioUrl;
    PASARTEXTOAAUDIO.Run(
        TextInput1.Text;
        Lower(ddVoz.Selected.Value);
        ddEspanolGeo.Selected.Value
    ).varaudiourl
)

Pero para que todo esto funcione es necesario utilizar un flujo para conectar App y Azure:

Os dejo el body del http:

{
  "model": "tts-generador",
  "input": "@{triggerBody()['text']}",
  "voice": "@{toLower(triggerBody()['text_1'])}",
  "instructions": "Habla con pronunciación natural de español de @{triggerBody()['text_2']}, respetando entonación, ritmo y rasgos fonéticos propios.",
  "format": "mp3"
}

Y el concat del AudioData:

concat('data:audio/mp3;base64,', base64(body('HTTP')))

Y ya lo tenemos.

A partir de aquí podremos obtener variantes de voz muy bien logradas. No obstante, es importante tener en cuenta que, según el tipo de voz seleccionada, el resultado puede sonar más o menos neutro y el acento será más o menos perceptible.

También quiero destacar un aspecto clave de seguridad: en la acción HTTP es recomendable utilizar Azure Key Vault para proteger las claves y credenciales. De esta forma evitamos exponer información sensible dentro del flujo y reforzamos la seguridad de la arquitectura.

En mi caso, para pruebas e investigaciones utilizo configuraciones simplificadas, pero en entornos reales siempre trabajo con Key Vault para la gestión segura de secretos.

Comparte este post

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies