Skip to content

Commit

Permalink
Fix for parler-tts, do not add the last slice of padding tokens. (hug…
Browse files Browse the repository at this point in the history
…gingface#2442)

* Fix for parler-tts, do not add the last slice of padding tokens.

* Support for the mini model.
  • Loading branch information
LaurentMazare committed Aug 22, 2024
1 parent e3c146a commit 2ec8729
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
23 changes: 21 additions & 2 deletions candle-examples/examples/parler-tts/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,17 @@ struct Args {
/// The output wav file.
#[arg(long, default_value = "out.wav")]
out_file: String,

#[arg(long, default_value = "large-v1")]
which: Which,
}

#[derive(Clone, Debug, Copy, PartialEq, Eq, clap::ValueEnum)]
enum Which {
#[value(name = "large-v1")]
LargeV1,
#[value(name = "mini-v1")]
MiniV1,
}

fn main() -> anyhow::Result<()> {
Expand Down Expand Up @@ -117,7 +128,10 @@ fn main() -> anyhow::Result<()> {
let api = hf_hub::api::sync::Api::new()?;
let model_id = match args.model_id {
Some(model_id) => model_id.to_string(),
None => "parler-tts/parler-tts-large-v1".to_string(),
None => match args.which {
Which::LargeV1 => "parler-tts/parler-tts-large-v1".to_string(),
Which::MiniV1 => "parler-tts/parler-tts-mini-v1".to_string(),
},
};
let revision = match args.revision {
Some(r) => r,
Expand All @@ -130,7 +144,12 @@ fn main() -> anyhow::Result<()> {
));
let model_files = match args.model_file {
Some(m) => vec![m.into()],
None => candle_examples::hub_load_safetensors(&repo, "model.safetensors.index.json")?,
None => match args.which {
Which::MiniV1 => vec![repo.get("model.safetensors")?],
Which::LargeV1 => {
candle_examples::hub_load_safetensors(&repo, "model.safetensors.index.json")?
}
},
};
let config = match args.config_file {
Some(m) => m.into(),
Expand Down
1 change: 0 additions & 1 deletion candle-transformers/src/models/parler_tts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,6 @@ impl Model {
let min_len = all_audio_tokens.iter().map(|v| v.len()).min().unwrap_or(0);
all_audio_tokens.iter_mut().for_each(|v| {
v.resize(min_len, 0);
v.push(self.pad_token_id)
});
let all_audio_tokens = Tensor::new(all_audio_tokens, &candle::Device::Cpu)?;
Ok(all_audio_tokens)
Expand Down

0 comments on commit 2ec8729

Please sign in to comment.