summaryrefslogtreecommitdiff
path: root/bin/bot/src/inference.rs
diff options
context:
space:
mode:
Diffstat (limited to 'bin/bot/src/inference.rs')
-rw-r--r--bin/bot/src/inference.rs23
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(),
+ ));
+ }
+}