[Xiao Mu lernt Python] Python implementiert TTS-Text-zu-Sprache (Sprache, pyttsx3, Baidu AI)

1. Einleitung

TTS (Text To Speech) heißt übersetzt „von Text zu Sprache“. TTS ist ein Modul der künstlichen Intelligenz (KI) und Teil des Mensch-Maschine-Dialogs, der es Maschinen ermöglicht, zu sprechen.

TTS ist eine Anwendung der Sprachsynthesetechnologie. Es sammelt zunächst die Sprachwellenform, optimiert sie dann und speichert sie schließlich in der Datenbank. Die synthetisierte Sprache dient dazu, die Wellenform zu extrahieren und in eine natürliche Sprachausgabe umzuwandeln.

2. Windows-Voice

2.1 Einführung

https://support.microsoft.com/zh-cn/windows/%E5%9C%A8%E8%AF%AD%E9%9F%B3%E6%8F%90%E7%A4%BA%E4%B8 %ADwindows-83ff75bd-63eb-0b6c-18d4-6fae94050571

Mit der Windows-Spracherkennung können Sie Ihren Computer allein mit Ihrer Stimme steuern, ohne dass eine Tastatur oder Maus erforderlich ist. In diesem Artikel werden die für die Spracherkennung verfügbaren Befehle aufgeführt.

2.2 Installation

Das Sprachmodul ist ein Kapselungsschichtmodul, das zum Aufrufen des lokalen Windows-Sprachsynthesedienstes verwendet wird. Stellen Sie daher bitte sicher, dass das von Ihnen verwendete Betriebssystem Windows ist und über Python zum Aufrufen der Windows-API, pywin32, verfügt.

pip install speech

Fügen Sie hier eine Bildbeschreibung ein
Ändern Sie die Datei speak.py: print(prompt), import _thread

pip install pypiwin32

Fügen Sie hier eine Bildbeschreibung ein

2.3 Code

import speech
 
#自动体系
speech.say("要开始啦")
 
#输入语音
while True:
    print(u"开始说话")
    say = speech.input()  # 接收语音
    # speech.say("你说了" + say)  # 说话
    speech.say(say)  # 说话

Fügen Sie hier eine Bildbeschreibung ein

import speech
 
while True:
    say = speech.input() # 接收语音
    speech.say("you said:"+say) #说话
    
    if say == "你好":
        speech.say("How are you?")
    elif say == "天气":
        speech.say("今天天气晴!")

3、Pfützex3

3.1 Einführung

https://pypi.org/project/pyttsx3/

Text-to-Speech (TTS)-Bibliothek für Python 2 und 3. Funktioniert ohne Internetverbindung oder Verzögerung. Unterstützt mehrere TTS-Engines, einschließlich Sapi5, nsss, espeak usw.
Fügen Sie hier eine Bildbeschreibung ein
pyttsx3 ist eine Text-to-Speech-Bibliothek in Python. Im Gegensatz zu anderen Bibliotheken funktioniert es offline und ist mit Python 2 und 3 kompatibel.

pyttsx3-Bibliothek: Es handelt sich um eine Text-zu-Sprache-Konvertierungsbibliothek in Python, die offline arbeiten kann
Vorteile: Sie kann offline arbeiten, unterstützt das direkte Lesen von Sprache, einstellbare Lautstärke und Geschwindigkeit
Nachteile: Zunächst gibt es nur englische (weibliche) und chinesische (weibliche) Sprachpakete. Sprachpakete in anderen Sprachen müssen separat heruntergeladen werden

3.2 Installation

pip install pyttsx3

Fügen Sie hier eine Bildbeschreibung ein

3.3 Code

#coding=utf-8
import pyttsx3
pyttsx3.speak("Hello World!")
pyttsx3.speak("持续推动我国经济实现质的有效提升和量的合理增长")	
import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()
import pyttsx3
engine = pyttsx3.init() # object creation

""" RATE"""
rate = engine.getProperty('rate')   # getting details of current speaking rate
print (rate)                        #printing current voice rate
engine.setProperty('rate', 125)     # setting up new voice rate


"""VOLUME"""
volume = engine.getProperty('volume')   #getting to know current volume level (min=0 and max=1)
print (volume)                          #printing current volume level
engine.setProperty('volume',1.0)    # setting up volume level  between 0 and 1

