languade detection and translation implemented - not working very well
This commit is contained in:
@ -9,8 +9,8 @@ const wss = new WebSocket.Server({ port: process.env.SERVER_PORT_WS });
|
||||
|
||||
|
||||
// console.log("ENV="+process.env)
|
||||
console.log("TTS_BACKEND_URL="+process.env.TTS_BACKEND_URL)
|
||||
console.log("WS_URL="+process.env.WS_URL)
|
||||
console.log("TTS_BACKEND_URL=" + process.env.TTS_BACKEND_URL)
|
||||
console.log("WS_URL=" + process.env.WS_URL)
|
||||
|
||||
let language = "en";
|
||||
let storeRecordings = false;
|
||||
@ -19,7 +19,7 @@ let queueCounter = 0;
|
||||
const storage = require('node-persist');
|
||||
storage.init().then(() => {
|
||||
storage.getItem('language').then((value) => {
|
||||
if (value != undefined) { language = value; console.log('language: ' + language); }
|
||||
if (value != undefined) { language = value; console.log('stored language: ' + language); }
|
||||
else { storage.setItem('language', language).then(() => { console.log('language set to ' + language + "(default)"); }); }
|
||||
});
|
||||
|
||||
@ -51,11 +51,14 @@ wss.on('connection', (ws, req) => {
|
||||
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);
|
||||
console.log('(queue ' + queueCounter + ') Received ' + (data.length / 1024 / 1024).toFixed(3) + ' MB audio from client. Crrent language: ' + language, 'task: ' + task);
|
||||
var request = require('request');
|
||||
|
||||
var endpoint = process.env.TTS_BACKEND_URL;
|
||||
var formData = {
|
||||
task: task,
|
||||
language: sessionData.language,
|
||||
language: language,
|
||||
vad_filter: 'true',
|
||||
output: 'json',
|
||||
audio_file: {
|
||||
value: data,
|
||||
@ -65,6 +68,31 @@ wss.on('connection', (ws, req) => {
|
||||
}
|
||||
}
|
||||
};
|
||||
console.log('language:', language);
|
||||
if (language == 'auto' || language == '') {
|
||||
console.log('Detecting language...');
|
||||
request.post({ url: endpoint.replace('/asr', '/detect-language'), formData: formData }, function optionalCallback(err, httpResponse, body) {
|
||||
console.log('detected:', body);
|
||||
if (typeof body === 'string') {
|
||||
body = JSON.parse(body);
|
||||
}
|
||||
if (body && body.language_code) {
|
||||
language = body.language_code; if (body && body.language_code) {
|
||||
let language = body.language_code;
|
||||
sessionData.language = language;
|
||||
console.log('language set to:', language);
|
||||
|
||||
webSocket.send(JSON.stringify({ languageDetected: body.detected_language }));
|
||||
} else {
|
||||
console.error('Error: Invalid body or missing language_code');
|
||||
}
|
||||
sessionData.language = language;
|
||||
console.log('language set to:', language);
|
||||
} else {
|
||||
console.error('Error: Invalid body or missing language_code');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
storeRecordings = sessionData?.storeRecordings || storeRecordings;
|
||||
if (storeRecordings) {
|
||||
@ -94,7 +122,8 @@ wss.on('connection', (ws, req) => {
|
||||
var duration = new Date().getTime() - start;
|
||||
//console.log('decoded (' + duration + 'ms):', body);
|
||||
console.log('decoded (' + (duration / 1000).toFixed(2) + 's):', body);
|
||||
webSocket.send("(" + queueCounter + ") " + body);
|
||||
//webSocket.send("(" + queueCounter + ") " + body);
|
||||
webSocket.send(JSON.stringify({ queueCounter: queueCounter, duration: duration, language: language, text: body}));
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -158,7 +187,7 @@ app.post('/settings', (req, res) => {
|
||||
sessionData.storeRecordings = body.storeRecordings;
|
||||
console.log(`Session ${sid}: storeRecordings set to ${sessionData.storeRecordings}`);
|
||||
}
|
||||
if(body.task != undefined){
|
||||
if (body.task != undefined) {
|
||||
sessionData.task = body.task;
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user