edge-tts:一行代碼,文本輕松變成語(yǔ)音
發(fā)布日期:2023/7/27 7:42:55 瀏覽量:
是不是很熟悉,影視解說(shuō)中常用開(kāi)頭:這個(gè)女人叫小美。。。
edge-tts 介紹
edge-tts 是一個(gè)Python的庫(kù),繼承了微軟 Azure 的文本轉(zhuǎn)語(yǔ)音功能(TTS),且是免費(fèi)使用的。該庫(kù)提供了一個(gè)簡(jiǎn)單的 API,可以將文本轉(zhuǎn)換為語(yǔ)音,并且支持多種語(yǔ)言和聲音。
只需要一行代碼,即可將文本轉(zhuǎn)換為語(yǔ)音!
edge-tts --text "Hello, world!" --write-media hello.mp3
詳細(xì)步驟
1、安裝 Python 環(huán)境,這里我用的 Python 3.11.1 開(kāi)發(fā)環(huán)境,這一步不會(huì)的可以參考我之前發(fā)過(guò)的文章。
2、安裝 edge-tts 庫(kù)。
pip install edge-tts
3、安裝完成后,在 cmd 窗口中輸入 edge-tts 命令,輸出如下提示信息,說(shuō)明已經(jīng)安裝完成。
4、嘗試一下,生成第一個(gè) TTS 語(yǔ)音吧,默認(rèn)會(huì)在本地生成一個(gè) hello.mp3 的音頻文件。
edge-tts --text "Hello, world!" --write-media hello.mp3
5、這里使用的是默認(rèn)的語(yǔ)音模型,你還可以通過(guò) --list-voices 選項(xiàng)來(lái)查看可用的語(yǔ)音列表,然后通過(guò) --voice 選項(xiàng)來(lái)選擇你想要的聲音。
edge-tts --list-voices ... Name: zh-CN-XiaoxiaoNeural Gender: Female Name: zh-CN-XiaoyiNeural Gender: Female Name: zh-CN-YunjianNeural Gender: Male Name: zh-CN-YunxiNeural Gender: Male Name: zh-CN-YunxiaNeural Gender: Male Name: zh-CN-YunyangNeural Gender: Male Name: zh-CN-liaoning-XiaobeiNeural Gender: Female Name: zh-CN-shaanxi-XiaoniNeural Gender: Female ... edge-tts --voice zh-CN-YunxiNeural --text "你好,我是程序員樹(shù)先生" --write-media hello_tree.mp3
6、你還可以通過(guò) --rate 和 --volume 選項(xiàng)來(lái)調(diào)整語(yǔ)速和音量,-50% 代表降低語(yǔ)速/音量。
edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3 edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3
7、以上是在 cmd 命令行中執(zhí)行的指令,我們也可以使用 python 進(jìn)行讀取文件內(nèi)容轉(zhuǎn)語(yǔ)音,直接獻(xiàn)上代碼。
import edge_tts import asyncio TEXT = "" with open(’C:\\Users\\Tree\\Desktop\\text2voicetest.txt’, ’rb’) as f: data = f.read() TEXT = data.decode(’utf-8’) print(TEXT) voice = ’zh-CN-YunxiNeural’ output = ’C:\\Users\\Tree\\Desktop\\text2voicetest.mp3’ rate = ’-4%’ volume = ’+0%’ async def my_function(): tts = edge_tts.Communicate(text=TEXT, voice=voice, rate=rate, volume=volume) await tts.save(output) if __name__ == ’__main__’: asyncio.run(my_function())
在桌面創(chuàng)建一個(gè) text2voicetest.txt 文件,寫(xiě)上你想寫(xiě)的內(nèi)容,直接運(yùn)行上述代碼,即可生成相應(yīng)的 MP3 文件,搞定!
使用場(chǎng)景
-
你可以用它來(lái)為你的博客文章或者電子書(shū)添加語(yǔ)音朗讀,讓你的讀者可以邊聽(tīng)邊學(xué)。
-
你可以用它來(lái)為你的游戲或者動(dòng)畫(huà)添加語(yǔ)音配音,讓你的角色更有個(gè)性和表現(xiàn)力。
-
你可以用它來(lái)為你的 chatGPT 聊天機(jī)器人或者智能助理添加語(yǔ)音交互,讓你的用戶更方便和舒適。
-
你可以用它來(lái)學(xué)習(xí)不同語(yǔ)言的發(fā)音,或者聽(tīng)取不同聲音的風(fēng)格和情感。
-
你可以用它來(lái)在任何地方使用文本轉(zhuǎn)語(yǔ)音服務(wù),無(wú)論是云端、本地還是邊緣設(shè)備。
項(xiàng)目地址
https://github.com/rany2/edge-tts 馬上咨詢: 如果您有業(yè)務(wù)方面的問(wèn)題或者需求,歡迎您咨詢!我們帶來(lái)的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生