Command Palette

Search for a command to run...

七十八兆位元組檔案中的九百個聲音

七十八兆位元組檔案中的九百個聲音

T
Toolz Team
|Oct 23, 2026|17 閱讀
在 Google 上首選 Toolz。dev

人工智慧工具 系列的一部分

人工智慧文字轉語音

使用 Piper TTS 將英文文字轉換為具有 8 個聲音和速度控制的自然語音。播放或下載 WAV。免費,無註冊,文字未儲存。

使用人工智慧文字轉語音

在我們自己的硬體上運行文字轉語音讓我感到驚訝的是,模型有多小。 一個檔案,78 MB,容納 904 個不同的揚聲器。 這還不到一張手機照片爆發,大約是單一中音型語言模型重量的十分之一,因此您不會立即將其放入合成中。 我測量了工具暴露的八個聲音中的三個:它們的中位數為 103 Hz、184 Hz 和 242 Hz,這是一個真正的範圍,從低男性聲音到高女性聲音,來自同一個檔案,並傳入不同的號碼。

TL;DR: 引擎在現場自行箱子上運行,使用 Libritts-R 型號。 測量:113 個字元在大約 3 到 4 秒的牆時間內產生 5.8 到 6.1 秒的音訊,因此它的合成速度比您聽的要快。 你會得到一個 22,050 Hz 的單聲波,大約是每分鐘 2.6 MB。 速度控制工作但已壓縮:完整的 0.7 到 1.5 範圍產生 1.61 倍的持續時間而不是 2.14 倍的擴展 數字表示,0.85 與 1.0 沒有區別。 同一個文字永遠不會是相同的音訊兩次。 那個 文字轉語音工具 以 3,000 個字元限制輸入。

說話在做什麼?

Piper 是一種神經文字轉語音引擎,在 Web 應用程式旁邊作為自己的容器運行,模型訓練 利布里特.

該語料庫值得了解,因為它既解釋了輸出的品質和特性。 大約 585 小時的英語演講,最初來自 Librivox 有聲書錄音,然後通過語音恢復模型來清理源材料的錄音品質。 演講者是閱讀公共領域書籍的志工。

所以聲音聽起來像是人們大聲朗讀,因為這正是他們正在做的事情。 該模型擅長陳述句和散文段落,這是它所聽到的。 它在任何對話中都不那麼令人信服,因為訓練數據中沒有人進行對話。

模型檔案可容納 904 個揚聲器,工具暴露了其中 8 個。 代碼中的 ID 是模型自己的,選擇以跨越範圍而不是成為最好的八,如果這八個都不適合您,這是一個值得記住的區別。

八聲之間有不同嗎?

是的,可衡量的。 我在其中三個中生成了相同的句子,並計算了有序幀的中位數基本頻率:

聲音 揚聲器 ID 中位數 f0
聲音2 3 103.3 赫茲
聲音 5 45 183.8 赫茲
聲音 8 150 242.3 赫茲

這些不是主題的變化。 成年男性的演講通常以 85 到 155 Hz 為中心,成年女性的演講以 165 到 255 Hz 左右為中心,因此這三個人位於正常人類範圍的底部、中間和頂部。

持續時間幾乎相同,同一句話的持續時間為 2.07 到 2.08 秒,因此切換聲音會在不改變節奏的情況下改變音色和音高。 這使得八個真正可以互換給定的腳本,如果您正在製作一組剪輯並想要重新錄製一個,這很重要。

有多快?

比聽更快,這是重要的數字。

測量 價值
輸入 113個字元
產生的音訊 5.77 至 6.08 秒
牆時間 2,994 至 3,929 毫秒
比率 大約 1.5 到 1.9 倍的實時

所以一分鐘的音訊需要三十到四十秒,而 3,000 個字元的最大值在大約兩分鐘和四分之三分鐘的語音上工作,等待不到兩分鐘。

需要注意的是,一次滿足一個請求。 伺服器故意運行一個單一的合成插槽:在盒子上測量,一個文字單獨大約需要 2.2 秒,三個一次大約需要 9 秒,因此並行性不購買總吞吐量,並且在隊列中花費第一人稱 7 秒。 最多可以等待 20 個請求;過去該工具說它很忙,而不是讓您等待幾分鐘。

每十分鐘也有二十代人的每位訪客預算,這足夠高,以至於正常使用永遠不會滿足它,而且足夠低,以至於沒有人將盒子變成免費的有聲書工廠。

你得到什麼?

