Я почти ничего не знаю об аудио.
Но я знаю, что когда я изменяю скорость воспроизведения видео на YouTube в 2 или 0,5 раза, голоса звучат нормально.
Я использовал приведенный ниже код для замедления звука просто без изменения высоты тона:
HTML
<audio id="myHeader">
<source src="horse.mp3" type="audio/mpeg">
</audio>
<script src="script.js"></script>
JS
var x = document.getElementById("myHeader");
function playAudio() {
x.webkitPreservesPitch = true;
x.playbackRate = 0.5;
x.play();
}
playAudio();
Работает, но качество очень и очень плохое.
И я также использовал SoundTouch.js ...
Оба работали отрывисто и с некачественным выходом при попытке замедлить звук на 50% от нормальной скорости, но потом я нашел Time Stretching Audio в Javascript ... Благодаря 'Jonas Wagner' It работает потрясающе, даже если вы замедлите звук до 40 процентов.
Вот оригинальная страница из Time Stretching Audio в Javascript веб-приложение, которое работает с гораздо лучшим качеством звука, чем любые коды, которые я пробовал. К сожалению, он еще не выпустил библиотеку: (
Как я могу замедлить звук примерно на 50 процентов от нормальной скорости (Preserve Pitch) с хорошим качеством до превосходного?