文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。
Manim Voiceover 是一個為 Manim 打造的專注于語音旁白的插件:
- 直接在 Python 中添加語音旁白: 無需使用視頻編輯器,即可為 Manim 視頻添加語音旁白。
- 在渲染期間錄制旁白: 通過簡單的命令行界面(參見
RecorderService
),可使用麥克風在渲染過程中錄制語音旁白。 - 使用 AI 生成旁白: 利用多種免費及付費服務,開發時可直接使用 AI 自動生成的配音。
- 動畫逐詞時間標記: 實現動畫與語音旁白的逐詞時間標記同步,即根據語音旁白中特定詞語觸發相應的動畫效果。即使是錄制的音頻,此功能也能實現。這得益于 OpenAI Whisper 技術的支持。
語音服務
Manim Voiceover 可以與各種語音合成器集成,以生成旁白音頻。以下是可用服務的比較,包括它們的優缺點以及如何設置。
選擇語音服務
Manim Voiceover 定義了 SpeechService
類,用于添加新的語音合成器。以下介紹的類都是從 SpeechService
派生的。
語音服務 | 質量 | 是否可以離線運行 | 是否付費/需要賬戶 | 注意事項 |
---|---|---|---|---|
RecorderService | 不適用 | 不適用 | 不適用 | 這是一個實用類,用于通過麥克風錄制自己的旁白。 |
AzureService | 非常好,類似人類 | 否 | 是 | Azure 提供每月 500 分鐘的免費 TTS 配額。然而,注冊仍需要信用卡或借記卡。有關詳細信息,請參閱 Azure 免費賬戶常見問題解答。 |
ElevenLabsService | 非常好,類似人類 | 否 | 是 | 需要 ElevenLabs 賬戶。點擊此處注冊。 |
CoquiService | 好,類似人類 | 是 | 否 | 需要 PyTorch 才能運行。在某些平臺上可能難以設置。 |
GTTSService | 好 | 否 | 否 | 這是一個由 Google 補貼的免費 API,因此未來可能會停止工作。 |
OpenAIService | 非常好,類似人類 | 否 | 是 | 需要 OpenAI 開發者賬戶。請參閱平臺以注冊,并查看定價頁面以了解更多信息。 |
PyTTSX3Service | 差 | 是 | 否 | 需要 espeak。在 Mac 上運行不可靠。 |
可用語音服務的比較
我們計劃提供一個可以在本地免費運行的高質量 TTS 引擎。如果您有任何建議,請在 Discord 服務器中告訴我們。
RecorderService
這不是一個語音合成器,而是一個實用類,用于通過麥克風錄制自己的旁白。它提供了一個命令行界面,以便在渲染過程中錄制旁白。
為了使用 RecorderService
,請安裝帶有 recorder
額外組件的 Manim Voiceover:
pip install "manim-voiceover[recorder]"
請參閱示例用法以開始。
AzureService
目前,Manim Voiceover 中可用的最高質量的文本到語音服務是 Microsoft Azure 語音服務。要使用它,您需要創建一個 Azure 賬戶。
提示:Azure 目前每月提供 500 分鐘的免費 TTS。這對于大多數項目來說已經足夠。
為了使用 AzureService
,請安裝帶有 azure
額外組件的 Manim Voiceover:
pip install "manim-voiceover[azure]"
然后,您需要找到您的訂閱密鑰和服務區域:
- 登錄到 Azure 門戶并創建一個新的語音服務資源。
- 轉到 Azure 認知服務頁面。
- 點擊您創建的資源并轉到
Keys and Endpoint
選項卡。復制Key 1
和Location
的值。
在您調用 Manim 的同一目錄中創建一個名為 .env
的文件,其中包含您的身份驗證信息。
AZURE_SUBSCRIPTION_KEY="..." # 在此處插入 Key 1
AZURE_SERVICE_REGION="..." # 在此處插入 Location
請參閱 Azure 文檔以了解更多信息。
請參閱示例用法以開始。
CoquiService
Coqui TTS 是一個開源的神經文本到語音引擎。它是 Mozilla TTS 的一個分支,而 Mozilla TTS 是 Tacotron 2 的一個實現。它是一個非常好的 TTS 引擎,能夠產生類似人類的語音。然而,它需要 PyTorch 才能運行,這在某些平臺上可能難以設置。
為了使用 CoquiService
,請安裝帶有 coqui
額外組件的 Manim Voiceover:
pip install "manim-voiceover[coqui]"
如果您遇到 PyTorch 或 NumPy 的問題,請嘗試將您的 Python 版本更改為 3.9。
請參閱示例用法以開始。
GTTSService
gTTS 是一個文本到語音庫,它封裝了 Google 翻譯的文本到語音 API。它需要互聯網連接才能工作。
為了使用 GTTSService
,請安裝帶有 gtts
額外組件的 Manim Voiceover:
pip install "manim-voiceover[gtts]"
請參閱示例用法以開始。
OpenAIService
OpenAI 提供了一個文本到語音服務。這是一個通過 API 提供的服務,因此它需要互聯網連接才能工作。它還需要一個 API 密鑰才能使用。請在此處注冊。
為了使用 OpenAIService
,請安裝帶有 openai
額外組件的 Manim Voiceover:
pip install "manim-voiceover[openai]"
然后,您需要找到您的 API 密鑰:
- 登錄到OpenAI 平臺并從左側面板中點擊 Api Keys。
- 點擊創建一個新的密鑰并復制它。
在您調用 Manim 的同一目錄中創建一個名為 .env
的文件,其中包含您的身份驗證信息。
OPENAI_API_KEY="..." # 在此處插入密鑰。它應該以 "sk-" 開頭
請參閱 OpenAI 文檔以了解更多信息。
請參閱示例用法以開始。
PyTTSX3Service
pyttsx3 是一個文本到語音庫,它封裝了 espeak,這是一個形式合成語音合成器。
為了使用 PyTTSX3Service
,請安裝帶有 pyttsx3
額外組件的 Manim Voiceover:
pip install "manim-voiceover[pyttsx3]"
請參閱示例用法以開始。
ElevenLabsService
ElevenLabs 提供了最自然的語音服務 API 之一。它擁有一系列逼真且富有情感的聲音,并且還允許您通過上傳幾分鐘的語音來克隆自己的聲音。要使用它,您需要在 Eleven Labs 創建一個賬戶。
提示:ElevenLabs 目前每月提供 10,000 個字符的免費 TTS,并且最多可以使用 3 個自定義聲音。
為了使用 ElevenLabsService
,請安裝帶有 elevenlabs
額外組件的 Manim Voiceover:
pip install "manim-voiceover[elevenlabs]"
然后,您需要找到您的 API 密鑰。
- 登錄到 ElevenLabs 門戶并轉到您的個人資料以獲取密鑰
- 將環境變量
ELEVEN_API_KEY
設置為您的密鑰
在您調用 Manim 的同一目錄中創建一個名為 .env
的文件,其中包含您的身份驗證信息。
ELEVEN_API_KEY="..." # 在此處插入 Key 1
請參閱 ElevenLabs 文檔以了解更多信息。
請參閱示例用法以開始。
風險提示與免責聲明
本文內容基于公開信息研究整理,不構成任何形式的投資建議。歷史表現不應作為未來收益保證,市場存在不可預見的波動風險。投資者需結合自身財務狀況及風險承受能力獨立決策,并自行承擔交易結果。作者及發布方不對任何依據本文操作導致的損失承擔法律責任。市場有風險,投資須謹慎。