«Высокое качество» изменяет скорость звука без влияния на высоту звука - PullRequest
3 голосов
/ 04 июня 2019

Я почти ничего не знаю об аудио.

Но я знаю, что когда я изменяю скорость воспроизведения видео на 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) с хорошим качеством до превосходного?

...