資源簡介
一個python離線的TTS語音合成,簡單實現和使用!首先將文本與語音對照的方法實現了轉換,然后再播放對應文字對應的拼音所對應的音頻來播放語音 。缺點是沒有進行音頻合成。
代碼片段和文件信息
from?os?import?path
import?codecs
import?winsound
class?Hanzi2Pinyin():
????def?__init__(self):
????????self.table?=?{}
????????try:
????????????fp?=?codecs.open(path.join(path.dirname(__file__)?‘pinyin.txt‘)?‘r‘?‘utf-8‘)
????????except?IOError:
????????????raise?Exception(“Can‘t?load?data?from?pinyin.txt“)
????????except?UnicodeDecodeError:
????????????raise?Exception(“Can‘t?decode?data?from?pinyin.txt“)
????????else:
????????????for?l?in?fp.readlines():
????????????????self.table[l[0]]?=?l[1:-1]
????????????fp.close()
????def?convert(self?value):
????????pinyin?=?[]
????????tASCII?=?‘‘
????????#?字符檢查
????????for?c?in?value.lower()?+?‘?‘:?#?加個空格多一次循環?修正尾部字符丟失問題
????????????i?=?ord(c)
????????????if?(i?>=?48?and?i?<=?57)?or?(i?>=?97?and?i?<=?122):?#?48-57[0-9]???97-122[a-z]
????????????????tASCII?+=?c
????????????????continue
????????????tASCII?and?pinyin.append(tASCII)
????????????tASCII?=?‘‘
????????????if?c?in?self.table:
????????????????pinyin.append(self.table[c])
????????return?pinyin
#?播放wav
def?play(word):
????p?=?Hanzi2Pinyin().convert(str(word))
????for?name?in?p:
????????winsound.PlaySound(path.join(path.dirname(__file__)??‘yyc\\{0}.wav‘.format(name)?)?winsound.SND_FILENAME)
def?main():
????string?=?input(‘請輸入要轉換為語音的中文文本:\n‘)
????print()
????print(‘*‘*12)
????print(‘待轉換的語音為:‘string)
????print(‘*‘*12)
????play(string)
if?__name__?==?‘__main__‘:
????main()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1499??2020-05-08?00:34??TTS\main.py
????.......????145633??2019-07-30?12:30??TTS\pinyin.txt
????.......????????29??2019-07-30?12:30??TTS\yyc\$read
????.......?????35902??2019-07-30?12:30??TTS\yyc\a.wav
????.......?????36772??2019-07-30?12:30??TTS\yyc\ai.wav
????.......?????36772??2019-07-30?12:30??TTS\yyc\ai_.wav
????.......??????1192??2019-07-30?12:30??TTS\yyc\ai_wav.frq
????.......??????1192??2019-07-30?12:30??TTS\yyc\ai__wav.frq
????.......?????44286??2019-07-30?12:30??TTS\yyc\an.wav
????.......?????42848??2019-07-30?12:30??TTS\yyc\ang.wav
????.......?????42848??2019-07-30?12:30??TTS\yyc\ang_.wav
????.......??????1384??2019-07-30?12:30??TTS\yyc\ang_wav.frq
????.......??????1384??2019-07-30?12:30??TTS\yyc\ang__wav.frq
????.......?????44286??2019-07-30?12:30??TTS\yyc\an_.wav
????.......??????1432??2019-07-30?12:30??TTS\yyc\an_wav.frq
????.......??????1432??2019-07-30?12:30??TTS\yyc\an__wav.frq
????.......?????45450??2019-07-30?12:30??TTS\yyc\ao.wav
????.......?????45450??2019-07-30?12:30??TTS\yyc\ao_.wav
????.......??????1464??2019-07-30?12:30??TTS\yyc\ao_wav.frq
????.......??????1464??2019-07-30?12:30??TTS\yyc\ao__wav.frq
????.......??????4233??2019-07-30?12:30??TTS\yyc\avatar.jpg
????.......?????35902??2019-07-30?12:30??TTS\yyc\a_.wav
????.......??????1176??2019-07-30?12:30??TTS\yyc\a_wav.frq
????.......??????1176??2019-07-30?12:30??TTS\yyc\a__wav.frq
????.......?????37350??2019-07-30?12:30??TTS\yyc\ba.wav
????.......?????39374??2019-07-30?12:30??TTS\yyc\bai.wav
????.......??????1272??2019-07-30?12:30??TTS\yyc\bai_wav.frq
????.......?????48052??2019-07-30?12:30??TTS\yyc\ban.wav
????.......?????41110??2019-07-30?12:30??TTS\yyc\bang.wav
????.......??????1336??2019-07-30?12:30??TTS\yyc\bang_wav.frq
............此處省略866個文件信息
評論
共有 條評論