edge-tts:文字轉語音開源免費工具

99次閱讀
尚無留言

edge-tts(文字轉語音開源免費工具) 簡介

edge-tts 是一個文字轉語音開源免費工具, 是一個免費開源的 Python 工具, 它能夠利用微軟 Edge 瀏覽器在線語音合成服務, 將文字轉換為高品質的語音輸出, 而無需安裝微軟 Edge 瀏覽器或 Windows 作業系統, 也不需要申請 API 密鑰, 用戶能夠直接透過 Python 程式碼或命令列工具來使用該服務, 支援超過 100 種語言和口音, 用戶可以根據需求選擇不同的語音, 同時還提供了一些自訂選項, 如調整語音的語速、音量和音高等。

edge-tts(文字轉語音開源免費工具) 官網及教程

edge-tts:文字轉語音開源免費工具

使用 edge-tts 非常簡單。我們只需安裝該模組, 就可以在 Python 程式碼中呼叫相應的函式, 將文字傳遞給語音合成引擎, 生成高品質的語音檔案。此外, 該專案還提供了兩個命令列工具 edge-tts 和 edge-playback, 允許用戶在終端機中直接輸入文字, 生成和播放相應的語音輸出。

安裝步驟如下:

運行以下命令:

pip install edge-tts

如果您只想使用 edge-tts and edge-playback 命令, 最好使用 pipx:

pipx install edge-tts

基本用法如下:

如果要使用該 edge-tts 命令, 只需使用以下命令運行它:

edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt

如果您希望立即播放帶有字幕的播放, 您可以使用以下 edge-playback 命令:

edge-playback --text "Hello, world!"

請注意, 上述內容需要安裝命令列播放器 mpv, 所有 edge-tts 命令也都適用於 edge-playback 命令。

如果想更改語音語言, 必須首先使用以下 –list-voices 選項檢查可用語音:

edge-tts --list-voices

Name: Microsoft Server Speech Text to Speech Voice (af-ZA, AdriNeural)
ShortName: af-ZA-AdriNeural
Gender: Female
Locale: af-ZA

Name: Microsoft Server Speech Text to Speech Voice (am-ET, MekdesNeural)
ShortName: am-ET-MekdesNeural
Gender: Female
Locale: am-E

Name: Microsoft Server Speech Text to Speech Voice (ar-EG, SalmaNeural)
ShortName: ar-EG-SalmaNeural
Gender: Female
Locale: ar-EG

Name: Microsoft Server Speech Text to Speech Voice (ar-SA, ZariyahNeural)
ShortName: ar-SA-ZariyahNeural
Gender: Female
Locale: ar-SA

...

edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media hello_in_arabic.mp3 --write-subtitles hello_in_arabic.vtt

可以對生成的語音進行細微的修改。

$ edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3 --write-subtitles hello_with_rate_halved.vtt
$ edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3 --write-subtitles hello_with_volume_halved.vtt
$ edge-tts --pitch=-50Hz --text "Hello, world!" --write-media hello_with_pitch_halved.mp3 --write-subtitles hello_with_pitch_halved.vtt

此外, 它需要使用 –rate=-50% 而不是 –rate -50%(注意缺少等號), 否則 -50% 將被解釋為只是另一個參數。

正文完
 0
評論(尚無留言)
验证码