Джерела додаткової інформації

Повний стандарт ISO можна отримати з декількох джерел B Сполучених Штатах можна отримати інформацію в Global Engineering Documents (http://globalihscom)

K жаль, більшість книг по MPEG охоплюють тільки кодування відеоінформації Проте робота MPEG Video Compression Standard Джоан Мітчелл Qoan Mitchell), Вільяма Пеннбейкер (William Pennebaker), Чеда

Фогга (Chad Fogg) і Дідьє Леголла (Didier LeGaIl) містить корисну інформацію з історії стандартів MPEG За заявою авторів, наступний том буде спеціально присвячений кодуванню аудіо

Програвачі MPEG і супутню інформацію можна отримати на

Web-сайті http://wwwmpegorg

Глава 15 Формат файлу AU

Файловий формат AU і в даний час широко використовується в Internet Він виник на компютерах Sun в якості скидання памяті звукових даних в мю-кодуванні Пізніше, для того щоб полегшити ідентифікацію цих файлів і надати можливість явно задавати звуковий формат, був доданий базовий заголовок Ha компютерах NeXT цей формат відомий як SND

Основна перевага AU простота Тема визначає всі важливі параметри, а звукові дані зберігаються у вигляді простого скидання памяті Єдина незручність полягає в тому, що в заголовку записується загальна довжина звукових даних, яка не завжди відома заздалегідь Найпростіший спосіб вирішення цієї проблеми, використовуваний в програмах запису файлів формату AU, штучне завищення довжини, а в програмах читання файлів AU зупинка роботи по досягненні кінця файлу або по прочитанні відповідної кількості даних He слід встановлювати довжину звукових даних рівний 0

B табл 151 показаний формат заголовка AU Всі значення записуються, починаючи з самого старшого байта Хоча зсув для більшості файлів AU складає рівно 28 байт, іноді в заголовку зберігаються додаткові дані Необхідно постійно стежити за тим, щоб не вийти за межі істинної довжини Крім того, як вже згадувалося раніше, кількість байтів звукових даних слід розглядати як верхня межа, а не гарантована кількість

B табл 152 перераховується частина кодів формату запису звуку, використовуваних при роботі з файлами формату AU Хоча в таблиці представлено безліч варіантів, тільки три формату даних застосовуються широко: 8-бітна мю-функція (зазвичай при частоті дискретизації 8000 Гц), лінійний 8-бітний і лінійний

16-бітний Решта використовуються майже виключно на системах NeXT або

Sun B Зокрема, формати DSP (цифрової обробки) це спеціальні формати

Таблиця 151 Тема АU

Довжина Опис

4 «Чарівна струна»: Snd

4 Зсув звукових даних від початку файлу (мінімум 28)

4 Число байтів звукових даних

4 Звуковий формат, див табл 152

4 Частота дискретизації (відліків в секунду)

4 Кількість каналів

n Необовязкове текстовий опис (мінімум 4 байта)

n Звукові дані

Таблиця 152 Коди формату запису звуку у файлах АU

Код Опис

1 серпня-бітний формат, мю-функція за стандартом G711

2 Лінійний, 8 біт

3 Лінійний, 16 біт

4 Лінійний, 24 біт

5 Лінійний, 32 біта

6 Відліки з плаваючою точкою

7 Відліки з плаваючою точкою подвійної точності

8 Фрагментовані відліки

10 Програма DSP

11 Відліки з фіксованою точкою, 8 біт

12 Відліки з фіксованою точкою, 16 біт

13 Відліки з фіксованою точкою, 24 біт

14 Відліки з фіксованою точкою, 32 біта

18 16-бітний лінійний з предискаженіем

19 Лінійний стислий, 16 біт

20 16-бітний лінійний з предискаженіем і компресією

21 Набір музичних команд DSP

23 Адаптивна диференціальна імпульсно-кодова модуляція

(АДІКМ) стандарту G721

24 АДІКМ G722

25 АДІКМ G7233

26 АДІКМ G7235

27 серпня-бітний, Α-Law за стандартом G711

NeXT, а версій з плаваючою точкою майже завжди слід уникати, так як вони погано стерпні між системами (Звичайно, формат G711 мю-функція добре переносимо і, як сказано в главі 11, по суті, є 8-бітовим форматом з плаваючою точкою)

Завдяки тому, що формат AU настільки простий, я їм часто користуюся Як правило, я перетворю файли у формат AU і потім застосовую в якості основи для подальшої обробки

B частини, що залишилася цієї глави ми визначимо два класи AuRead це обєкт AudioAbstract, який читає дані з файлу AU AuWrite – це аудіопрогравач, який записує дані у файл AU

Лістинг 151 Програма auh

#ifndef  AU_H_INCLUDED

#define  AU_H_INCLUDED

#include &quotaudioh&quot

#include &quotcompressh&quot

#include &quotaplayerh&quot

#include &ltiostream&gt

bool IsAuFile(istream &ampfile)

class AuRead: public AudioAbstract {

class AuWrite: public AbstractPlayer {

}

#endif

Лістинг 152 Програма aucpp

#include &quotauh&quot

#include &quotg711h&quot

Ідентифікація файлів AU

Створені за останній час файли формату AU наділені заголовком, показаним в табл 151 B перші чотири байти записаний рядок Snd Є безліч більш старих файлів, які містять ідентифікатор формату AU (використовують розширення au), але не мають цього заголовка Такі файли є зазвичай скиданням памяті звукових даних в мю-кодуванні, записаних на частоті дискретизації 8000 Гц

Лістинг 153 Ідентифікація файлу формату AU

bool IsAuFile (istream & file) {fileseekg (0) / / B початок файлу long magic = ReadIntMsb (file, 4)

return (magic == 0x2E736E64) / / Має бути . Snd.

}

Джерело: Кінтцель Т Керівництво програміста по роботі зі звуком = A Programmers Guide to Sound: Пер з англ М: ДМК Пресс, 2000 432 с, іл (Серія «Для програмістів»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*