[Python Treasure Box] Rhythm Weaving: una sinfonía técnica de la biblioteca de síntesis de voz de Python

Un maravilloso viaje hacia el futuro del sonido: la intersección del aprendizaje profundo y los servicios de voz en la nube

Prefacio

En la era digital actual, la tecnología de síntesis de voz se utiliza cada vez más en diversos campos, desde tecnología de asistencia hasta medios de entretenimiento, lo que muestra un gran potencial. Este artículo lo llevará profundamente al mundo de la síntesis de voz, desde bibliotecas simples y fáciles de usar pyttsx3hasta modelos de aprendizaje profundo Wavenet, y explorará gradualmente las sutilezas de este campo.

[Python Treasure Box] Toca los hilos del código: explora la codificación creativa con las bibliotecas de procesamiento de audio de Python
[Python Treasure Box] Procesamiento de audio y vídeo en Python: explora diversas bibliotecas y herramientas
[Python Treasure Box] Exploración digital del sonido: Python lidera las maravillas del audio Mundo
[Python Treasure Box] Aventura fonológica: Explorando la magia del audio y las señales en Python

Bienvenido a suscribirse a la columna: Python Library Treasure Box: desbloqueando el mundo mágico de la programación

Directorio de artículos

1. charcox3

1.1 Descripción general
1.1.1 Introducción

pyttsx3
es una biblioteca de Python para la conversión de texto a voz. Está basado en el motor Microsoft
SAPI5
TTS y admite múltiples idiomas y motores de voz.

1.1.2 Características
  • Sencillo y fácil de usar, apto para principiantes.
  • Admite múltiples idiomas y motores de voz
  • La velocidad y el volumen del habla se pueden ajustar.
1.2 Uso
1.2.1 Instalación y configuración

Instalar usando el siguiente comando
pyttsx3:

pip install pyttsx3
1.2.2 Sintaxis básica
import pyttsx3

# 初始化
engine = pyttsx3.init()

# 设置语速
engine.setProperty('rate', 150)

# 设置音量(0.0到1.0)
engine.setProperty('volume', 0.9)

# 将文本转换为语音
text = "Hello, welcome to the world of text-to-speech."
engine.say(text)

# 等待语音输出完成
engine.runAndWait()
1.2.3 Ejemplo de demostración

Aquí hay un ejemplo simple que convierte texto a voz y lo reproduce:

import pyttsx3


def text_to_speech(text):
    engine = pyttsx3.init()
    engine.say(text)
    engine.runAndWait()


text_to_speech("This is an example of pyttsx3 text-to-speech.")

Este ejemplo convertirá el texto dado en voz y lo reproducirá.

1.3 Uso avanzado
1.3.1 Cambiar el motor de voz

pyttsx3Permite a los usuarios seleccionar diferentes motores de voz para satisfacer necesidades específicas. De forma predeterminada, utiliza el motor Microsoft SAPI5, pero también puede elegir otros motores disponibles. Aquí hay un ejemplo:

import pyttsx3

# 获取可用的语音引擎列表
engines = pyttsx3.init().runandwait()
print("Available engines:", engines)

# 选择其中一个引擎
selected_engine = "sapi5"  # 替换为你想要使用的引擎
engine = pyttsx3.init(driverName=selected_engine)

# 继续使用该引擎进行文本到语音转换
text = "You can choose different TTS engines with pyttsx3."
engine.say(text)
engine.runAndWait()
1.3.2 Establecer atributos de voz

Además de ajustar la velocidad y el volumen del habla, pyttsx3también permite configurar otros atributos de voz como el tono y la entonación. Aquí hay un ejemplo:

import pyttsx3

engine = pyttsx3.init()

# 设置音调 (范围是0.0到2.0)
engine.setProperty('pitch', 1.5)

# 设置语调 (范围是0.0到1.0)
engine.setProperty('voice', 0.8)

text = "You can customize pitch and voice in pyttsx3."
engine.say(text)
engine.runAndWait()
1.3.3 Guardar salida de voz

A veces, es posible que desees convertir texto a voz y guardarlo como un archivo de audio. pyttsx3Admite guardar la salida como archivo de audio como se muestra a continuación:

import pyttsx3

engine = pyttsx3.init()

text = "This speech output will be saved as an audio file."
engine.save_to_file(text, 'output.mp3')
engine.runAndWait()

El código anterior convierte texto en voz y lo guarda como un archivo de audio llamado 'output.mp3'.

