Средства
работы со звуком
Начиная с
версии МАТЬАВ 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.
Содержание раздела