Помощь - Поиск - Пользователи - Календарь
Полная версия: Sound
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
_92
где можно найти что-то типа нот [sound(x);delay(xx)]для "писклявого" динамика? (наподобие "бумер"а)
volvo
Вот, писал когда-то музыкальный редактор, это оттуда:
Type
  ENote =
    (
      C, dsC, { Do, Do# }
      D, dsD, { Re, Re# }
      E,      { Mi }
      F, dsF, { Fa, Fa# }
      G, dsG, { Sl, Sl# }
      A, dsA, { La, La# }
      H       { Si }
    );

Const
  ntFreq : Array[ 1 .. 5, ENote ] Of Word =
    (
      (  65,   68,   73,   77,   82,   86,   92,   97,  103,  109,  116,  123),
      ( 131,  138,  147,  155,  165,  174,  185,  196,  207,  220,  233,  247),
      ( 262,  277,  294,  311,  330,  349,  370,  392,  415,  440,  466,  494),
      ( 524,  554,  588,  622,  660,  698,  740,  784,  830,  880,  932,  988),
      (1048, 1108, 1176, 1244, 1320, 1396, 1480, 1568, 1660, 1760, 1864, 1976)
    );

Это первые 5 октав, но дальше все просто - умножаешь на 2 частоту нужной ноты для предыдущей октавы - получаешь значение для следующей... :P
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.