Значения высоты тона OpenAl для определенных музыкальных нот в октаве
Вопрос
В моем приложении для iPhone установлен звуковой движок OpenAl.Когда я воспроизвожу загруженный звук, я могу контролировать его высоту.
В OpenAl шаг, установленный на 1.0, не имеет никакого эффекта.Если вы удвоите его до 2,0, нота будет воспроизведена на 1 октаву выше (12 полутонов).Если уменьшить его вдвое, до 0,5, то он будет на октаву ниже (12 полутонов).
Итак, мой исходный образец играет C.Я предположил, что если разделить 1 на 12 (полутонов), то смогу получить высоту отдельных нот в этой октаве.Но, похоже, это не так.Это заставляет нас думать, что полутона – это не равные значения.Это правда?
Кто-нибудь знает, как я могу определить значение высоты звука openAl для отдельных нот в октаве?
Спасибо
Решение
Полутона – это равные соотношения.Итак, если ваш образец — C, C# будет корнем 12-й степени из двух.Если вы посчитаете полутона C=0, C#=1 и т. д., соотношение будет pow(2.0, n*1.0/12.0)
Работает и для отрицательных чисел.
Должен отметить, что это справедливо не для каждой схемы тюнинга...но это хорошее начало.Если вас действительно интересуют все сложности музыкальной настройки, я могу найти вам несколько ссылок.