4个版本
0.1.5 | 2024年7月2日 |
---|---|
0.1.4 | 2024年6月20日 |
199 在 科学
每月 23 次下载
76KB
1.5K SLoC
自然TTS
自然TTS (natural-tts) 是一个Rust crate,可以轻松地将文本语音功能集成到Rust程序中。
可用的TTS引擎/人工智能
Coqui TTS
Parler TTS
Google Gtts
TTS-RS
MSEdge TTS
MetaVoice TTS
使用Gtts说话的示例,但初始化每个模型。
use std::error::Error;
use crate::{*, models::{gtts::GttsModel, tts_rs::TtsModel, parler::ParlerModel, msedge::MSEdgeModel}};
fn main() -> Result<(), Box<dyn Error>>{
// Create the ParlerModel
let desc = "A female speaker in fast calming voice in a quiet environment".to_string();
let model = "parler-tts/parler-tts-mini-expresso".to_string();
let parler = ParlerModel::new(desc, model, false);
// Create the NaturalTts using the Builder pattern
let mut natural = NaturalTtsBuilder::default()
.default_model(Model::Gtts)
.gtts_model(GttsModel::default())
.parler_model(parler.unwrap())
.tts_model(TtsModel::default())
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
}
使用Meta Voice说话的示例
use std::error::Error;
use natural_tts::{*, models::meta::MetaModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the NaturalTts struct using the builder pattern.
let mut natural = NaturalTtsBuilder::default()
.meta_model(MetaModel::default())
.default_model(Model::Meta)
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
Ok(())
}
使用Parler说话的示例
use std::error::Error;
use natural_tts::{*, models::parler::ParlerModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the ParlerModel
let desc = "A female speaker in fast calming voice in a quiet environment".to_string();
let model = "parler-tts/parler-tts-mini-expresso".to_string();
let parler = ParlerModel::new(desc, model, false);
// Create the NaturalTts using the Builder pattern
let mut natural = NaturalTtsBuilder::default()
.parler_model(parler.unwrap())
.default_model(Model::Parler)
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
}
使用Gtts说话的示例
use std::error::Error;
use natural_tts::{*, models::gtts::GttsModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the NaturalTts struct using the builder pattern.
let mut natural = NaturalTtsBuilder::default()
.gtts_model(GttsModel::default())
.default_model(Model::Gtts)
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
Ok(())
}
使用MSEdge说话的示例
use std::error::Error;
use natural_tts::{*, models::msedge::MSEdgeModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the NaturalTts struct using the builder pattern.
let mut natural = NaturalTtsBuilder::default()
.msedge_model(MSEdgeModel::default())
.default_model(Model::MSEdge)
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
Ok(())
}
使用TTS说话的示例
use std::error::Error;
use natural_tts::{*, models::parler::TtsModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the NaturalTts struct using the builder pattern.
let mut natural = NaturalTtsBuilder::default()
.tts_model(TtsModel::default())
.default_model(Model::TTS)
.build()?;
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
Ok(())
}
使用Coqui Tts说话的示例
免责声明:目前仅作为测试功能。
use std::error::Error;
use natural_tts::{*, models::parler::CoquiModel};
fn main() -> Result<(), Box<dyn Error>>{
// Create the NaturalTts struct using the builder pattern.
let mut natural = NaturalTtsBuilder::default()
.coqui_model(CoquiModel::default())
.default_model(Model::Coqui)
.build().unwrap();
// Use the pre-included function to say a message using the default_model.
let _ = natural.say_auto("Hello, World!".to_string())?;
Ok(())
}
贡献
欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。
许可
依赖关系
~2–38MB
~622K SLoC