added translation option to UI and serve

This commit is contained in:
Dobromir Popov 2024-06-10 00:35:45 +03:00
parent 71f075dd63
commit a5f1040cef
2 changed files with 21 additions and 1 deletions

View File

@ -129,6 +129,15 @@ disabled
credentials: 'same-origin'
});
});
document.getElementById('task-select').addEventListener('change', (event) => {
const task = event.target.value;
fetch('/settings', {
method: 'POST',
body: JSON.stringify({ task, sessionId }),
headers: { 'Content-Type': 'application/json' },
credentials: 'same-origin'
});
});
// Draw sliding bar graph
function drawSlidingBarGraph(lastVolumes) {
@ -265,6 +274,11 @@ disabled
if (json.hasOwnProperty("language")) {
languageSelect.value = json.language;
}
if (json.hasOwnProperty("taskSelect")) {
taskSelect.value = json.taskSelect;
}
//storerecordings checkbox
if (json.hasOwnProperty("storeRecordings")) {
storeRecordings.checked = json.storeRecordings;
@ -488,6 +502,7 @@ disabled
languageSelect = document.getElementById("language-select");
inputDevices = document.getElementById("input-devices");
storeRecordings = document.getElementById("store-recordings");
taskSelect = document.getElementById("task-select");
enumerateDevices();
connect(socket);

View File

@ -49,11 +49,12 @@ wss.on('connection', (ws, req) => {
console.log('No session data found for session id ' + webSocket.sessionId);
}
let language = sessionData?.language || 'en';
let task = sessionData?.task || 'transcribe';
//show the size of the audio data as 0.000 MB
console.log('(queue ' + queueCounter + ') Received ' + (data.length / 1024 / 1024).toFixed(3) + ' MB audio from client. Crrent language: ' + language);
var request = require('request');
var formData = {
task: 'transcribe',
task: task,
language: sessionData.language,
output: 'json',
audio_file: {
@ -157,6 +158,10 @@ app.post('/settings', (req, res) => {
sessionData.storeRecordings = body.storeRecordings;
console.log(`Session ${sid}: storeRecordings set to ${sessionData.storeRecordings}`);
}
if(body.task != undefined){
sessionData.task = body.task;
}
res.send('OK', 200, { 'Content-Type': 'text/plain' });
});