Spaces:
Running
Running
Update js/recordingModule.js
Browse files- js/recordingModule.js +11 -3
js/recordingModule.js
CHANGED
|
@@ -108,7 +108,7 @@ export function initRecorder({ btnStart, btnStop, transcriptEl, getProvider, cle
|
|
| 108 |
audioChunks = [];
|
| 109 |
let transcript = '';
|
| 110 |
try {
|
| 111 |
-
|
| 112 |
console.log(`[Recorder] Iniciando transcripci贸n con Deepgram (Modelo: ${transModel})`);
|
| 113 |
const deepgramUrl = `${providerBaseUrl}/v1/listen?language=es&model=${transModel}&smart_format=true`;
|
| 114 |
console.log('[Recorder] Deepgram URL:', deepgramUrl);
|
|
@@ -121,8 +121,16 @@ export function initRecorder({ btnStart, btnStop, transcriptEl, getProvider, cle
|
|
| 121 |
} else if (transProvider === 'openai') {
|
| 122 |
console.log(`[Recorder] Iniciando transcripci贸n con OpenAI (Modelo: ${transModel})`);
|
| 123 |
const fd = new FormData(); fd.append('model', transModel);
|
| 124 |
-
|
| 125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
const respOA = await fetch(`${providerBaseUrl}/v1/audio/transcriptions`, { method: 'POST', headers: { 'Authorization': 'Bearer ' + apiKey }, body: fd });
|
| 127 |
if (!respOA.ok) { const errTxt = await respOA.text(); throw new Error(`Error OpenAI transcripci贸n (${respOA.status}): ${errTxt}`); }
|
| 128 |
const dataOA = await respOA.json();
|
|
|
|
| 108 |
audioChunks = [];
|
| 109 |
let transcript = '';
|
| 110 |
try {
|
| 111 |
+
if (transProvider === 'deepgram') {
|
| 112 |
console.log(`[Recorder] Iniciando transcripci贸n con Deepgram (Modelo: ${transModel})`);
|
| 113 |
const deepgramUrl = `${providerBaseUrl}/v1/listen?language=es&model=${transModel}&smart_format=true`;
|
| 114 |
console.log('[Recorder] Deepgram URL:', deepgramUrl);
|
|
|
|
| 121 |
} else if (transProvider === 'openai') {
|
| 122 |
console.log(`[Recorder] Iniciando transcripci贸n con OpenAI (Modelo: ${transModel})`);
|
| 123 |
const fd = new FormData(); fd.append('model', transModel);
|
| 124 |
+
// --- INICIO: C脫DIGO MODIFICADO PARA FILENAME ---
|
| 125 |
+
// Obtener la parte despu茅s de '/' (ej: 'webm;codecs=opus' o 'mp4') o usar 'webm' como fallback
|
| 126 |
+
const mimeSubType = (blobType.split('/')[1] || 'webm');
|
| 127 |
+
// Quitar cualquier cosa despu茅s de un punto y coma (ej: ';codecs=opus')
|
| 128 |
+
const extension = mimeSubType.split(';')[0];
|
| 129 |
+
// Construir el nombre de archivo solo con la extensi贸n limpia
|
| 130 |
+
const filename = `consulta.${extension}`;
|
| 131 |
+
// --- FIN: C脫DIGO MODIFICADO PARA FILENAME ---
|
| 132 |
+
fd.append('file', blob, filename); // Ahora filename ser谩 algo como 'consulta.webm'
|
| 133 |
+
console.log(`[Recorder] Enviando a OpenAI: model=${transModel}, filename=${filename}, size=${blob.size}`); // Log mostrar谩 el filename corregido
|
| 134 |
const respOA = await fetch(`${providerBaseUrl}/v1/audio/transcriptions`, { method: 'POST', headers: { 'Authorization': 'Bearer ' + apiKey }, body: fd });
|
| 135 |
if (!respOA.ok) { const errTxt = await respOA.text(); throw new Error(`Error OpenAI transcripci贸n (${respOA.status}): ${errTxt}`); }
|
| 136 |
const dataOA = await respOA.json();
|