1.4 Resumen

En esta sección, nos sumergimos en pyttsx3el uso avanzado de la biblioteca, incluida la selección de un motor de voz diferente, la configuración de más propiedades de voz y el almacenamiento de la salida de voz como un archivo de audio. Estos usos avanzados pueden ayudar a los usuarios a personalizar y controlar mejor el proceso de conversión de texto a voz. En aplicaciones reales, las configuraciones apropiadas se seleccionan según las necesidades específicas para mejorar la experiencia del usuario.

2. gTTS (Texto a voz de Google)

2.1 Descripción general
2.1.1 Introducción

gTTS
es una biblioteca de Python para Google
Text-to-Speech que permite a los usuarios convertir texto a voz y admite múltiples idiomas y opciones de voz.

2.1.2 Características funcionales
  • Usando el
    motor de texto a voz de Google
  • Soporta múltiples idiomas
  • Puede guardar voz como archivo de audio
2.2 Uso
2.2.1 Instalación y configuración

Instalar usando el siguiente comando
gTTS:

pip install gtts
2.2.2 Función de texto a voz
from gtts import gTTS
import os


def text_to_speech(text, language='en'):
    tts = gTTS(text=text, lang=language, slow=False)
    tts.save("output.mp3")
    os.system("start output.mp3")


text_to_speech("This is an example of gTTS text-to-speech.", language='en')

Este ejemplo convierte el texto dado en voz y guarda el resultado como
output.mp3
un archivo de audio con nombre que luego se reproduce automáticamente.

2.2.3 Idiomas y opciones soportados

gTTS
Se admiten varios idiomas y opciones; consulte la documentación oficial para obtener más detalles.

2.3 Uso avanzado
2.3.1 Ajustar la velocidad de la voz

De manera similar a pyttsx3, gTTSlos usuarios también pueden ajustar la velocidad del habla. A continuación se muestra un ejemplo:

from gtts import gTTS
import os

def text_to_speech_with_speed(text, speed=1.5, language='en'):
    tts = gTTS(text=text, lang=language, slow=False)
    # 设置语音速度
    tts.speed = speed
    tts.save("output_speed.mp3")
    os.system("start output_speed.mp3")

text_to_speech_with_speed("Adjusting speech speed with gTTS.", speed=2.0, language='en')
2.3.2 Fusionar múltiples fragmentos de texto

A veces, es posible que necesites combinar varios fragmentos de texto en un solo archivo de audio. gTTSSe proporcionan métodos concatpara implementar esta funcionalidad:

from  gtts import gTTS
import os

def concatenate_texts_and_save(texts, output_file='concatenated.mp3', language='en'):
    concatenated_text = ' '.join(texts)
    tts = gTTS(text=concatenated_text, lang=language, slow=False)
    tts.save(output_file)
    os.system(f"start {
      
      output_file}")

texts_to_concat = ["This is the first part.", "And this is the second part."]
concatenate_texts_and_save(texts_to_concat)
2.4 Resumen

En esta sección, detallamos el gTTSuso de la biblioteca, incluida la funcionalidad básica de conversión de texto a voz, el ajuste de la velocidad de la voz y el uso avanzado de la combinación de múltiples fragmentos de texto. A través de estas funciones, los usuarios pueden utilizar de manera más flexible gTTSla conversión de texto a voz y personalizarla según las necesidades reales. En aplicaciones prácticas, elija el idioma, la velocidad y otras opciones adecuadas para brindar una mejor experiencia de voz.

3. fiesta

3.1 Descripción general
3.1.1 Introducción

Festival
es un sistema universal de síntesis de texto a voz que admite múltiples idiomas y voces.

3.1.2 Antecedentes técnicos
  • Usando el motor de síntesis de voz del Festival
  • Proporciona voces y tonos sintetizados personalizados.
3.2 Uso
3.2.1 Instalación y configuración

Instalar
Festival:

sudo apt-get install festival

Inicie
Festival
la interfaz interactiva:

festival
3.2.2 Síntesis de texto a voz

Utilice
Festival
la línea de comando para la síntesis de texto a voz:

echo
"Hello, welcome to the world of Festival text-to-speech." | festival - -tts
3.2.3 Introducción a funciones avanzadas

Festival
Admite funciones más avanzadas, como personalización de sonidos, velocidad del habla, etc. Puede obtener más información consultando la documentación oficial .

3.3 Uso avanzado
3.3.1 Uso de la API del festival

