Матричная лаборатория MatLab

         

Средства работы со звуком

Начиная с версии МАТЬАВ 5.0 в системе несколько расширены средства для работы со звуком. До этого система имела единственную звуковую команду:

  • sound(Y.Р5) — воспроизводит сигнал из вектора У с частотой дискретизации Р5 с помощью колонок, подключенных к звуковой карте компьютера. Компоненты У могут принимать значения в следующих пределах -1.0<=у<=1.0. Для воспроизведения стереозвука на допускающих это компьютерных платформах У должен быть матрицей размера Мх2;
  •  sound(Y) — функционирует аналогично, принимая частоту дискретизации по умолчанию равной 8192 Гц;
  • sound(Y,РS.ВIТS) — функционирует аналогично с заданием разрядности звуковой карты: ВIТS=8 или ВIТ=16.
Теперь появились дополнительные команды воспроизведения звука:

  • sound(Y,...) — масштабирует и воспроизводит сигнал из массива У: По синтаксису команда аналогична-sound( Y,...);
  • soundsc(Y ,...,SLIМ) — аналогична предшествующей команде, но позволяет задать параметр SLIМ = [MIN(Y) MAX(Y)], определяющий тот диапазон значений Y, который будет соответствовать полному динамическому диапазону звука. По умолчанию SLIМ = [МIN(Y)  МАХ(У)].
  • Bеер оn или off — соответственно разрешает или запрещает гудок; 
  •  s=bеер — возвращает состояние оn|off
  •  bеер — при s=оn издает гудок.
Кроме того, введены команды для считывания и записи файлов звукового формата .WAV, стандартного для операционных систем класса Windows

  • wavwrite(Y,WAVEFILE_Е) — записывает файл типа WAVE под именем WAVELIFE. Данные по каждому каналу в случае стерео записывются в разных столбцах массива. Величины должны быть в диапазоне [-1; 1];
  • wavwrite(Y.FS.WAVEFILE) — делает то же с заданием частоты дискретизации FS (в герцах); 
  • wavwrite(Y,FS,NBITS,WAVEFILE) — делает то же с заданием числа бит на отсчет NBITS, причем NBITS<=16;
  • Y=wavread(FILE) — считывает файл типа WAVE с именем FILE и возвращает данные в массиве Y;
  • [Y,FS,BITS]=wavread(FILE) — считывает файл типа WAVE с именем FILE и возвращает массив данных Y, частоту дискретизации FS (в герцах) и разрядность BITS кодирования звука (в битах);
  • [...]=wavread(FILE.N) — возвращает только первые N отсчетов из каждого канала файла;
  • [...]=wavread(FILE, [N1 N2]) — возвращает только отсчеты с номерами от N1 до N2 из каждого канала;
  • SIZ=wavread(FILE, 'size') — возвращает объем аудиоданных в виде вектора SIZ=[samples channels] (samples — число отсчетов, channels — число каналов);
  • auwrite - записывает файл в соответствии со звуковым форматом фирм Sun и Next; auread воспроизводит файлы в MATLAB 6 на Sun и в MATLAB 5 на Next.

 

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