Иллюстрированный самоучитель по Mathematica 3/4

Синтез музыкальных звуков (Music)

Подпакет Music как бы продолжает рассмотренный ранее подпакет поддержки звуковых возможностей системы Mathematica. Он задает функцию последовательного воспроизведения списка, содержащего отдельные звуки:

  • Scale [ilist, freq, dur] – генерирует звуковой объект, представленный данными списка ilist музыкальных интервалов, с частотой freq и длительностью dur.

Пример воспроизведения мажорной гаммы (поставляемая с системой мелодия JustMajor) представлен на рис. 13.6. Помимо фрагмента JustMajor имеется еще 11 фрагментов, которые поставляются с системой Mathematica (QuarterTone, Mean-Major, MeanMinor, SixthTone, JustMinor и т. д.). Все они могут воспроизводиться функцией Scale.

Иллюстрированный самоучитель по Mathematica 3/4 › Полезные функции › Синтез музыкальных звуков (Music)
Рис. 13.6. Пример воспроизведения музыкального фрагмента

Кроме того, есть ряд функций преобразования:

  • HertzToCents [f list] – преобразует список частот (в герцах) в список музыкальных интервалов (в центах);
  • CentsToHertz [ilist] – преобразует список музыкальных интервалов (в центах) в список частот (в герцах), начиная с частоты 440 Гц;
  • CentsToHertz [ilist, f ] – преобразует список музыкальных интервалов (в центах) в список частот (в герцах), начиная с заданной частоты f.

Примеры преобразования даны ниже:

<<Miscellaneous`Music`
  
HertzToCents[{400, 450, 525}]
{203.91, 266.871}
  
alist = Tablet N[440 2^(i/12)], {i, 0, 12}]
{440,., 466.164, 493.883, 523.251, 554.365, 587.33, 622.254,
659.255, 698.456/739.989, 783.991, 830.609, 880.}
  
HertzToCents[alist]
{100., 100., 100., 100., 100., 100., 100., 100., 100., 100., 100., 100.}
  
CentsToHertz[{0, 600}]
{440., 622.254}

Описанные возможности синтеза музыки являются скорее данью моде на мультимедиа, чем нужными на практике. Так, время подготовки музыкального объекта довольно значительно (до десятка секунд на компьютере с процессором Pentium II 350). Так что они годятся только для создания простейших музыкальных звуков, которыми можно сопровождать некоторые учебные программы.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.