Además de la línea de comando, también puedes usarla en Python a través de la API de Festival. He aquí un ejemplo sencillo:

import subprocess

def text_to_speech_with_festival(text):
    process = subprocess.Popen(['festival', '--tts'], stdin=subprocess.PIPE)
    process.communicate(input=text.encode())

text_to_speech_with_festival("Festival provides a powerful text-to-speech synthesis.")
3.3.2 Cambiar modelo de voz

Festival admite múltiples modelos de voz y puedes cambiar entre diferentes voces según sea necesario. Aquí hay un ejemplo:

festival

Luego ejecute en la interfaz interactiva del Festival:

(voice_rab_diphone)

Esto cambiará a un rab_diphonemodelo de voz diferente llamado.

3.4 Resumen

Esta sección presenta Festivallos conceptos básicos y el uso de los sistemas de síntesis de texto a voz. FestivalA través de la línea de comandos y la API de Python, puede usarlo para la síntesis de voz en diferentes escenarios . Al mismo tiempo, conoció algunas funciones avanzadas, como personalizar sonidos y cambiar modelos de voz, para satisfacer mejor las necesidades personalizadas. En la práctica, se puede seleccionar la herramienta de síntesis de voz más adecuada según la situación específica.

4. Tacotrón

4.1 Descripción general
4.1.1 Introducción

Tacotron
es un sistema de síntesis de texto a voz de un extremo a otro diseñado para generar un habla natural y fluida.

4.1.2 Principios técnicos
  • Basado en una red neuronal profunda
  • Generando espectrogramas del habla usando mecanismos de atención.
4.2 Uso
4.2.1 Instalación y configuración

Tacotron
La instalación es más complicada y debe depender de múltiples marcos de aprendizaje profundo, como TensorFlow, etc. Los pasos de instalación detallados se pueden encontrar en la página de Tacotron GitHub .

4.2.2 Conversión de texto a voz
# 使用Tacotron进行文本到语音转换的示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from  tacotron.synthesizer import Synthesizer

# 初始化Tacotron合成器
synthesizer = Synthesizer()

# 将文本转换为语音
text = "Hello, welcome to the world of Tacotron text-to-speech."
audio = synthesizer.synthesize(text)

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
4.2.3 Configuración de parámetros avanzada

Tacotron
Tiene muchos parámetros avanzados, como entrenar modelos, ajustar estilos de sonido, etc. Puedes saber más consultando su documentación oficial .

4.3 Uso avanzado
4.3.1 Migración de estilo

TacotronPermite a los usuarios lograr la migración del estilo del habla ajustando los parámetros del modelo, haciendo que el habla generada sea más consistente con un estilo o emoción específica. He aquí un ejemplo sencillo:

# Tacotron风格迁移示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from tacotron.synthesizer import Synthesizer

# 初始化Tacotron合成器
synthesizer = Synthesizer()

# 将文本转换为语音并同时进行风格迁移
text = "Hello, welcome to the world of Tacotron text-to-speech with style transfer."
audio = synthesizer.synthesize(text, style='happy')  # 通过style参数指定风格

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
4.3.2 Soporte multilingüe

TacotronEstá diseñado para admitir múltiples idiomas y puede generar voces en diferentes idiomas especificando parámetros de idioma. Aquí hay un ejemplo:

# Tacotron多语言支持示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from  tacotron.synthesizer import Synthesizer

# 初始化Tacotron合成器
synthesizer = Synthesizer()

# 将文本转换为不同语言的语音
text_english = "Hello, welcome to the world of Tacotron text-to-speech in English."
audio_english = synthesizer.synthesize(text_english, language='en')

text_french = "Bonjour, bienvenue dans le monde de la synthèse vocale Tacotron en français."
audio_french = synthesizer.synthesize(text_french, language='fr')

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
4.4 Resumen

Esta sección detalla Tacotronlos conceptos, principios técnicos y uso básico del sistema de síntesis de texto a voz de un extremo a otro. Aprendí las complejidades de la instalación y configuración, así como también cómo utilizar la funcionalidad básica de conversión de texto a voz. Al mismo tiempo, se demuestran algunos usos avanzados, como la migración de estilos y la compatibilidad con varios idiomas, que brindan más opciones de personalización y personalización. En el uso real, es muy importante elegir la herramienta de síntesis de voz adecuada según las necesidades y los escenarios de aplicación.

5. Red de ondas

5.1 Descripción general
5.1.1 Introducción

