This commit is contained in:
legop3
2026-03-16 21:30:56 -04:00
parent 4aa53e8f80
commit aaa93847e1
20 changed files with 567 additions and 140 deletions
+12 -1
View File
@@ -7,6 +7,7 @@ const logger = require('../globals/logger').child('audioForwardService');
const { loadConfig } = require('../helpers/configLoader');
const roverManager = require('./roverManager');
const { isAdmin } = require('./roleService');
const { getAudioLevels, audioLevelsEvents } = require('./audioLevelsService');
const audioForwardEvents = new EventEmitter();
const config = loadConfig();
@@ -200,6 +201,7 @@ function buildSilenceWriterArgs() {
}
function buildClipWriterArgs(filePath) {
const forwardGain = Math.max(0, Number(getAudioLevels()?.forwardGain) || 1);
return [
'-hide_banner',
'-loglevel',
@@ -209,7 +211,7 @@ function buildClipWriterArgs(filePath) {
filePath,
'-vn',
'-af',
'aresample=16000,volume=12dB',
`aresample=16000,volume=${forwardGain}`,
'-f',
's16le',
'-ac',
@@ -394,6 +396,15 @@ roverManager.managerEvents.on('rover', ({ roverId, action } = {}) => {
}
});
audioLevelsEvents.on('change', () => {
workers.forEach((worker, roverId) => {
if (worker?.contentKind === 'clip') {
// Restart clip writer so forward gain changes are immediately reflected.
startClipWriter(roverId, testAudioPath);
}
});
});
io.on('connection', (socket) => {
socket.on('audio:testPlay', ({ roverId } = {}, cb = () => {}) => {
try {