code cleanup
This commit is contained in:
parent
d9c9101965
commit
d5de27ca8b
11 changed files with 3 additions and 82 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -101,3 +101,4 @@ language_detection_model/*
|
||||||
.vscode/
|
.vscode/
|
||||||
package-lock.json
|
package-lock.json
|
||||||
src/backend/loquendoBot_backend.exe
|
src/backend/loquendoBot_backend.exe
|
||||||
|
src/sounds/tts/*
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -21,22 +21,13 @@
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"electron-squirrel-startup": "^1.0.0",
|
"electron-squirrel-startup": "^1.0.0",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"franc": "^6.1.0",
|
|
||||||
"i18next-electron-language-detector": "^0.0.10",
|
|
||||||
"iconv-lite": "^0.6.3",
|
|
||||||
"ini": "^2.0.0",
|
"ini": "^2.0.0",
|
||||||
"kill-port": "^2.0.1",
|
|
||||||
"langdetect": "^0.2.1",
|
|
||||||
"node-google-tts-api": "^1.1.1",
|
"node-google-tts-api": "^1.1.1",
|
||||||
"querystring": "^0.2.1",
|
"querystring": "^0.2.1",
|
||||||
"request": "^2.88.2",
|
|
||||||
"say": "^0.16.0",
|
|
||||||
"socket.io": "^4.7.1",
|
"socket.io": "^4.7.1",
|
||||||
"socket.io-client": "^4.7.1",
|
"socket.io-client": "^4.7.1",
|
||||||
"sound-play": "^1.1.0",
|
|
||||||
"tmi.js": "^1.8.5",
|
"tmi.js": "^1.8.5",
|
||||||
"url": "^0.11.1",
|
"url": "^0.11.1",
|
||||||
"voice-recognition": "^1.0.6",
|
|
||||||
"winston": "^3.10.0",
|
"winston": "^3.10.0",
|
||||||
"write-ini-file": "^4.0.1"
|
"write-ini-file": "^4.0.1"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,6 @@ const createBackendServer = () =>
|
||||||
python = spawn(path.join(pythonPath, './loquendoBot_backend.exe'), [settingsPath, 'prod']);
|
python = spawn(path.join(pythonPath, './loquendoBot_backend.exe'), [settingsPath, 'prod']);
|
||||||
} else {
|
} else {
|
||||||
python = spawn('python', ['-u', path.join(pythonPath, './loquendoBot_backend.py'), settingsPath, 'dev']);
|
python = spawn('python', ['-u', path.join(pythonPath, './loquendoBot_backend.py'), settingsPath, 'dev']);
|
||||||
// python = spawn(path.join(pythonPath, './loquendoBot_backend.exe'), [settingsPath, 'dev']);
|
|
||||||
}
|
}
|
||||||
// Capture the stdout of the Python process
|
// Capture the stdout of the Python process
|
||||||
python.stdout.on('data', (data) => {
|
python.stdout.on('data', (data) => {
|
||||||
|
|
@ -140,7 +139,6 @@ async function initiateBackend() {
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error during backend initialization:', error);
|
console.error('Error during backend initialization:', error);
|
||||||
}
|
}
|
||||||
// setTimeout(getSTT, 3000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
initiateBackend();
|
initiateBackend();
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ const displayPanel = (panelSelectorClass, panelSelectorID, btnSelectorID) => {
|
||||||
el.classList.remove('show');
|
el.classList.remove('show');
|
||||||
});
|
});
|
||||||
if (panel.classList.contains('show')) {
|
if (panel.classList.contains('show')) {
|
||||||
// panel.classList.remove('show');
|
|
||||||
} else {
|
} else {
|
||||||
panel.classList.add('show');
|
panel.classList.add('show');
|
||||||
}
|
}
|
||||||
|
|
@ -103,7 +102,6 @@ displayPanel('.OptionPanel', '#BrowsersourceVtuber', '#btnBrowsersourceVtuber');
|
||||||
displayPanel('.OptionPanel', '#Chat', '#btnChat');
|
displayPanel('.OptionPanel', '#Chat', '#btnChat');
|
||||||
displayPanel('.OptionPanel', '#ThemeCreator', '#btnThemeCreator');
|
displayPanel('.OptionPanel', '#ThemeCreator', '#btnThemeCreator');
|
||||||
displayPanel('.OptionPanel', '#ChatCreator', '#btnChatCreator');
|
displayPanel('.OptionPanel', '#ChatCreator', '#btnChatCreator');
|
||||||
// displayPanel('.OptionPanel', '#Info', '#btnInfo');
|
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
const displayPanelX = (panelSelectorClass, panelSelectorID, btnSelectorID) => {
|
const displayPanelX = (panelSelectorClass, panelSelectorID, btnSelectorID) => {
|
||||||
|
|
@ -120,7 +118,6 @@ const displayPanelX = (panelSelectorClass, panelSelectorID, btnSelectorID) => {
|
||||||
el.classList.remove('item-active');
|
el.classList.remove('item-active');
|
||||||
});
|
});
|
||||||
if (panel.classList.contains('item-active')) {
|
if (panel.classList.contains('item-active')) {
|
||||||
// panel.classList.remove('item-active');
|
|
||||||
} else {
|
} else {
|
||||||
panel.classList.add('item-active');
|
panel.classList.add('item-active');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,6 @@ fetch(path.join(__dirname, '../logs/activity.log'))
|
||||||
tableBody.appendChild(row);
|
tableBody.appendChild(row);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {});
|
||||||
// console.error('Error fetching log file:', error);
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = logger;
|
module.exports = logger;
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@ const path = require('path'); // get directory path
|
||||||
|
|
||||||
const { ipcRenderer, shell } = require('electron'); // necessary electron libraries to send data to the app
|
const { ipcRenderer, shell } = require('electron'); // necessary electron libraries to send data to the app
|
||||||
const say = require('say');
|
const say = require('say');
|
||||||
const request = require('request');
|
|
||||||
const langdetect = require('langdetect');
|
|
||||||
const io = require('socket.io-client');
|
const io = require('socket.io-client');
|
||||||
|
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
|
@ -15,7 +13,6 @@ const GoogleTTS = require('node-google-tts-api');
|
||||||
|
|
||||||
const tts = new GoogleTTS();
|
const tts = new GoogleTTS();
|
||||||
const { Socket } = require('socket.io-client');
|
const { Socket } = require('socket.io-client');
|
||||||
// const { languages } = require('./languages');
|
|
||||||
|
|
||||||
const main = ipcRenderer.sendSync('environment');
|
const main = ipcRenderer.sendSync('environment');
|
||||||
|
|
||||||
|
|
@ -46,7 +43,6 @@ const messageTemplates = require(path.join(__dirname, './js/messageTemplates'));
|
||||||
const languageObject = require(path.join(__dirname, './js/languages'));
|
const languageObject = require(path.join(__dirname, './js/languages'));
|
||||||
const logger = require(path.join(__dirname, './js/logger'));
|
const logger = require(path.join(__dirname, './js/logger'));
|
||||||
const sound = require(path.join(__dirname, './js/sound'));
|
const sound = require(path.join(__dirname, './js/sound'));
|
||||||
const talk = require(path.join(__dirname, './js/voiceQueue')); // Voice queue system
|
|
||||||
const config = require(path.join(__dirname, './js/settings'));
|
const config = require(path.join(__dirname, './js/settings'));
|
||||||
|
|
||||||
const mediaDevices = require(path.join(__dirname, './js/mediaDevices'));
|
const mediaDevices = require(path.join(__dirname, './js/mediaDevices'));
|
||||||
|
|
@ -77,7 +73,6 @@ config.getGeneralSettings();
|
||||||
const TTSVolume = 1;
|
const TTSVolume = 1;
|
||||||
|
|
||||||
const notificationSoundVolume = 1;
|
const notificationSoundVolume = 1;
|
||||||
// const slider = document.body.querySelector('#slider');
|
|
||||||
const StartDateAndTime = Date.now();
|
const StartDateAndTime = Date.now();
|
||||||
const speakButton = document.querySelector('#speakBtn');
|
const speakButton = document.querySelector('#speakBtn');
|
||||||
|
|
||||||
|
|
@ -124,7 +119,6 @@ fs.readdir(sttModels, (err, files) => {
|
||||||
|
|
||||||
async function getAudioDevices() {
|
async function getAudioDevices() {
|
||||||
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
|
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
|
||||||
// logger.info('enumerateDevices() not supported.');
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -149,8 +143,6 @@ function setLanguagesinSelect(languageSelector, setting) {
|
||||||
for (const language in languageObject.languages) {
|
for (const language in languageObject.languages) {
|
||||||
if (languageObject.languages.hasOwnProperty(language)) {
|
if (languageObject.languages.hasOwnProperty(language)) {
|
||||||
const iso639 = languageObject.languages[language]['ISO-639'];
|
const iso639 = languageObject.languages[language]['ISO-639'];
|
||||||
// console.log(`${language}: ${iso639}`);
|
|
||||||
|
|
||||||
const option = document.createElement('option');
|
const option = document.createElement('option');
|
||||||
option.value = iso639;
|
option.value = iso639;
|
||||||
option.innerHTML = `${iso639} - ${language}`;
|
option.innerHTML = `${iso639} - ${language}`;
|
||||||
|
|
@ -207,11 +199,8 @@ function showChatMessage(article) {
|
||||||
const usernameHtml = article.querySelector('.username');
|
const usernameHtml = article.querySelector('.username');
|
||||||
var style = getComputedStyle(usernameHtml);
|
var style = getComputedStyle(usernameHtml);
|
||||||
var style2 = getComputedStyle(usernameHtml);
|
var style2 = getComputedStyle(usernameHtml);
|
||||||
// console.log(style.getPropertyValue('width'));
|
|
||||||
// console.log(style.getPropertyValue('width') + style.getPropertyValue('width') + 10);
|
|
||||||
|
|
||||||
const msg = article.querySelector('.msg-box');
|
const msg = article.querySelector('.msg-box');
|
||||||
// msg.width = `${getComputedStyle(usernameHtml).width + getComputedStyle(usernameHtml).width / 10}px`;
|
|
||||||
|
|
||||||
const messages = Array.from(document.body.querySelectorAll('.msg-container'));
|
const messages = Array.from(document.body.querySelectorAll('.msg-container'));
|
||||||
const lastMessage = messages[messages.length - 1];
|
const lastMessage = messages[messages.length - 1];
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,6 @@ localServer.listen(settings.GENERAL.PORT, () => {
|
||||||
startChatBubbleModule();
|
startChatBubbleModule();
|
||||||
|
|
||||||
if (settings.TTS.USE_TTS) {
|
if (settings.TTS.USE_TTS) {
|
||||||
// internalTTS.getInstalledVoices();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,6 @@ async function playVoice(filteredMessage, logoUrl, username, message) {
|
||||||
currentUsername = username;
|
currentUsername = username;
|
||||||
let textObject = { filtered: filteredMessage, formatted: message };
|
let textObject = { filtered: filteredMessage, formatted: message };
|
||||||
let voice;
|
let voice;
|
||||||
const language = langdetect.detect(filteredMessage);
|
|
||||||
textObject.filtered = `${username}: ${filteredMessage}`;
|
textObject.filtered = `${username}: ${filteredMessage}`;
|
||||||
|
|
||||||
// if (
|
// if (
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
const tmi = require('tmi.js');
|
const tmi = require('tmi.js');
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const { post } = require('request');
|
|
||||||
|
|
||||||
let client;
|
let client;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
var iconv = require('iconv-lite');
|
|
||||||
|
|
||||||
let SelectedVoice = '';
|
|
||||||
let Encoding = '';
|
|
||||||
let counter = 0;
|
|
||||||
// wrap in promise
|
|
||||||
const speak = (textObject) =>
|
|
||||||
new Promise((resolve) => {
|
|
||||||
// say.setEncoding(Encoding);
|
|
||||||
counter += 1;
|
|
||||||
let savePath = path.join(resourcesPath, './sounds/tts/internal_audio_' + counter + '.mp3');
|
|
||||||
|
|
||||||
say.export(iconv.encode(textObject.filtered, 'ascii'), SelectedVoice, 1, savePath, (err) => {
|
|
||||||
if (err) {
|
|
||||||
console.error(err);
|
|
||||||
} else {
|
|
||||||
sound.playAudio({ path: savePath, message: textObject });
|
|
||||||
sound.playNotificationSound();
|
|
||||||
}
|
|
||||||
resolve('finished');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// queue system
|
|
||||||
class SayQueue {
|
|
||||||
constructor() {
|
|
||||||
this.messages = [];
|
|
||||||
this.status = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
async shift() {
|
|
||||||
this.status = 1;
|
|
||||||
while (this.messages.length > 0) {
|
|
||||||
await speak(this.messages.shift(), SelectedVoice, 1);
|
|
||||||
}
|
|
||||||
this.status = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
add(message, selectedVoice) {
|
|
||||||
this.messages.push(message);
|
|
||||||
SelectedVoice = selectedVoice;
|
|
||||||
if (this.status === 0) {
|
|
||||||
this.shift();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const sayQueue = new SayQueue();
|
|
||||||
module.exports = sayQueue;
|
|
||||||
Loading…
Reference in a new issue