Wavenet
Es un modelo de síntesis de voz de red neuronal profunda desarrollado por DeepMind y está diseñado para generar voz natural de alta calidad.

5.1.2 Principios e Innovación
  • Basado en una red neuronal convolucional profunda
  • Uso de WaveNet para generar formas de onda de voz con alta fidelidad
5.2 Uso
5.2.1 Instalación y configuración

Wavenet
La instalación puede resultar relativamente complicada porque depende de bibliotecas de aprendizaje profundo como TensorFlow. Los pasos de instalación detallados se pueden encontrar en la página WaveNet GitHub de DeepMind
.

5.2.2 Generación de audio
# 使用Wavenet进行音频生成的示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from wavenet_vocoder import vocoder

# 初始化Wavenet声码器
vocoder_instance = vocoder.WaveNetVocoder()

# 生成语音波形
text = "Hello, welcome to the world of Wavenet text-to-speech."
waveform = vocoder_instance.generate_waveform(text)

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
5.2.3 Escenarios de aplicación avanzados

Wavenet
Admite muchos escenarios de aplicaciones avanzadas, como personalizar sonidos, ajustar la calidad del audio, etc. Puede encontrar información detallada en la documentación oficial de WaveNet .

5.3 Uso avanzado
5.3.1 Personalización de las características del sonido

WavenetPermite a los usuarios personalizar las características del sonido del habla generada, incluido el tono, la velocidad del habla, etc., ajustando los parámetros del modelo. He aquí un ejemplo sencillo:

# Wavenet定制声音特性示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from wavenet_vocoder import vocoder

# 初始化Wavenet声码器
vocoder_instance = vocoder.WaveNetVocoder()

# 生成定制声音特性的语音波形
text = "Hello, welcome to the world of customized Wavenet text-to-speech."
waveform = vocoder_instance.generate_waveform(text, pitch=0.5, speed=1.2)

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
5.3.2 Generación de audio de alta calidad

Al ajustar Wavenetalgunos parámetros, se puede lograr una generación de audio de mayor calidad. Aquí hay un ejemplo:

# Wavenet高音质音频生成示例代码
# (请注意,这里的代码仅为演示,实际使用可能需要更多设置和依赖)

import tensorflow as tf
from wavenet_vocoder import vocoder

# 初始化Wavenet声码器
vocoder_instance = vocoder.WaveNetVocoder()

# 生成高音质的语音波形
text = "Hello, welcome to the world of high-quality Wavenet text-to-speech."
waveform = vocoder_instance.generate_waveform(text, quality=3)  # 调整quality参数

# 播放生成的语音
# (此处可能需要额外的音频库和设置,例如pygame、pydub等)
5.4 Resumen

Esta sección presenta en detalle Wavenetlos conceptos, principios y métodos de uso básicos del modelo de síntesis de voz de red neuronal profunda. Aprendí las complejidades de la instalación y configuración, así como también cómo utilizar la funcionalidad básica de generación de audio. Al mismo tiempo, se demuestran algunos usos avanzados, como personalizar las características del sonido y generar audio de alta calidad, que brindan más opciones de personalización y personalización. En el uso real, es muy importante elegir la herramienta de síntesis de voz adecuada según las necesidades y los escenarios de aplicación.

6. Baidu AIP (síntesis de voz de Baidu)

6.1 Descripción general
6.1.1 Introducción

La síntesis de voz de Baidu (Baidu
AIP) es un servicio de síntesis de voz proporcionado por Baidu que permite a los desarrolladores convertir texto en voz a través de llamadas API.

6.1.2 Descripción general de la función API
  • Proporcionar una interfaz API simple y fácil de usar
  • Admite múltiples idiomas y selecciones de timbre
  • Los resultados de la síntesis de voz se pueden guardar como archivos de audio.
6.2 Uso
6.2.1 Registro y configuración
  1. Registre una cuenta en la plataforma abierta Baidu AI y cree una aplicación para obtener la clave API y la clave secreta.
  2. Instale el SDK de Baidu AIP Python:
pip install baidu-aip
6.2.2 Llamar a la interfaz para implementar la síntesis de voz
from aip import AipSpeech


