This commit is contained in:
Masato Kikuchi
2025-03-31 23:03:30 +09:00
parent 5abfe732e4
commit 53d7daf11a
3 changed files with 25 additions and 2 deletions

View File

@@ -41,7 +41,7 @@ pub struct TTSModelHolder {
tokenizer: Tokenizer, tokenizer: Tokenizer,
bert: Session, bert: Session,
models: Vec<TTSModel>, models: Vec<TTSModel>,
jtalk: jtalk::JTalk, pub jtalk: jtalk::JTalk,
max_loaded_models: Option<usize>, max_loaded_models: Option<usize>,
} }

View File

@@ -35,9 +35,13 @@ struct ResponseCreateAudioQuery {
} }
async fn create_audio_query( async fn create_audio_query(
State(state): State<AppState>,
Query(request): Query<RequestCreateAudioQuery>, Query(request): Query<RequestCreateAudioQuery>,
) -> AppResult<impl IntoResponse> { ) -> AppResult<impl IntoResponse> {
let (text, process) = preprocess_parse_text(&request.text, &JTalk::new()?)?; let (text, process) = {
let mut tts_model = state.tts_model.lock().await;
preprocess_parse_text(&request.text, &tts_model.jtalk)?
};
let kana_tone_list = process.g2kana_tone()?; let kana_tone_list = process.g2kana_tone()?;
let audio_query = kana_tone_list let audio_query = kana_tone_list
.iter() .iter()

19
test.py Normal file
View File

@@ -0,0 +1,19 @@
import requests
data = (requests.get("http://localhost:8080/audio_query", params={
"text": "こんにちは",
})).json()
print(data)
data = (requests.post("http://localhost:8080/synthesis", json={
"text": "こんにちは",
"ident": "tsukuyomi",
"speaker_id": 0,
"style_id": 0,
"sdp_ratio": 0.5,
"length_scale": 0.5,
"audio_query": data["audio_query"],
})).content
with open("test.wav", "wb") as f:
f.write(data)