Comment utiliser la bibliothèque tierce Python gTTs/pyttsx3/speech

WBOY
Libérer: 2023-05-12 18:43:06
avant
2391 Les gens l'ont consulté

Synthèse vocale Python (recherche et fonction terminée)

En raison des besoins du projet, je dois convertir la synthèse vocale, la première étape consiste donc à mener des recherches

Qu'est-ce que la technologie de synthèse vocale ?

Synthèse vocale (text to Speech), appelée TTS. C'est une technologie qui convertit le texte en parole. Elle permet à l'ordinateur de simuler la bouche humaine et d'exprimer ce qu'il veut exprimer à travers différents timbres. Elle fait partie du dialogue homme-machine.
TTS peut convertir intelligemment le texte en flux vocal naturel grâce à la conception du réseau neuronal. Il facilite grandement l'utilisation des patients malvoyants et améliore également la lisibilité du texte. Les applications TTS incluent du matériel piloté par la parole et des systèmes sensibles au son, et sont souvent utilisées avec des programmes de reconnaissance vocale.

Maintenant, de nombreux fabricants ont lancé leurs propres services ou API de synthèse vocale. Vous pouvez également le vérifier par vous-même. Cet article effectue uniquement des recherches sur les bibliothèques de synthèse vocale tierces dans l'environnement Python. ?

Comme mentionné ci-dessus Comme mentionné, bien qu'il existe de nombreux produits sur le marché, en tant que développeur, je veux un outil gratuit capable de déboguer le code. Après avoir recherché du matériel, j'ai découvert que la bibliothèque gTTs, la bibliothèque pyttsx3 et la parole. bibliothèque peut me satisfaire. Pour faire une comparaison horizontale en fonction des besoins, on peut éviter les détours.

Nom de la bibliothèque tierce

Nécessite une connexion InternetPrend en charge le chinois et l'anglais&radic ; √ discoursX√ X Écrivez des données vocales mp3 dans un fichierAvantages : prend en charge plusieurs langues, dont le chinois, l'anglais et le japonais, pris en charge par l'API Google Translate, la voix humaine est plutôt agréableInconvénients : ne prend pas en charge le réglage de la vitesse de parole, chaque utilisation doit être scientifiquement connectée à Internet, ne peut pas être utilisé de manière autonomeDans la fonction de lecture vocale, nous avons choisi deux méthodesLa première est la bibliothèque de sons de lecture pour lire automatiquement l'audio (la progression de la lecture ne peut pas être ajustée)Le la deuxième est la bibliothèque OS pour appeler le propre lecteur du système (progression réglable) Veuillez consulter la bibliothèque Playsound Play et la bibliothèque GTTS pour convertir le texte
# 函数功能: 用gtts库阅读文本,保存为.mp3文件后, 用系统内置的浏览器阅读出来, 打开mp3文件, 函数执行结束(播放方式为os库)
def gtts_os_debug(text,mp3_filepath,language):#参数说明:参数1是朗读的文字,参数2是保存路径,参数3是数字{0英文,1中文,2日语}
    #大成功,可惜的是os调用自带播放器, 实际上只执行了"打开mp3"的操作, 它并不会在音频播报完后再进行下一条语句
    from gtts import gTTS
    import os
    # 已知zh-tw版本违和感较高,所以我们用zh-CN来进行后续工作
    if int(language) ==0 :
        s = gTTS(text=text, lang='en', tld='com')
        # s = gTTS(text=text, lang='en', tld='co.uk')#我比较喜欢美音,但是如果你喜欢英国口音可以尝试这个
    elif int(language) ==1 :
        s = gTTS(text=text, lang='zh-CN')
    elif int(language) ==2 :
        s = gTTS(text=text, lang='ja')
    try:
        s.save(mp3_filepath)
    except:
        os.remove(mp3_filepath)
        print(mp3_filepath,"文件已经存在,但是没有关系!已经删掉了")
        s.save(mp3_filepath)
    print(mp3_filepath,"保存成功")
    os.system(mp3_filepath)#调用系统自带的播放器播放MP3
