Dia-1.6B TTS:最佳文字轉對話生成模型

Dia-1.6B TTS:最佳文字轉對話生成模型

正在尋找合適的文字到語音模型?擁有 16 億個引數的模型 Dia 可能就是您的最佳選擇。如果您知道這個模型是由兩名本科生在零資金的情況下建立的,您一定會大吃一驚!在本文中,您將瞭解到該模型的相關資訊、如何訪問和使用該模型,還將看到結果,從而真正瞭解該模型的能力。在使用該模型之前,最好先熟悉一下它。

什麼是Dia-1.6B?

以文字作為輸入、自然語音作為輸出為目標而訓練的模型稱為文字到語音模型。由 Nari Labs 開發的 Dia-1.6B 引數模型屬於文字到語音模型系列。這是一個有趣的模型,它能夠從文字生成逼真的對話。值得注意的是,該模型還能產生非語言交流,如大笑、打噴嚏、吹口哨等。是不是很令人興奮?

如何訪問Dia-1.6B?

我們可以透過兩種方式訪問 Dia-1.6B 模型:

  1. 透過 Google Colab 使用 Hugging Face API
  2. 使用 Hugging Face spaces

第一種方法需要獲取 API 金鑰,然後用程式碼將其整合到 Google Colab 中。後者無需程式碼,我們可以互動式地使用 Dia-1.6B。

1. 使用Hugging Face和Colab

該模型可在 Hugging Face 上使用,並可藉助谷歌 Colab notebook 中 T4 GPU 提供的 10 GB VRAM 執行。我們將透過一個小型對話來演示。

在開始之前,讓我們先獲取 Hugging Face 訪問令牌,這是執行程式碼所必需的。如果還沒有金鑰,請訪問 https://huggingface.co/settings/tokens 生成一個金鑰。

確保啟用以下許可權:

 Colab notebook 許可權

在 Google Colab 中開啟一個新 notebook,並在秘密中新增此金鑰(名稱應為 HF_Token):

新 notebook

注:執行此 notebook 需要切換到 T4 GPU。只有這樣,您才能使用執行該機型所需的 10GB VRAM。

現在,讓我們開始動手製作模型:

  1. 首先克隆 Dia 的 Git 倉庫:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
!git clone https://github.com/nari-labs/dia.git
!git clone https://github.com/nari-labs/dia.git
!git clone https://github.com/nari-labs/dia.git
  1. 安裝本地軟體包:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
!pip install ./dia
!pip install ./dia
!pip install ./dia
  1. 安裝 soundfile 音訊庫:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
!pip install soundfile
!pip install soundfile
!pip install soundfile

執行前面的命令後,請重啟會話再繼續。

  1. 安裝完成後,讓我們進行必要的匯入並初始化模型:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import soundfile as sf
from dia.model import Dia
import IPython.display as ipd
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
import soundfile as sf from dia.model import Dia import IPython.display as ipd model = Dia.from_pretrained("nari-labs/Dia-1.6B")
import soundfile as sf
from dia.model import Dia
import IPython.display as ipd
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
  1. 初始化文字,用於文字到語音的轉換:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
text = "[S1] This is how Dia sounds. (laugh) [S2] Don't laugh too much. [S1] (clears throat) Do share your thoughts on the model."
text = "[S1] This is how Dia sounds. (laugh) [S2] Don't laugh too much. [S1] (clears throat) Do share your thoughts on the model."
text = "[S1] This is how Dia sounds. (laugh) [S2] Don't laugh too much. [S1] (clears throat) Do share your thoughts on the model."
  1. 對模型進行推理:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
output = model.generate(text)
sampling_rate = 44100 # Dia uses 44.1Khz sampling rate.
output_file="dia_sample.mp3"
sf.write(output_file, output, sampling_rate) # Saving the audio
ipd.Audio(output_file) # Displaying the audio
output = model.generate(text) sampling_rate = 44100 # Dia uses 44.1Khz sampling rate. output_file="dia_sample.mp3" sf.write(output_file, output, sampling_rate) # Saving the audio ipd.Audio(output_file) # Displaying the audio
output = model.generate(text)
sampling_rate = 44100 # Dia uses 44.1Khz sampling rate.
output_file="dia_sample.mp3"
sf.write(output_file, output, sampling_rate) # Saving the audio
ipd.Audio(output_file) # Displaying the audio

輸出:

語音非常像人類,模型在非語言交流方面表現出色。值得注意的是,由於沒有語音模板,結果無法重現。

注:您可以嘗試修復模型的種子,以重現結果。

2. 使用Hugging Face spaces

讓我們嘗試透過“Hugging Face spaces”使用模型克隆聲音。在這裡,我們可以選擇在線上介面 https://huggingface.co/spaces/nari-labs/Dia-1.6B 上直接使用模型。

在這裡,你可以傳遞輸入文字,還可以使用“音訊提示”來複制聲音。我傳遞了上一節中生成的音訊。

輸入文字如下

[S1] Dia is an open weights text to dialogue model. [S2] You get full control over scripts and voices. [S1] Wow. Amazing. (laughs) [S2] Try it now on Git hub or Hugging Face.

透過“Hugging Face spaces”使用模型克隆聲音

來源:Hugging Face Labs

我讓你來評判一下,你覺得這個模型成功捕捉並複製了之前的聲音嗎?

:在使用 Hugging Face spaces 生成語音時,我遇到了多個錯誤,請嘗試更改輸入文字或音訊提示,以使模型正常工作。

使用Dia-1.6B時應注意的事項

使用 Dia-1.6B 時應注意以下幾點:

  • 該模型沒有針對特定語音進行微調。因此,每次執行都會得到不同的聲音。您可以嘗試固定模型的種子來重現結果。
  • Dia 使用 44.1 KHz 取樣率。
  • 安裝完庫後,請確保重啟 Colab notebook。
  • 我在使用“Colab notebook”生成語音時多次出錯,請嘗試更改輸入文字或音訊提示,以確保模型正常工作。

小結

該模型的結果很有希望,尤其是當我們看到它與競爭對手相比所能做的事情時。該模型最大的優勢是支援各種非語言交流。該模型的語調清晰,語音感覺自然,但另一方面,由於它沒有對特定的聲音進行微調,要再現特定的聲音可能並不容易。與其他任何生成式人工智慧工具一樣,使用該模型時應負責任。

評論留言