Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_06.doc
Скачиваний:
4
Добавлен:
07.09.2019
Размер:
432.13 Кб
Скачать

Функція wavplay

Нарешті, третя функція, призначена для відтворення звуку, має ім'я wavplay:

wavplay(у, Fs, 'mode')

Вхідні параметри у і Fs мають той же зміст, що й у попередніх функцій, а параметр 'mode' керує режимом відтворення. Цей параметр може приймати два значення:

- 'sync' — синхронний режим, що означає, що функція поверне керування інтерпретатору MATLAB тільки після закінчення звуку;

- 'async' — асинхронний режим, при якому функція передає дані для відтворення звуковим драйверам Windows і відразу ж повертає керування системі MATLAB, не чекаючи закінчення звуку.

Параметри 'mode' і Fs при виклику можна опускати, при цьому використовуються їхні значення за замовчуванням: Fs = 11025 і 'mode' = 'async'.

Синхронний режим дозволяє організувати в MATLAB-програмі видачу декількох звуків підряд, не піклуючись про розрахунок і дотримання тимчасових інтервалів між відповідними командами. В асинхронному ж режимі можна одночасно з відтворенням звуку продовжувати виконання програми. На жаль, при цьому немає можливості програмним шляхом перевірити, чи закінчилося відтворення звуку.

ЗАУВАЖЕННЯ

Така програмна перевірка буде можлива, якщо для відтворення звуку скористатися засобами пакета Data Acquisition (коротка інформація про його можливості приводиться далі).

Запис звуку

Функція wavrecord дозволяє записати звук у змінну MATLAB за допомогою звукової карти комп'ютера:

у = wavrecord(n, Fs, ch, 'dtype')

Тут n — число записуваних відліків, Fs — частота дискретизації в герцах, ch — число каналів запису, 'dtype' — тип записуваних даних.

Результат, що повертається, у — матриця, кожен стовпець якої відповідає одному каналу запису. При стереозаписі перший стовпець — лівий канал, другий — правий.

Для параметра 'dtype' можливі наступні значення:

- 'double' — 16-бітовий запис, дані масштабуються до діапазону -1...1 і представляються в 8-байтовом форматі з плаваючою точкою;

- 'single' — 16-бітовий запис, дані масштабуються до діапазону -1...1 і представляються в 4-байтовом форматі з плаваючою точкою;

- 'int16' — 16-бітовий запис, дані представляються в двухбайтовому цілочисленому форматі (діапазон -32 768...32 767);

- 'uint8' — 8-бітовий запис, дані представляються в однобайтовому беззнаковому целочисленому форматі (діапазон 0...255, нульовій напрузі на вході відповідає значення 128);

Вхідні параметри 'dtype', ch і Fs можна опускати, при цьому будуть використовуватися їхні значення за замовчуванням: Fs = 11025, ch = 1, 'dtype' = 'double'.

Готові записи сигналів

У розділі Audio базової бібліотеки MATLAB і в пакеті розширення Signal Processing мається кілька готових записів сигналів, збережених у виді Мат-файлів. Ці сигнали використовуються в якості вихідних даних у прикладах, що приводяться в документації, і демонстраційних програмах. Можливо, вам вони придадуться для тестування власних програм і алгоритмів. Зведення про наявні сигнали приведені в табл. 6.1.

Таблиця 6.1. Записи сигналів, що маються в MATLAB

Ім'я файлу

Пакет

Ім'я перемінної

Розмір

Частота дискретизації, Гц

Характер звуку

chirp.mat

MATLAB

у

13 129 (1,6 с)

8192

Імпульси з мінливою частотою

gong.mat

MATLAB

у

42028

(5.1 с)

8192

Удар гонга

handel.mat

MATLAB

у

73 113 (8,9 с)

8192

Хор

laughter.mat

MATLAB

у

52 634 (6,4 с)

8192

Сміх

splat.mat

MATLAB

у

10 001 (1,2 с)

8192

Тон з мінливою частотою, потім звук удару

train.mat

MATLAB

у

12 880 (1,5 с)

8192

Гудок потяга

mtlb.mat

SP

mtlb

4001 (0,54 с)

7418

Вимовлене слово «MATLAB»

vcosig.mat

SP

vcosig

19 661 (2,4 с)

8192

Даний сигнал має дуже забавну спектрограму

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]