🚀 Auto-deploy: Camila atualizado em 03/06/2026 10:52:52
This commit is contained in:
@@ -3,6 +3,7 @@ const express = require('express');
|
||||
const cookieParser = require('cookie-parser');
|
||||
const path = require('path');
|
||||
const multer = require('multer');
|
||||
const { MsEdgeTTS, OUTPUT_FORMAT } = require('msedge-tts');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
@@ -182,6 +183,33 @@ async function getKnowledgeAsText() {
|
||||
}
|
||||
}
|
||||
|
||||
// Rota POST para sintetizar fala com MsEdgeTTS e retornar áudio
|
||||
app.post('/api/tts', requireAuth, async (req, res) => {
|
||||
const { text } = req.body;
|
||||
if (!text) return res.status(400).json({ error: 'Texto é obrigatório' });
|
||||
|
||||
try {
|
||||
const tts = new MsEdgeTTS();
|
||||
await tts.setMetadata("pt-BR-FranciscaNeural", OUTPUT_FORMAT.AUDIO_24KHZ_48KBITRATE_MONO_MP3);
|
||||
const { audioStream } = tts.toStream(text);
|
||||
|
||||
res.setHeader('Content-Type', 'audio/mpeg');
|
||||
audioStream.pipe(res);
|
||||
|
||||
audioStream.on('error', (err) => {
|
||||
console.error('Erro na stream do MsEdgeTTS:', err);
|
||||
if (!res.headersSent) {
|
||||
res.status(500).json({ error: 'Erro ao processar áudio' });
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erro ao gerar TTS:', error);
|
||||
if (!res.headersSent) {
|
||||
res.status(500).json({ error: error.message || 'Erro ao gerar áudio' });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Rota GET para obter configurações do agente
|
||||
app.get('/api/agent-config', requireAuth, (req, res) => {
|
||||
const config = readAgentConfig();
|
||||
|
||||
Reference in New Issue
Block a user