def text_to_speech_baidu(text, app_id, api_key, secret_key, lang='zh', speed=5, pit=5, vol=5, per=0):
    client = AipSpeech(app_id, api_key, secret_key)

    result = client.synthesis(text, 'zh' if lang == 'zh' else 'en', 1, {
    
    
        'spd': speed, 'pit': pit,
        'vol': vol, 'per': per
    })

    if not isinstance(result, dict):
        with open('output_baidu.mp3', 'wb') as f:
            f.write(result)
        # 播放生成的语音
        # (此处可能需要额外的音频库和设置,例如pygame、pydub等)


# 在此填入您在百度AI开放平台创建应用时获得的App ID、API Key和Secret Key
app_id = 'your_app_id'
api_key = 'your_api_key'
secret_key = 'your_secret_key'

text_to_speech_baidu("百度语音合成示例", app_id, api_key, secret_key, lang='zh')
6.2.3 Funciones avanzadas y opciones de personalización

La API de síntesis de voz de Baidu admite el ajuste de la velocidad, el tono, el volumen y otros parámetros de la voz. Para parámetros específicos y rangos de valores, consulte la documentación de síntesis de voz de Baidu .

6.3 Uso avanzado
6.3.1 Soporte SSML

La API de síntesis de voz de Baidu admite SSML (lenguaje de marcado de síntesis de voz). Al utilizar SSML, los usuarios pueden controlar de manera más flexible el efecto de la síntesis de voz. He aquí un ejemplo sencillo:

from aip import AipSpeech

def text_to_speech_baidu_ssml(text, app_id, api_key, secret_key):
    client = AipSpeech(app_id, api_key, secret_key)

    ssml_text = f"<speak>{
      
      text}</speak>"

    result = client.synthesis(ssml_text, 'zh', 1, {
    
    
        'cuid': 'example_user',
        'per': 0
    })

    if not isinstance(result, dict):
        with open('output_baidu_ssml.mp3', 'wb') as f:
            f.write(result)
        # 播放生成的语音
        # (此处可能需要额外的音频库和设置,例如pygame、pydub等)

# 在此填入您在百度AI开放平台创建应用时获得的App ID、API Key和Secret Key
app_id = 'your_app_id'
api_key = 'your_api_key'
secret_key = 'your_secret_key'

text_to_speech_baidu_ssml("百度语音合成示例,<prosody rate='fast'>语速加快</prosody>,<prosody volume='loud'>音量提高</prosody>", app_id, api_key, secret_key)
6.3.2 Sintetizar múltiples fragmentos de texto

La API de síntesis de voz de Baidu permite sintetizar y unir múltiples segmentos de texto en un archivo de audio, lo que permite un control más flexible de la salida de voz. He aquí un ejemplo sencillo:

from   aip import AipSpeech

def concatenate_texts_and_save_baidu(texts, output_file, app_id, api_key, secret_key):
    client = AipSpeech(app_id, api_key, secret_key)

    ssml_texts = [f"<speak>{
      
      text}</speak>" for text in texts]
    ssml_text = ''.join(ssml_texts)

    result = client.synthesis(ssml_text, 'zh', 1, {
    
    
        'cuid': 'example_user',
        'per': 0
    })

    if not isinstance(result, dict):
        with open(output_file, 'wb') as f:
            f.write(result)
        # 播放生成的语音
        # (此处可能需要额外的音频库和设置,例如pygame、pydub等)

# 在此填入您在百度AI开放平台创建应用时获得的App ID、API Key和Secret Key
app_id = 'your_app_id'
api_key = 'your_api_key'
secret_key = 'your_secret_key'

texts_to_concat = ["百度语音合成示例第一段", "百度语音合成示例第二段"]
concatenate_texts_and_save_baidu(texts_to_concat, 'output_baidu_concat.mp3', app_id, api_key, secret_key)
6.4 Resumen

En esta sección, presentamos en detalle los conceptos básicos de la síntesis de voz de Baidu (Baidu AIP), cómo usar la API y algunas funciones avanzadas y opciones de personalización. A través de la API de síntesis de voz de Baidu, los desarrolladores pueden convertir rápidamente texto a voz y lograr efectos de salida de voz más flexibles ajustando los parámetros y usando SSML. En aplicaciones prácticas, se pueden seleccionar herramientas de síntesis de voz adecuadas según las necesidades específicas.

7. Discurso de Microsoft Azure

7.1 Descripción general
7.1.1 Introducción

Microsoft
Azure
Speech es un servicio de voz proporcionado por Microsoft que incluye capacidades de síntesis de voz para convertir texto en voz natural.

7.1.2 Funciones principales
  • Admite múltiples idiomas y voces
  • Proporcionar servicios de síntesis de voz de alta calidad.
  • El discurso sintetizado se puede guardar como un archivo de audio.
7.2 Uso
7.2.1 Registro y configuración
  1. Regístrese y cree un recurso de servicio de voz en Azure Portal .
  2. Obtenga la clave y el punto final del recurso del servicio de voz.
7.2.2 Servicios de texto a voz
import os
from azure.cognitiveservices.speech import SpeechConfig, AudioConfig, SpeechSynthesizer


def text_to_speech_azure(text, subscription_key, region='eastus'):
    speech_config = SpeechConfig(subscription=subscription_key, region=region)
    audio_config = AudioConfig(use_default_speaker=True)

    synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
    synthesizer.speak_text_async(text).get()


# 在此填入您在Azure门户创建语音服务资源时获得的订阅密钥和区域
subscription_key = 'your_subscription_key'
region = 'your_region'

text_to_speech_azure("Microsoft Azure Speech合成语音示例", subscription_key, region)
7.2.3 Funciones avanzadas de procesamiento de voz

Microsoft Azure Speech proporciona una gran cantidad de funciones avanzadas, como pronunciación personalizada, efectos de voz, etc. Para obtener más detalles, consulte la documentación oficial .

7.3 Uso avanzado
7.3.1 Usando SSML

Microsoft Azure Speech admite el uso de SSML (lenguaje de marcado de síntesis de voz) para personalizar la salida de voz. He aquí un ejemplo sencillo:

import os
from azure.cognitiveservices.speech import SpeechConfig, AudioConfig, SpeechSynthesizer


def text_to_speech_azure_ssml(text, subscription_key, region='eastus'):
    speech_config = SpeechConfig(subscription=subscription_key, region=region)
    audio_config = AudioConfig(use_default_speaker=True)

    synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)

    ssml_text = f"<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'>{
      
      text}</speak>"
    synthesizer.speak_ssml_async(ssml_text).get()


# 在此填入您在Azure门户创建语音服务资源时获得的订阅密钥和区域
subscription_key = 'your_subscription_key'
region = 'your_region'

text_to_speech_azure_ssml("Microsoft Azure Speech合成语音示例,<prosody rate='fast'>语速加快</prosody>,<prosody volume='loud'>音量提高</prosody>", subscription_key, region)
7.3.2 Sintetizar múltiples clips de audio

Con Microsoft Azure Speech, se pueden sintetizar y guardar varios clips de audio como un archivo de audio para lograr una salida de voz más flexible. Aquí hay un ejemplo:

import os
from  azure.cognitiveservices.speech import SpeechConfig, AudioConfig, SpeechSynthesizer


def concatenate_texts_and_save_azure(texts, output_file, subscription_key, region='eastus'):
    speech_config = SpeechConfig(subscription=subscription_key, region=region)
    audio_config = AudioConfig(filename=output_file)

    synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)

    for text in texts:
        synthesizer.speak_text_async(text).get()


# 在此填入您在Azure门户创建语音服务资源时获得的订阅密钥和区域
subscription_key = 'your_subscription_key'
region = 'your_region'

texts_to_concat = ["Microsoft Azure Speech合成语音示例第一段", "Microsoft Azure Speech合成语音示例第二段"]
concatenate_texts_and_save_azure(texts_to_concat, 'output_azure_concat.wav', subscription_key, region)
7.4 Resumen

En esta sección, presentamos en detalle los conceptos básicos, el uso y algunas funciones avanzadas del servicio de síntesis de voz Microsoft Azure Speech. A través del servicio Azure Speech, los desarrolladores pueden convertir fácilmente texto en voz y personalizar la salida de voz de manera más flexible según las necesidades. En aplicaciones prácticas, es muy importante elegir la herramienta de síntesis de voz adecuada según las necesidades específicas.

Resumir

Al leer este artículo, los lectores tendrán un conocimiento profundo de varias herramientas de síntesis de voz. pyttsx3Como solución simple y fácil de usar, es adecuada para principiantes; gTTSaprovecha el potente motor de voz de Google, admite varios idiomas, Festivalproporciona más opciones de personalización Tacotrony Wavenetrepresenta los últimos avances en aprendizaje profundo. Además, los servicios en la nube proporcionados por Baidu y Microsoft también brindan a los desarrolladores soluciones convenientes.

Supongo que te gusta

Origin blog.csdn.net/qq_42531954/article/details/135322968
Recomendado
Clasificación