From d135a36a8306cd83113b4da32bf47413dee2d81f Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 25 Aug 2021 03:59:19 -0400 Subject: [PATCH] Add vocoder support. Change default per model, show on model + results --- .../tts/tts_model_edit/TtsModelEditFc.tsx | 25 ++++++++++++++++++- .../tts/tts_model_view/TtsModelViewFc.tsx | 17 +++++++++++-- .../tts/tts_result_view/TtsResultViewFc.tsx | 17 ++++++++++++- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/vocodes/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx b/vocodes/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx index a37791fe13..5388ef88a8 100644 --- a/vocodes/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx +++ b/vocodes/src/v2/view/tts/tts_model_edit/TtsModelEditFc.tsx @@ -1,4 +1,3 @@ - import React, { useState, useEffect, useCallback } from 'react'; //import axios from 'axios'; import { ApiConfig } from '../../../../common/ApiConfig'; @@ -11,6 +10,8 @@ import { HiddenIconFc } from '../../_icons/HiddenIcon'; const DEFAULT_VISIBILITY = 'public'; +const DEFAULT_PRETRAINED_VOCODER = 'hifigan-superres'; + interface TtsModelViewResponsePayload { success: boolean, model: TtsModel, @@ -20,6 +21,7 @@ interface TtsModel { model_token: string, title: string, tts_model_type: string, + maybe_default_pretrained_vocoder: string | null, text_preprocessing_algorithm: string, creator_user_token: string, creator_username: string, @@ -55,6 +57,7 @@ function TtsModelEditFc(props: Props) { const [title, setTitle] = useState(""); const [descriptionMarkdown, setDescriptionMarkdown] = useState(""); const [visibility, setVisibility] = useState(DEFAULT_VISIBILITY); + const [defaultPretrainedVocoder, setDefaultPretrainedVocoder] = useState(DEFAULT_PRETRAINED_VOCODER); const getModel = useCallback((token) => { const api = new ApiConfig(); @@ -77,6 +80,7 @@ function TtsModelEditFc(props: Props) { setTitle(modelsResponse.model.title || "") setDescriptionMarkdown(modelsResponse.model.description_markdown || "") setVisibility(modelsResponse.model.creator_set_visibility || DEFAULT_VISIBILITY); + setDefaultPretrainedVocoder(modelsResponse.model.maybe_default_pretrained_vocoder || DEFAULT_PRETRAINED_VOCODER); setTtsModel(modelsResponse.model); }) .catch(e => {}); @@ -105,6 +109,10 @@ function TtsModelEditFc(props: Props) { setVisibility((ev.target as HTMLSelectElement).value) }; + const handleDefaultPretrainedVocoderChange = (ev: React.FormEvent) => { + setDefaultPretrainedVocoder((ev.target as HTMLSelectElement).value) + }; + const modelLink = FrontendUrlConfig.ttsModelPage(token); const handleFormSubmit = (ev: React.FormEvent) => { @@ -127,6 +135,7 @@ function TtsModelEditFc(props: Props) { title: title, description_markdown: descriptionMarkdown, creator_set_visibility: visibility || DEFAULT_VISIBILITY, + maybe_default_pretrained_vocoder: defaultPretrainedVocoder || DEFAULT_PRETRAINED_VOCODER, } fetch(endpointUrl, { @@ -194,6 +203,20 @@ function TtsModelEditFc(props: Props) { +
+ +
+ +
+
+