一個 WAV 檔案,未壓縮,大小值得在您製作長文件之前了解。

codec      pcm_s16le
sample rate 22,050 Hz
channels    1 (mono)
bit depth   16

即每秒 44.1 KB 的音訊,大致 每分鐘 2.6 mb,和 7 MB 附近的完整 3,000 個字元運行。 上面的 113 個字元樣本是 254,508 個位元組,持續 5.77 秒。

未壓縮是您要編輯或轉換的內容的正確預設,因為它是每個編輯器都不會抱怨的格式,並且沒有要添加的生成損失。 對於您要上傳或發送電子郵件的內容,預設是錯誤的,修復是一個步驟:運行 WAV 音訊轉換器 並取 MP3 或 M4A。 它的指南 選擇哪個選擇,語音的簡短答案是任何等於或高於 128 kbps 的東西都可以。

22,050 Hz 速率是型號自己的,是 CD 速率的一半。 值得注意的是,Libritts-R 分佈在 24 kHz,因此模型輸出低於它從中學到的語料庫的速率;這是 Piper 自己的配置,而不是這裡丟失的任何內容。 對於聲音來說,這兩種方式都不起眼,因為語音能量遠低於 11 kHz,這是 22,050 Hz 所攜帶的。 這確實意味著輸出不會作為錄音室錄音傳遞,而重新採樣它並沒有增加任何內容。

速度控制是否照它所說的去做?

它改變了速度,而不是數字暗示的那麼多。 這是測量的曲線:

速度設定 長短 比率為 1.0 線性會給
0.7 7.268 秒 1.195 1.429
0.85 6.142 秒 1.010 1.176
1.0 6.084 秒 1.000 1.000
1.25 5.271 秒 0.866 0.800
1.5 4.516 秒 0.742 0.667

單調,因此控制以您期望的方向工作,並在兩端壓縮。 0.7 到 1.5 的全部範圍應該是持續時間的 2.14 倍,尺寸為 1.61 倍。 0.85 設定在 1.0 的 1% 以內,也就是說它無濟於事。

機制是設定以持續時間尺度傳遞給模型,模型自己的持續時間預測器決定每個音素的長度。 它將天平視為強烈的暗示,而不是乘數。

實際閱讀:如果您想要明顯不同的速度,請使用 0.7 或 1.5,並且不要期望中間設定能為您提供良好的控制。 如果您需要確切的持續時間,請在 1.0 時產生並更改音訊編輯器中的節奏,數字的意思是它所說的。

為什麼同一個文字永遠不會有兩次相同的音訊?

因為模型對每次運行的時間做出了新的決定。

我發送了兩次相同的請求,相同的文字,相同的聲音,相同的速度。 結果為 6.084 秒和 6.002 秒,位元組的檔案不同。 沒有任何東西被緩存,也沒有播種。

這是這個模型系列固有的:持續時間預測器是隨機的,因此即使每個輸入都固定,音素長度在運行之間也會略有不同。 此處測量的變化約為 1.4%,這在速度上的差異是聽不見的,並且可以清楚地看到檔案長度的差異。

兩個後果。 如果一個 Take 有一個尷尬的停頓或一個奇怪的詞落,那麼再次產生它是一個真正的解決方案,而不是一個迷信。 如果您正在製作一組必須匹配的剪輯,請在一節課中生成它們並保留您得到的內容,因為明天回來進行一條替換線會給您一條與眾不同的線。

為什麼有 3,000 個字元限制?

因為背後的東西,而不是文本的任何內容。

三千個字元大約是 2 四分之一分鐘的演講和大約 7 MB 的 WAV,在每個人都共享的單一合成插槽中產生。 一個 30,000 個字元的章節將佔用該插槽 20 分鐘,並在執行過程中在記憶體中保持 70 MB 緩衝區。

再長一點,在段落邊界上分開並加入各個部分。 無論如何,這都是更好的做法:第九段的一個錯誤是讓你付出的第九段而不是整章,以及 音頻轉換器 之後將加入並轉換集合。

分裂中間句子是要避免的一件事,因為模型決定了每個話語的語調。 切成兩半的句子會產生兩個片段,它們聽起來像完整的句子,在思想的中間有下降的音調。

它有什麼用,它不是什麼?

適合任何要大聲朗讀的內容,這是一個比聽起來更窄的類別。

