diff options
Diffstat (limited to 'bin/bot/src/inference.rs')
| -rw-r--r-- | bin/bot/src/inference.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/bot/src/inference.rs b/bin/bot/src/inference.rs new file mode 100644 index 0000000..f78f381 --- /dev/null +++ b/bin/bot/src/inference.rs @@ -0,0 +1,23 @@ +use async_trait::async_trait; +use db::types::GraphemeString; +use db::{ + inference::InferenceError, + types::{InferenceService, PhonemeString}, +}; +use deepphonemizer::Phonemizer; + +#[derive(Debug)] +pub struct DeepPhonemizerInference(pub Phonemizer); + +#[async_trait] +impl InferenceService<InferenceError> for DeepPhonemizerInference { + async fn fetch(&self, prefix: GraphemeString) -> Result<PhonemeString, InferenceError> { + let pronemized = self + .0 + .phonemize(prefix.0, "fr_fr".to_string(), "", true, 1).unwrap(); + + return Ok(PhonemeString( + PhonemeString(format!("{:?}", pronemized)).to_string(), + )); + } +} |
