diff --git a/package.json b/package.json index 1128c7b..a067ad9 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,10 @@ "start": "node /app/web/server.js" }, "dependencies": { + "body-parser": "^1.20.2", + "dotenv": "^16.0.3", "express": "^4.18.2", + "node-persist": "^3.1.3", "request": "^2.88.2", "ws": "^8.12.1" } diff --git a/web/server.js b/web/server.js index efb66a5..bcfd227 100644 --- a/web/server.js +++ b/web/server.js @@ -1,14 +1,13 @@ -const WebSocket = require('ws'); -const wss = new WebSocket.Server({ port: 8081 }); -console.log('WebSocket server started on port 8081'); - - - //load .env file if (require('dotenv')) { require('dotenv').config() } +const WebSocket = require('ws'); +const wss = new WebSocket.Server({ port: process.env.SERVER_PORT_WS }); +console.log('WebSocket server started on port 8081'); + + console.log(process.env) console.log(process.env.TTS_BACKEND_URL) console.log(process.env.WS_URL) @@ -65,7 +64,7 @@ wss.on('connection', (ws, req) => { } } }; - + storeRecordings = sessionData?.storeRecordings || storeRecordings; if (storeRecordings) { //"yyyymmdd-hhMMss" @@ -148,7 +147,7 @@ app.post('/settings', (req, res) => { sessionData.language = body.language; console.log(`Session ${sid}: language set to ${sessionData.language}`); } - if(body.storeRecordings != undefined) { + if (body.storeRecordings != undefined) { sessionData.storeRecordings = body.storeRecordings; console.log(`Session ${sid}: storeRecordings set to ${sessionData.storeRecordings}`); } @@ -172,9 +171,62 @@ app.post('/upload', (req, res) => { console.log(err); res.send('ERROR', 500, { 'Content-Type': 'text/plain' }); } + +}); + +app.get('/test_ocr', (req, res) => { + var fs = require('fs'); + var request = require('request'); + + var filename = 'audio_me2.ogg'; + if (req.query.filename != undefined) { + filename = req.query.filename; + } + var formData = { + task: 'transcribe', + language: 'en', + output: 'json', + audio_file: { + value: fs.createReadStream('rec/dev/' + filename), + options: { + filename: 'audio.ogg', + contentType: 'audio/ogg' + } + } + }; + + if (req.query.language != undefined) { + formData.language = req.query.language; + } + + var tts_url = process.env.TTS_BACKEND_URL; + if (req.query.ttsID != undefined) { + //1: TTS_BACKEND_URL + //2: TTS_BACKEND_URL2 + //3: TTS_BACKEND_URL3 + //4: TTS_BACKEND_URL4 + if (req.query.ttsID !== '1') { + tts_url = process.env['TTS_BACKEND_URL' + req.query.ttsID]; + } + + } + + //record start time + var start = new Date().getTime(); + request.post({ url: tts_url, formData: formData }, function optionalCallback(err, httpResponse, body) { + if (err) { + return console.error('upload to ' + tts_url + ' failed:', err); + } + console.log('decoded:', body); + //duration of the transcribe in 0.00s + var duration = new Date().getTime() - start; + console.log('decoded (' + duration + 'ms):', body); + res.send('(' + duration + 'ms): ' + body); + + }); }); -app.listen(8080, () => { - console.log('Server listening on port 8080'); +app.listen(process.env.SERVER_PORT_HTTP, () => { + console.log('Server listening on port ' + process.env.SERVER_PORT_HTTP + ': http://localhost:' + process.env.SERVER_PORT_HTTP + '/'); });