[Update] Transcription: Add UI. The user can config 'mic/speaker avg logprob' and 'mic/speaker no speech prob' that is related with Whisper's parameter.

This commit is contained in:
Sakamoto Shiina
2025-09-05 10:44:23 +09:00
parent 8ae56563ca
commit cad0f796fa
5 changed files with 312 additions and 0 deletions

View File

@@ -14,6 +14,11 @@ import {
useStore_SelectedWhisperWeightType,
useStore_WhisperWeightTypeStatus,
useStore_MicAvgLogprob,
useStore_MicNoSpeechProb,
useStore_SpeakerAvgLogprob,
useStore_SpeakerNoSpeechProb,
} from "@store";
import { useStdoutToPython } from "@useStdoutToPython";
import { transformToIndexedArray } from "@utils";
@@ -41,6 +46,13 @@ export const useTranscription = () => {
const { currentSelectableWhisperComputeDeviceList, updateSelectableWhisperComputeDeviceList, pendingSelectableWhisperComputeDeviceList } = useStore_SelectableWhisperComputeDeviceList();
const { currentSelectedWhisperComputeDevice, updateSelectedWhisperComputeDevice, pendingSelectedWhisperComputeDevice } = useStore_SelectedWhisperComputeDevice();
// Advanced Settings
const { currentMicAvgLogprob, updateMicAvgLogprob, pendingMicAvgLogprob } = useStore_MicAvgLogprob();
const { currentMicNoSpeechProb, updateMicNoSpeechProb, pendingMicNoSpeechProb } = useStore_MicNoSpeechProb();
const { currentSpeakerAvgLogprob, updateSpeakerAvgLogprob, pendingSpeakerAvgLogprob } = useStore_SpeakerAvgLogprob();
const { currentSpeakerNoSpeechProb, updateSpeakerNoSpeechProb, pendingSpeakerNoSpeechProb } = useStore_SpeakerNoSpeechProb();
// Mic
const getMicRecordTimeout = () => {
pendingMicRecordTimeout();
@@ -276,6 +288,67 @@ export const useTranscription = () => {
showNotification_SaveSuccess();
};
// Advanced (Mic Avg Logprob)
const getMicAvgLogprob = () => {
pendingMicAvgLogprob();
asyncStdoutToPython("/get/data/mic_avg_logprob");
};
const setMicAvgLogprob = (selected_mic_avg_logprob) => {
pendingMicAvgLogprob();
asyncStdoutToPython("/set/data/mic_avg_logprob", selected_mic_avg_logprob);
};
const setSuccessMicAvgLogprob = (selected_mic_avg_logprob) => {
updateMicAvgLogprob(selected_mic_avg_logprob);
showNotification_SaveSuccess();
};
// Advanced (Mic No Speech Prob)
const getMicNoSpeechProb = () => {
pendingMicNoSpeechProb();
asyncStdoutToPython("/get/data/mic_no_speech_prob");
};
const setMicNoSpeechProb = (selected_mic_no_speech_prob) => {
pendingMicNoSpeechProb();
asyncStdoutToPython("/set/data/mic_no_speech_prob", selected_mic_no_speech_prob);
};
const setSuccessMicNoSpeechProb = (selected_mic_no_speech_prob) => {
updateMicNoSpeechProb(selected_mic_no_speech_prob);
showNotification_SaveSuccess();
};
// Advanced (Speaker Avg Logprob)
const getSpeakerAvgLogprob = () => {
pendingSpeakerAvgLogprob();
asyncStdoutToPython("/get/data/speaker_avg_logprob");
};
const setSpeakerAvgLogprob = (selected_speaker_avg_logprob) => {
pendingSpeakerAvgLogprob();
asyncStdoutToPython("/set/data/speaker_avg_logprob", selected_speaker_avg_logprob);
};
const setSuccessSpeakerAvgLogprob = (selected_speaker_avg_logprob) => {
updateSpeakerAvgLogprob(selected_speaker_avg_logprob);
showNotification_SaveSuccess();
};
// Advanced (Speaker No Speech Prob)
const getSpeakerNoSpeechProb = () => {
pendingSpeakerNoSpeechProb();
asyncStdoutToPython("/get/data/speaker_no_speech_prob");
};
const setSpeakerNoSpeechProb = (selected_speaker_no_speech_prob) => {
pendingSpeakerNoSpeechProb();
asyncStdoutToPython("/set/data/speaker_no_speech_prob", selected_speaker_no_speech_prob);
};
const setSuccessSpeakerNoSpeechProb = (selected_speaker_no_speech_prob) => {
updateSpeakerNoSpeechProb(selected_speaker_no_speech_prob);
showNotification_SaveSuccess();
};
return {
// Mic
currentMicRecordTimeout,
@@ -353,5 +426,31 @@ export const useTranscription = () => {
updateSelectedWhisperComputeDevice,
setSelectedWhisperComputeDevice,
setSuccessSelectedWhisperComputeDevice,
// Advanced
// Mic Avg Logprob
currentMicAvgLogprob,
getMicAvgLogprob,
updateMicAvgLogprob,
setMicAvgLogprob,
setSuccessMicAvgLogprob,
// Mic No Speech Prob
currentMicNoSpeechProb,
getMicNoSpeechProb,
updateMicNoSpeechProb,
setMicNoSpeechProb,
setSuccessMicNoSpeechProb,
// Speaker Avg Logprob
currentSpeakerAvgLogprob,
getSpeakerAvgLogprob,
updateSpeakerAvgLogprob,
setSpeakerAvgLogprob,
setSuccessSpeakerAvgLogprob,
// Speaker No Speech Prob
currentSpeakerNoSpeechProb,
getSpeakerNoSpeechProb,
updateSpeakerNoSpeechProb,
setSpeakerNoSpeechProb,
setSuccessSpeakerNoSpeechProb,
};
};

View File

@@ -224,6 +224,16 @@ export const ROUTE_META_LIST = [
{ endpoint: "/get/data/selected_transcription_compute_device", ns: configs, hook_name: "useTranscription", method_name: "updateSelectedWhisperComputeDevice" },
{ endpoint: "/set/data/selected_transcription_compute_device", ns: configs, hook_name: "useTranscription", method_name: "setSuccessSelectedWhisperComputeDevice" },
// Transcription (Advanced)
{ endpoint: "/get/data/mic_avg_logprob", ns: configs, hook_name: "useTranscription", method_name: "updateMicAvgLogprob" },
{ endpoint: "/set/data/mic_avg_logprob", ns: configs, hook_name: "useTranscription", method_name: "setSuccessMicAvgLogprob" },
{ endpoint: "/get/data/mic_no_speech_prob", ns: configs, hook_name: "useTranscription", method_name: "updateMicNoSpeechProb" },
{ endpoint: "/set/data/mic_no_speech_prob", ns: configs, hook_name: "useTranscription", method_name: "setSuccessMicNoSpeechProb" },
{ endpoint: "/get/data/speaker_avg_logprob", ns: configs, hook_name: "useTranscription", method_name: "updateSpeakerAvgLogprob" },
{ endpoint: "/set/data/speaker_avg_logprob", ns: configs, hook_name: "useTranscription", method_name: "setSuccessSpeakerAvgLogprob" },
{ endpoint: "/get/data/speaker_no_speech_prob", ns: configs, hook_name: "useTranscription", method_name: "updateSpeakerNoSpeechProb" },
{ endpoint: "/set/data/speaker_no_speech_prob", ns: configs, hook_name: "useTranscription", method_name: "setSuccessSpeakerNoSpeechProb" },
// VR
{ endpoint: "/get/data/overlay_small_log", ns: configs, hook_name: "useVr", method_name: "updateIsEnabledOverlaySmallLog" },
{ endpoint: "/set/enable/overlay_small_log", ns: configs, hook_name: "useVr", method_name: "setSuccessIsEnabledOverlaySmallLog" },