"""VOICE"""
voices = engine.getProperty('voices')       #getting details of current voice
#engine.setProperty('voice', voices[0].id)  #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id)   #changing index, changes voices. 1 for female

engine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()

"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()

4. ggts

4.1 Einführung

https://pypi.org/project/gTTS/
gTTS (Google Text-to-Speech), eine Python-Bibliothek und CLI-Tool für die Textkonvertierung mit der Google Translate Speech API Interaktion.
Fügen Sie hier eine Bildbeschreibung ein

gTTS (Google Text-to-Speech), eine Python-Bibliothek und ein CLI-Tool für die Interaktion mit der Text-to-Speech-API von Google Translate. Schreibt Sprachdaten zur weiteren Audiobearbeitung in eine Datei, ein dateiähnliches Objekt (Bytestring).

4.2 Installation

pip install gTTS

Fügen Sie hier eine Bildbeschreibung ein

4.3 Code

gtts-cli 'hello' --output hello.mp3

oder

from gtts import gTTS
tts = gTTS('hello')
tts.save('hello.mp3')

Fügen Sie hier eine Bildbeschreibung ein
Die Ausführung ist fehlgeschlagen.

5、KUH

SAPI ist die Microsoft Speech API, eine von Microsoft eingeführte Sprachschnittstelle. Ab WINXP verfügt das System bereits über eine Spracherkennungsfunktion, es gibt jedoch nur sehr wenige Orte, an denen sie verwendet werden kann, und sie bietet keine Menschlichkeit. Die individuelle Lösung und die einzigen Sprachsteuerungsbefehle sind ziemlich einschüchternd.
Eine Bibliothek, die die Fenster-DLL betreibt. Sie kann viele Funktionen implementieren und ist sehr leistungsstark.

import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("hello")

6、SpeechLib

comtypes hängt vom Paket pyttsx3 ab. ( comtypes Erforderlich von: pyttsx3 )
Installation:

pip install comtypes

Code:

from comtypes.client import CreateObject
 
engine = CreateObject('SAPI.SpVoice')
stream = CreateObject('SAPI.SpFileStream')
 
from comtypes.gen import SpeechLib  # 导这个包必须放在 上面3行代码 后面,否则运行时会报错。
 
infile = 'demo.txt'
outfile = 'demo_audio.wav'
 
stream.Open(outfile, SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
# 读取文本内容
f = open(infile, 'r', encoding='utf-8')
theText = f.read()
f.close()
engine.speak(theText)
stream.close()

7. Baidu-KI

https://ai.baidu.com/

Basierend auf der End-to-End-Modellierung von Deep Peak2 wird der Audiostream in Echtzeit als Text erkannt und die Start- und Endzeit jedes Satzes zurückgegeben. Es eignet sich für die Spracheingabe langer Sätze und Audio und Videountertitel, Konferenzen und andere Szenarien.< /span>https://console.bce.baidu. com/ai/#/ai/speech/ Overview/resource/getFree
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
https://ai.baidu.com/sdk#asr
Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

pip install baidu_aip
from aip import AipSpeech

#用上面提到的APP ID, API Key和Secret Key替换
APP_ID = 'xxxx'
API_KEY = 'xxxx'
SECRET_KEY = 'xxxx'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

manual = r'百度你好! \
语音合成测试。'

if __name__ == '__main__':
    print('start voice process')

    #语速spd: 5, 语调pit: 5, 播音per: 1
    result  = client.synthesis(manual, 'zh', 1, {
    
    
        'vol': 5, 'per':1,
    })

    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(result, dict):
        with open('audio.mp3', 'wb') as f:
            f.write(result)
    print('process end')

8. Baidu-Flugpaddel

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install paddlespeech -i https://pypi.tuna.tsinghua.edu.cn/simple

paddlespeech tts --input '人工智能体验' --output test.wav
paddlespeech asr --input test.wav
paddlespeech asr --lang zh --input test.wav
from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="test.wav")
print(result)

Abschluss

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)! ! !

Supongo que te gusta

Origin blog.csdn.net/hhy321/article/details/134900548
Recomendado
Clasificación