gtts_os_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文测试.mp3",language=0)
gtts_os_debug(text="我是gtts库, 你想听听我的声音吗",mp3_filepath="gtts中文测试.mp3",language=1)
gtts_os_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日语测试.mp3",language=2)
Copier après la connexion
fonction bibliothèque pyttsx3 : C'est une bibliothèque de conversion de texte en parole en Python, elle peut fonctionner hors ligneInconvénients : Initialement, seules les voix anglaises (féminines) et chinoises (féminines) sont disponibles, les autres paquets vocaux doivent être téléchargés séparémentVeuillez consulter
Prend en charge le japonais Vitesse de parole réglable Comme le niveau de la voix humaine ggts
la fonction Veuillez consulter la bibliothèque OS pour lire et la bibliothèque GTTS pour convertir le texte
# 函数功能: 用gtts库阅读文本,保存为.mp3文件后, 用playsound库阅读出来, 阅读完毕, 函数执行结束
def gtts_debug(text,mp3_filepath,language):#参数说明:参数1是朗读的文字,参数2是保存路径,参数3是数字{0英文,1中文,2日语}
    #大成功,已经实现了定制化文字转语音,但是播放的playsound需要改进(playsound库本身可能会出现bug...)
    from gtts import gTTS
    from playsound import playsound
    import os
    if int(language) ==0 :
        s = gTTS(text=text, lang='en', tld='com')
        # s = gTTS(text=text, lang='en', tld='co.uk')#我比较喜欢美音,但是如果你喜欢英国口音可以尝试这个
    elif int(language) ==1 :
        s = gTTS(text=text, lang='zh-CN')
    elif int(language) ==2 :
        s = gTTS(text=text, lang='ja')
    try:
        s.save(mp3_filepath)
    except:
        os.remove(mp3_filepath)
        print(mp3_filepath,"文件已经存在,但是没有关系!已经删掉了")
        s.save(mp3_filepath)
    print(mp3_filepath,"保存成功")
    playsound(mp3_filepath)
gtts_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文测试.mp3",language=0)
gtts_debug(text="我是gtts库, 你想听听我的声音吗",mp3_filepath="gtts中文测试.mp3",language=1)
gtts_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日语测试.mp3",language=2)
Copier après la connexion
bibliothèque pyttsx3 Avantages : Peut fonctionner hors ligne, prend en charge la lecture directe de la parole, le volume et la vitesse réglables
bibliothèque pyttsx3 pour convertir le texte et la fonction d'auto-lecture

def pyttsx3_debug(text,language,rate,volume,filename,sayit=0):
    #参数说明: 六个重要参数,阅读的文字,语言(0-英文/1-中文),语速,音量(0-1),保存的文件名(以.mp3收尾),是否发言(0否1是)
    import pyttsx3
    engine = pyttsx3.init()  # 初始化语音引擎
    engine.setProperty('rate', rate)  # 设置语速
    #速度调试结果:50戏剧化的慢,200正常,350用心听小说,500敷衍了事
    engine.setProperty('volume', volume)  # 设置音量
    voices = engine.getProperty('voices')  # 获取当前语音的详细信息
    if int(language)==0:
        engine.setProperty('voice', voices[0].id)  # 设置第一个语音合成器 #改变索引,改变声音。0中文,1英文(只有这两个选择)
    elif int(language)==1:
        engine.setProperty('voice', voices[1].id)
    if int(sayit)==1:
        engine.say(text)  # pyttsx3->将结果念出来
    elif int(sayit)==0:
        print("那我就不念了哈")
    engine.save_to_file(text, filename) # 保存音频文件
    print(filename,"保存成功")
    engine.runAndWait() # pyttsx3结束语句(必须加)
    engine.stop() # pyttsx3结束语句(必须加)
pyttsx3_debug(text="我是pyttsx3, 初次见面, 给您拜个早年",language=0,rate=200,volume=0.9,filename="ptttsx3中文测试.mp3",sayit=1)
pyttsx3_debug(text="I'm fake Siri, your smart voice Manager",language=1,rate=200,volume=0.9,filename="ptttsx3英文测试.mp3",sayit=1)
Copier après la connexion

bibliothèque vocale
parole
: Module de synthèse vocale basé sur Windows, une ligne de code peut réaliser la lecture
Avantages : S'appuyant sur le système Windows, l'installation et l'utilisation sont extrêmement simples et super pratiques.
Convient au processus de débogage de code, laissez le langage froid de l'IA me réveiller de l'écriture de bugs QAQ

Inconvénients : seule la langue du système (chinois et anglais), ne prend pas en charge le réglage de la vitesse de parole et l'exportation audio

    Veuillez consulter
  • parole en texte

    Fonction

    import speech
    speech.say("甘霖娘,又出bug了")
    speech.say("Don't ask me .I have no idea why bug exist again")
    # 如你所见, 代码编译究极简单, 而且单机, 但是!每次使用都会呼出微软语音助手...
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal