Библиотека AS3 Standing Wave 3 изменяет высоту тона

#actionscript-3 #audio

#actionscript-3 #Аудио

Вопрос:

Я пытаюсь выяснить, как изменить высоту звука в библиотеке actionscript Standing Wave 3. Я импортировал звук с частотой 440 Гц (A) и пытаюсь изменить его высоту, чтобы произнести ноту (C).

Любые советы приветствуются.

Ответ №1:

Вы ознакомились с фильтрами? Особенно ResamplingFilter . Вы используете is, создавая новый ResamplingFilter с 2 параметрами. Первый параметр — это источник ( IAudioSource ), а второй параметр — коэффициент, на который будет изменяться частота.

Вот как это могло бы выглядеть:

 var aNote:IAudioSource = new SoundSource(new ANoteSoundAsset());
var cNote:IAudioSource = new ResamplingFilter(aNote, 1.189);
player.play(cNote);
  

Это повысило бы высоту тона ноты с A4 примерно до ноты C5.

Полезные ссылки:

Комментарии:

1. Извините, что так долго отвечаю. Большое спасибо.

2. Просто возвращаюсь к этому. Мне интересно, как вы пришли к числу 1.189? A4 равен 440 Гц, C5 равен 523,251. Я не вижу связи?

3. «коэффициент, на который следует умножать входную частоту». Повышая его с 440 до 523, вы умножаете 440 на 1.189, чтобы получить около 523, что является нотой C.

4. Спасибо! На самом деле не очень хорош в математике. Допустим, я хотел вычислить все ноты от A4 до A5 (все двенадцать нот), есть ли простая формула для этого. Спасибо

5. Отлично! 🙂 Чтобы найти коэффициент, на который вам нужно умножить, используйте эту простую формулу. A / B = C. В этом примере A = 523,251, B = 440 и C = 1,189. Затем просто посмотрите на справочную таблицу, чтобы узнать, каковы частоты всех различных нот. phy.mtu.edu /~suits/notefreqs.html