Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2010, 16:25   #1
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию Пример кода для воспроизведения нот - частоты нот для 80-ти клавишного пианино

Я хочу сделать одну программку, и мне нужны частоты нот. Покопался у себя в архивах, нашел проект старый, но там только 12 нот, они там у меня привязаны к клавишам от "1" до "=" (верхний ряд на клавиатуре).
Вот их числовые значения (нашел когда-то в интернете):
Цитата:
if key=ord('1') then no:=60; //c
if key=ord('2') then no:=62 ; //d
if key=ord('3') then no:=64 ; //e
if key=ord('4') then no:=65; //f
if key=ord('5') then no:=67 ; //g
if key=ord('6') then no:=69; //a (до)
if key=ord('7') then no:=71 ; //b (ре)
if key=ord('8') then no:=72 ; //c (ми)
if key=ord('9') then no:=74 ; //d
if key=ord('0') then no:=76; //e
if key=ord('-') then no:=77 ; //f
if key=ord('=') then no:=79 ; //g
Чему соответсвуют цифры: 62 и т.д. затрудняюсь сказать, частота в каких-то единицах это или просто приближенное условное значение. Потом эта цифра передается в миди сообщении, только умножается на 0x100.

Также если не трудно, просветите, какие вообще бывают клавиатуры в пианинах, 80-ти клавишные, какие еще? И где на реальной клавиатуре располагались бы мои клавиши (эти 12)?

Я хочу сделать 3-4 ряда чтобы октавами шли, ну или хотя бы просто по возрастанию, т.е. "z" - "/" нижний ряд, цифровой - верхний, или же q - ] верхний, а цифровой - повтор нижнего, если весь диапазон не будет влазить. Как-то так.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.01.2010 в 16:29.
mutabor вне форума Ответить с цитированием
Старый 09.01.2010, 16:35   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Пример кода для воспроизведения нот можно глянуть здесь.

Цитата:
Чему соответсвуют цифры: 62 и т.д. затрудняюсь сказать
Я тоже затрудняюсь... Похоже на нумерацию нот в MIDI.

Принцип таков: берем за основу частоту какой-либо ноты (к примеру, 440 Герц), а частоты следующих нот получаем умножением частоты предыдущей ноты на 2^(1/12)

Цитата:
За эталон частоты ноты берётся нота ля первой октавы, частота которой должна быть равной 440 Гц. Отношение частот двух соседних нот (например, до и до-диез) равно 2-1/12; таким образом, можно видеть, что отношение частот нот, отстоящих друг от друга на октаву, равно двум.
Все частоты можно поглядеть здесь


Последний раз редактировалось EducatedFool; 09.01.2010 в 16:42.
EducatedFool вне форума Ответить с цитированием
Старый 09.01.2010, 16:45   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

О, вот за это спасибо! Хорошая раскладочка.

Кто еще чего знает, валяйте, не стесняйтесь
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.01.2010 в 16:49.
mutabor вне форума Ответить с цитированием
Старый 09.01.2010, 16:48   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цветом
Белая\Черная\Белая -тон, две белые подряд - полутон.
В принципе тот же звук. Это как с полярностью + и -. Назвали бы черный и белый была бы полная аналогия.

P.S. Один год недоучился, чтоб диплом о получении муз. образования заиметь.
P.P.S. И хорошо, что не получил - не стал бы программистом :D
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 09.01.2010 в 17:06.
Alex Cones вне форума Ответить с цитированием
Старый 09.01.2010, 17:04   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Цветом
Белая\Черная\Белая -тон, две белые подряд - полутон.
В принципе тот же звук. Это как с полярностью + и -. Назвали бы черный и белый была бы полная аналогия.

P.S. Один год недоучился, чтоб диплом о получении муз. образования заиметь.
Да я уже вкурил сам. На гитаре когда-то пытался играть. Там же ноты через лад нек-рые перескакивают. А если все лады подряд, то это будет соответствовать всем клавишам подряд и черным и белым. Но все равно спасибо, помощь почти дипломированного специалиста никогда не помешает
Кстати вы должны знать, какие клавиатуры по кол-ву клавиш бывают у пианино/рояля? Та что на схеме выше я так понял это самая полноразмерная?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.01.2010 в 17:06.
mutabor вне форума Ответить с цитированием
Старый 09.01.2010, 17:19   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

В журнале "Юный техник" № 6 за 1981 г. есть хорошая статья: C. Газарян Арифметика музыки.
http://publ.lib.ru/ARCHIVES/YU/''Yun...981_.html#8106
_Dmitry вне форума Ответить с цитированием
Старый 09.01.2010, 17:51   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

нота "ля" первой октавы имеет частоту 440 Гц, звук на полутон выше 440*sqrt(2), на полутон ниже 440/sqrt(2), на два выше 440*2*sqrt(2) и так далее
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 09.01.2010, 23:16   #8
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,033
По умолчанию

А.В.Белов. Создаем устройства на микроконтроллерах 2007
Там есть программа музыкальной шкатулки(АСМ+Си) и немного описывается теория.
Блин, на его сайте штук двадцать вирусных файлов антивирус нашел (((

Последний раз редактировалось Levsha100; 09.01.2010 в 23:19.
Levsha100 вне форума Ответить с цитированием
Старый 09.01.2010, 23:48   #9
NITRO2025
Новичок
Джуниор
 
Аватар для NITRO2025
 
Регистрация: 21.01.2009
Сообщений: 1,345
По умолчанию

Фортепианная клавиатура имеет семь с четвертью октав (7.25). Всего 88 клавиш...52 белых и 36 черных...
Согласие есть продукт при полном непротивлении сторон! :)
NITRO2025 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пример создания окна для ActiveX(OLE) компонента(по типу WebBrowser или Flash) Пепел Феникса Win Api 4 25.12.2009 09:08
Как собрать пример для argtable!?? neo-210 Общие вопросы C/C++ 0 29.09.2009 00:16
Программка для автоструктурирования кода Drakon4ek Софт 1 20.07.2008 21:18
название для кода Romuald Microsoft Office Excel 2 25.03.2008 09:52
Воспроизведение Midi-нот desperado Общие вопросы Delphi 2 26.06.2007 13:22