工作得很好 工作不好
影片或幻燈片上的敘述 字
文章的音訊版本 任何需要情感或強調的東西
可訪問性:聽取自己的草稿 普通英語以外的姓名和地點
原型的佔位符語音 影片剪輯的精確時間
你寫的句子的發音 唱歌,或任何音樂劇

右列的模式是控制。 模型為您提供聲音、速度和座位。 沒有辦法強調特定的單字,插入給定長度的停頓,在問題上更改語調,或拼出一個首字母縮寫。 這些是專業的 TTS API 透過標記揭露的內容,而這無可一置。

左列的第一行是它贏得它的位置。 向您朗讀自己的文章的聲音是最快的校對工具,因為在其他人說出來的那一刻,一個不起作用的句子就很明顯了。

在你承諾之前,你能聽到一個聲音嗎?

不,那是我要更改的介面之一。

八個聲音是標籤的下拉式選單:聲音 1 到 8,沒有一個樣本附加到任何一個。 找出 Voice 6 聽起來像什麼的唯一方法是使用它產生,它佔據了共享合成插槽,需要幾秒鐘,並且每十分鐘計算一次 20 代。

對於一次性,這很好。 對於為專案選擇聲音,這意味著在開始之前試鏡同一行的八張照片,這是您決定花費的十分之一預算的大部分。

實用的方法是用短線而不是劇本試鏡。 一打十幾個字的句子在大約兩秒鐘內回來,告訴你音高和字元,這就是你在選擇之間的全部。 然後在您選擇後切換到真實文字。

本指南前面的表格是部分捷徑:語音 2 低,語音 5 中間,語音 8 高。 我沒有測量的五個人坐在他們中間的某個地方。

與雲聲相比如何?

波蘭語不利,這裡的比較不重要。

商業 API 為您提供更好的韻律、數十種語言、對停頓和強調的標記控制,以及訓練有素的廣播聲音。 如果你正在製作一些東西來出版,那就值得了。

相反的,這給你的是文字永遠不會離開網站自己的硬體,輸出是你的,沒有每個字元的帳單,也沒有帳號。 對於上面左側欄中的用途,特別是聽到您自己的回讀草稿,波蘭語的差異不值得使用雲端帳戶和 API 金鑰。

誠實的總結是,這相當於一個體面的內建麥克風。 你不再注意到它在那裡,而不是你用來錄製專輯的東西已經足夠好了。

你可以將音訊用於商業嗎?

可能,有了歸屬,許可證應該仔細看看而不是“是”。

Piper 引擎獲得 MIT 許可。 這裡的模型在 Libritts-R 上訓練,它 OpenSLR 以「許可證:CC 按 4.0」分發;, 和 CC BY 4.0 允許提供歸因的商業用途。

需要注意是因為 Libritts-R 論文自己的引文元資料帶有不同的許可證字串,即非商業無衍生品變體。 這很可能是引文範本中的剩餘部分而不是意圖聲明,分發頁面是更強的信號,但兩者不同意,我無法為您解決它。

SO:對於任何偶然的事情,這不是任何人都會問的問題。 對於基於音訊的商業產品,請自行閱讀特定語音模型的許可證,並聽取建議,而不是閱讀我閱讀資料集頁面。

在發布音訊之前,您應該檢查什麼?

四件事,按照它們出錯的順序。

  1. 聽整件事。 這聽起來很明顯,並且經常被跳過,這是捕捉錯誤發音的名字的唯一方法。
  2. 任何專有名詞、首字母縮寫或單位。 模型沒有可以編輯的字典。 如果「Osei」或「GDPR」出現錯誤,則修復是在輸入文字中拼音,並接受輸入現在很醜。
  3. 長度,與它必須填滿的槽。 請記住,節奏只能鬆散地控制,所以留出空間而不是計劃第二個。
  4. 上傳前轉換。 2.6 MB 的 WAV 不是您想要的網頁。

為什麼它在網站自己的伺服器上運行?

因為人們大聲朗讀的文字,往往是他們自己未發表的文章。

草稿、劇本、求職信、演講、他們不確定要發送的訊息。 傳統的替代方案將其發佈到每個字元的計費服務,將文字保留在沒有人閱讀的術語中,並且需要在第一個單字之前進行帳戶。

這裡它到達 Web 應用程式旁邊的容器,被綜合,然後以檔案的形式返回。 上述每個測量的成本都是可見的:一次一個插槽,3,000 個字元的天花板,22 kHz 單聲道,以及一個好而不是廣播的聲音。 作為交換,文字被您已經信任的機器讀取。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!