用python实现声音转文字和文字转声音

用python实现声音转文字和文字转声音

用python实现声音转文字和文字转声音

现在各大云服务都推出自己的语音转文字,及文字转语音模块,都是都是收费的,今天我来讲一下用免费的文字转语音及语音转文字服务,他就是google推出的服务。

一、声音转文字

安装

pip install SpeechRecognition

使用

import speech_recognition as sr

r = sr.Recognizer()

file = sr.AudioFile(‘hello.wav’)

with file as source:
 r.adjust_for_ambient_noise(source)
 audio = r.record(source)
 result = r.recognize_google(audio,language="zh-CN")
print(result)

如果使用麦克风实时的语音转文字的话要引入pyaudio

pip install SpeechRecognition
pip install pyaudio

使用

import speech_recognition as sr
r = sr.Recognizer()

with sr.Microphone() as source:
 r.adjust_for_ambient_noise(source)
 data = r.record(source, duration=5)#只录制5秒钟上传识别
 print(“识别中……”)
 text = r.recognize_google(data,language="zh-CN")
 print(text)

二、文字转声音

gTTS是谷歌推出的文字转语音库,使用起来非常方便

安装

pip install gTTS

使用

from gtts import gTTS
import os
tts = gTTS(text='您好,bfw平台上了吗?', lang='zh-cn')
tts.save("hello.mp3")
playsound("hello.mp3")

支持的语言有

{'af': 'Afrikaans', 'sq': 'Albanian', 'ar': 'Arabic', 'hy': 'Armenian', 'bn': 'Bengali', 'bs': 'Bosnian', 'ca': 'Catalan', 'hr': 'Croatian', 'cs': 'Czech', 'da': 'Danish', 'nl': 'Dutch', 'en': 'English', 'eo': 'Esperanto', 'et': 'Estonian', 'tl': 'Filipino', 'fi': 'Finnish', 'fr': 'French', 'de': 'German', 'el': 'Greek', 'gu': 'Gujarati', 'hi': 'Hindi', 'hu': 'Hungarian', 'is': 'Icelandic', 'id': 'Indonesian', 'it': 'Italian', 'ja': 'Japanese', 'jw': 'Javanese', 'kn': 'Kannada', 'km': 'Khmer', 'ko': 'Korean', 'la': 'Latin', 'lv': 'Latvian', 'mk': 'Macedonian', 'ml': 'Malayalam', 'mr': 
'Marathi', 'my': 'Myanmar (Burmese)', 'ne': 'Nepali', 'no': 'Norwegian', 'pl': 'Polish', 'pt': 'Portuguese', 'ro': 'Romanian', 'ru': 'Russian', 'sr': 'Serbian', 'si': 'Sinhala', 'sk': 'Slovak', 'es': 'Spanish', 'su': 'Sundanese', 'sw': 'Swahili', 'sv': 'Swedish', 'ta': 'Tamil', 'te': 'Telugu', 'th': 'Thai', 'tr': 'Turkish', 'uk': 'Ukrainian', 'ur': 'Urdu', 'vi': 'Vietnamese', 'cy': 'Welsh', 'zh-cn': 'Chinese (Mandarin/China)', 'zh-tw': 'Chinese (Mandarin/Taiwan)', 'en-us': 'English (US)', 'en-ca': 'English (Canada)', 'en-uk': 'English (UK)', 'en-gb': 'English (UK)', 'en-au': 'English (Australia)', 'en-gh': 'English (Ghana)', 'en-in': 'English (India)', 'en-ie': 'English (Ireland)', 'en-nz': 'English (New Zealand)', 'en-ng': 'English (Nigeria)', 'en-ph': 'English (Philippines)', 'en-za': 'English (South Africa)', 'en-tz': 'English (Tanzania)', 'fr-ca': 'French (Canada)', 'fr-fr': 'French (France)', 'pt-br': 'Portuguese (Brazil)', 'pt-pt': 'Portuguese (Portugal)', 'es-es': 'Spanish (Spain)', 'es-us': 'Spanish (United States)'}



{{collectdata}}

网友评论0