v78: fade-in 10мс — убирает щелчок при воспроизведении
This commit is contained in:
Vendored
+6
-2
@@ -407,7 +407,11 @@ async function playTrimmed(blob) {
|
|||||||
}
|
}
|
||||||
const src = ctx.createBufferSource();
|
const src = ctx.createBufferSource();
|
||||||
src.buffer = buf;
|
src.buffer = buf;
|
||||||
src.connect(ctx.destination);
|
const gain = ctx.createGain();
|
||||||
|
// Fade-in 10мс — убирает щелчок при старте
|
||||||
|
gain.gain.setValueAtTime(0, ctx.currentTime);
|
||||||
|
gain.gain.linearRampToValueAtTime(1, ctx.currentTime + 0.01);
|
||||||
|
src.connect(gain).connect(ctx.destination);
|
||||||
src.start();
|
src.start();
|
||||||
return new Promise(resolve => { src.onended = resolve; });
|
return new Promise(resolve => { src.onended = resolve; });
|
||||||
}
|
}
|
||||||
@@ -744,7 +748,7 @@ async function doCompare(blob, originalText, duration) {
|
|||||||
<script>
|
<script>
|
||||||
// ---------- Глобальные переменные и инициализация ----------
|
// ---------- Глобальные переменные и инициализация ----------
|
||||||
const GROQ_API_KEY = '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';
|
const GROQ_API_KEY = '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';
|
||||||
const VERSION = 'v77';
|
const VERSION = 'v78';
|
||||||
|
|
||||||
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
|
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
|
||||||
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;
|
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;
|
||||||
|
|||||||
+5
-1
@@ -105,7 +105,11 @@ async function playTrimmed(blob) {
|
|||||||
}
|
}
|
||||||
const src = ctx.createBufferSource();
|
const src = ctx.createBufferSource();
|
||||||
src.buffer = buf;
|
src.buffer = buf;
|
||||||
src.connect(ctx.destination);
|
const gain = ctx.createGain();
|
||||||
|
// Fade-in 10мс — убирает щелчок при старте
|
||||||
|
gain.gain.setValueAtTime(0, ctx.currentTime);
|
||||||
|
gain.gain.linearRampToValueAtTime(1, ctx.currentTime + 0.01);
|
||||||
|
src.connect(gain).connect(ctx.destination);
|
||||||
src.start();
|
src.start();
|
||||||
return new Promise(resolve => { src.onended = resolve; });
|
return new Promise(resolve => { src.onended = resolve; });
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// ---------- Глобальные переменные и инициализация ----------
|
// ---------- Глобальные переменные и инициализация ----------
|
||||||
const GROQ_API_KEY = '';
|
const GROQ_API_KEY = '';
|
||||||
const VERSION = 'v77';
|
const VERSION = 'v78';
|
||||||
|
|
||||||
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
|
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
|
||||||
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;
|
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user