Компьютерная алгебра в программе Mathematica 4

         

Синтез звуков



Синтез звуков

Mathematica, в отличие от других систем компьютерной математики, имеет средства для синтеза звука. Сопровождение звуком описания некоторых математических закономерностей (например, биений, развития взрывных процессов и т. д.) делает это описание более понятным и естественным. Особенно удобна эта возможность в теоретической акустике и в технике аналоговой и цифровой обработки акустических сигналов. Таким образом, при более серьезном рассмотрении можно найти немало прикладных задач, где звуковое сопровождение их решения полезно и является важной составляющей общего описания результатов решения.

Возможности синтеза звука становятся доступными, если компьютер оборудован звуковой картой класса Sound Blaster фирмы Creative Labs или совместимой с ней. К карте должна быть подключена стереофоническая акустическая система для воспроизведения звуков. Возможен синтез как монофонических, так и стереофонических звуков.

С синтезируемым звуком связан некоторый графический образ — ячейка. Этот графический образ имеет вид осциллограмм звуковых сигналов по обоим стереоканалам. Если такая ячейка выделена, то возможен запуск воспроизведения звука с помощью главного меню, как описывалось в уроке 2.

Для синтеза звуков в системе Mathematica используются следующие функции:

  • ListPlay [ {a1l, a2,...}] — проигрывает звук с амплитудой, заданной последовательностью уровней ai;

  • Play[f, {t, tmin, tmax}] — воспроизводит звук с амплитудой, заданной f как функцией от времени t в секундах между значениями tmin и tmax;
  • PlayRange — опция для Play и родственных функций, указывающая, какой диапазон уровней звуковых амплитуд должен использоваться;
  • SampleDepth — опция для звуковых примитивов, устанавливающая количество бит для кодирования уровней амплитуды звуковых сигналов;
  • SampledSoundFunction [f, n, r] — звуковой примитив; воспроизводит звук с частотой дискретизации г герц; значения дискретных отсчетов генерируются применением функции f к последовательным целым от 1 до л;
  • SampledSoundList [ {al, а2,...},r] — звуковой примитив, воспроизводящий звук, амплитуда которого имеет уровни ai с дискретностью г раз в секунду;
  • SampleRate — опция для звуковых примитивов, устанавливающая частоту дискретизации звука в герцах;
  • Sound [primitives] — представляет звук;
  • $SoundDisplayFunction — возвращает значение по умолчанию для опции Display Function в звуковых функциях.
Некоторые из указанных функций напоминают графические функции, и это не случайно. Идеология применения этих функций та же, что при использовании функций графики. Звуковые объекты имеют много схожего с графическими объектами, их можно наряду с последними включать в различные функции-директивы. Таким образом, единство работы со звуком и графикой обеспечено специально.

Рисунок 8.45 показывает использование функции Sound для создания звукового объекта. Графически этот объект представляет собой сдвоенную «осциллограмму» звука. Слово «осциллограмма» не случайно взято в кавычки — на самом деле речь идет лишь о некотором графическом представлении звуковых сигналов, отдаленно напоминающем осциллограмму. К тому же вид этого отображения сильно зависит от компьютерной платформы, на которой установлена система Mathe-matica и даже от применяемых в компьютере видеосредств.









Содержание раздела