diff --git a/web/client.html b/web/client.html index 67ad2de..1b3801d 100644 --- a/web/client.html +++ b/web/client.html @@ -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); diff --git a/web/server.js b/web/server.js index dbdda60..b97fc5f 100644 --- a/web/server.js +++ b/web/server.js @@ -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' }); });