每当我使用代码播放声音时,例如:
每次播放片段时会听到非常明显的点击或弹出声。不要管我正在尝试使用此系统播放实时音频;为什么每个声音片段的开头和结尾都会出现故障噪声?我不明白这种行为在2017年从音频播放设备中是如何被接受的...有没有办法减轻或消除这种情况?
以下是一组很好的#,可以将点击噪声减少到基本上为零。我不是说这对于音调效果很好,但对于语音来说完美无瑕。
这会产生一个逐渐增加和逐渐减少的过程。
// binaryData = a wave file from a websocket
let ctx = new AudioContext();
ctx.decodeAudioData(binaryData, function(audioData){
let source = ctx.createBufferSource();
source.buffer = audioData;
source.connect(ctx.destination);
source.start(0);
});
每次播放片段时会听到非常明显的点击或弹出声。不要管我正在尝试使用此系统播放实时音频;为什么每个声音片段的开头和结尾都会出现故障噪声?我不明白这种行为在2017年从音频播放设备中是如何被接受的...有没有办法减轻或消除这种情况?
以下是一组很好的#,可以将点击噪声减少到基本上为零。我不是说这对于音调效果很好,但对于语音来说完美无瑕。
// start of clip
// clipPlayTime may be 0 or your scheduled play time
gain.setValueAtTime(0.01, clipPlayTime);
gain.exponentialRampToValueAtTime(1, clipPlayTime + 0.001);
// end of clip
gain.setValueAtTime(1, clipPlayTime + clipLength - 0.001);
gain.exponentialRampToValueAtTime(0.01, clipPlayTime + clipLength);
这会产生一个逐渐增加和逐渐减少的过程。