mirror of
https://github.com/neodyland/sbv2-api.git
synced 2026-01-09 07:52:57 +00:00
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -1361,9 +1361,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.19.0"
|
||||
version = "1.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
checksum = "33ea5043e58958ee56f3e15a90aee535795cd7dfd319846288d93c5b57d85cbe"
|
||||
|
||||
[[package]]
|
||||
name = "onig"
|
||||
|
||||
@@ -6,4 +6,4 @@ members = ["sbv2_api", "sbv2_core", "sbv2_bindings"]
|
||||
anyhow = "1.0.86"
|
||||
dotenvy = "0.15.7"
|
||||
env_logger = "0.11.5"
|
||||
ndarray = "0.16.1"
|
||||
ndarray = "0.16.1"
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
日本語を母国語としない人々にとって、「日本語は非常に難しい言語である」と言われています。
|
||||
その理由として、
|
||||
・漢字、ひらがな、カタカナ、と表記が何種類もある。
|
||||
・同一の漢字でも音読みと訓読みがある
|
||||
・地名の読みが難しい
|
||||
・主語、述語が省略される
|
||||
などが挙げられます。
|
||||
10,000年前までコロナが流行っていました
|
||||
@@ -54,6 +54,17 @@ impl JTalk {
|
||||
Ok(Self { jpreprocess })
|
||||
}
|
||||
|
||||
pub fn num2word(&self, text: &str) -> Result<String> {
|
||||
let mut parsed = self.jpreprocess.text_to_njd(text)?;
|
||||
parsed.preprocess();
|
||||
let texts: Vec<String> = parsed
|
||||
.nodes
|
||||
.iter()
|
||||
.map(|x| x.get_string().to_string())
|
||||
.collect();
|
||||
Ok(texts.join(""))
|
||||
}
|
||||
|
||||
pub fn process_text(&self, text: &str) -> Result<JTalkProcess> {
|
||||
let parsed = self.jpreprocess.run_frontend(text)?;
|
||||
let jtalk_process = JTalkProcess::new(Arc::clone(&self.jpreprocess), parsed);
|
||||
|
||||
@@ -120,7 +120,8 @@ pub fn replace_punctuation(mut text: String) -> String {
|
||||
for (k, v) in REPLACE_MAP.iter() {
|
||||
text = text.replace(k, v);
|
||||
}
|
||||
PUNCTUATION_CLEANUP_PATTERN
|
||||
let content = PUNCTUATION_CLEANUP_PATTERN
|
||||
.replace_all(&text, "")
|
||||
.to_string()
|
||||
.to_string();
|
||||
content
|
||||
}
|
||||
|
||||
@@ -123,7 +123,8 @@ impl TTSModelHolder {
|
||||
&self,
|
||||
text: &str,
|
||||
) -> Result<(Array2<f32>, Array1<i64>, Array1<i64>, Array1<i64>)> {
|
||||
let normalized_text = norm::normalize_text(text);
|
||||
let text = self.jtalk.num2word(text)?;
|
||||
let normalized_text = norm::normalize_text(&text);
|
||||
|
||||
let process = self.jtalk.process_text(&normalized_text)?;
|
||||
let (phones, tones, mut word2ph) = process.g2p()?;
|
||||
|
||||
Reference in New Issue
Block a user