huggingface / huggingface/diffusers

Feature request: Update the pipeline for AudioLDM 2 so that 'transcript' can be consumed and text to speech created

オープン
#4,923 コメント 5 件 リアクション 2 件 担当者 0 名 GitHub で見る
enhancement Good second issue
主要言語
Python
スター
34.5k
フォーク
7.3k
平均マージ
3日 3時間
マージ済み PR(30日)
91

説明

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The current pipeline for AudioLDM 2 does not take in "transcript" field.
Hence, it does not create phonemes and hence does not allow for text-to-speech generation.

https://huggingface.co/docs/diffusers/main/en/api/pipelines/audioldm2#diffusers.AudioLDM2Pipeline

Currently, only text-to-music and text-to-audio are supported. The latent difussion model is not guided for creating phonemes as in the original implementation with these two checkpoints:

- audioldm2-speech-ljspeech
- audioldm2-speech-gigaspeech

Here:
https://github.com/haoheliu/AudioLDM2/blob/main/audioldm2/pipeline.py#L78

and here:
https://github.com/haoheliu/AudioLDM2/blob/main/audioldm2/latent_diffusion/models/ddpm.py#L482

commandline from original repo:
`audioldm2 -t "A female reporter is speaking full of emotion" --transcription "Wish you have a good day"`

These two checkpoints naturally take phonemes into the batch so the checkpoints do consume "phoneme" as one of the fields in the batch natively.

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

Add the "transcription" input param to allow to choose a TTS model from the two checkpoints above and hence allow for TTS task.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

Original repo implementation - is very slow and unoptimized.

**Additional context**
Add any other context or screenshots about the feature request here.

I believe the already implemented pipeline AudioLDM2 could be updated to take in the transcript field, update the batch, and load the additional two checkpoints trained on TTS task. However, I currently don't have enough knowledge to assess which part of the pipeline needs to be updated vs the original implementation in https://github.com/haoheliu/AudioLDM2/blob/main/audioldm2/latent_diffusion/models/ddpm.py#L482

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

既存の AudioLDM2Pipeline から始め、リンクされている audioldm2/pipeline.py と latent_diffusion/models/ddpm.py の元の実装と比較します。トランスクリプション入力がどのように音素になってバッチに入るかを追跡し、次に audioldm2-speech-ljspeech と audioldm2-speech-gigaspeech のチェックポイントがどのように選択されるかを特定します。完了条件は、パイプラインがトランスクリプションを受け付け、これらのチェックポイントで text-to-speech 生成をサポートすることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, pytorch
領域
audio-video-rtc, machine-learning
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。