Журнал "Домашняя лаборатория", 2006 №12 - [13]

Шрифт
Интервал

Формат RIFF не описывает формат данных. Практически файл в формате RIFF может содержать любые данные для мультимедиа, причем формат данных зависит от типа данных.

Область, обозначенная на рис. 2 как "Данные", могут содержать внутри себя другие фрагменты. Для файла, в котором хранятся звуковые данные (wav-файл), эта область содержит идентификатор данных "WAVE", фрагмент формата звуковых данных "fmt" (три символа "fmt" и пробел на конце), а также фрагмент звуковых данных (рис. 2). Файл может дополнительно содержать фрагменты других типов, поэтому не следует думать, что заголовок wav-файла имеет фиксируемый формат. Например в файле может присутствовать фрагмент "LIST" или "INFO", содержащий информацию о правах копирования и другую дополнительную информацию.

Рассмотрим, как происходит запись данных. Вначале требуется открыть устройство ввода, указав ему формат звуковых данных. Затем нужно заказать один или несколько блоков памяти и подготовить их для ввода, вызвав специальную функцию. После этого подготовленные блоки нужно по мере необходимости передавать драйверу устройства ввода, который заполняет их записанными звуковыми данными. Для сохранения записанных данных в wav-файле приложение должно сформировать и записать в файл заголовок wav-файла и звуковые данные из подготовленных заполненных драйвером устройств ввода блоков памяти.

Ниже представлен фрагмент программы, позволяющий записать блок данных в файл, что необходимо при использовании звуковой карты в качестве аналого-цифрового преобразователя:

>uses

>        SysUtils, MMSystem;

>type

>       TWaveData = array[0..0) of word;

>const

>        Discret = 22050;

>WaveHdr: TWaveHdr=(

>    IpData                        : nil; (address of the waveform buffer)

>    dwBufferLength           : 0; (length, in bytes, of the buffer)

>    dwBytesRecorded         : 0; (How much data is in the buffer)

>    dwUser                        : 0;

>    dwFlags                       : 0;

>    dwLoops           : 0;

>    IpMext                         : nil;

>    reserved                      : 0

>    );

>WaveFormat: TWaveFormatEx=(

>    wFormatTag   : WAVE_FORMAT_PCM;

>    nChannels       : 1;

>    nSamplesPerSec              : Discret;

>    nAvgBytesPerSec             : Discret;

>    nBllockAlign     : 1;

>    wBitsPerSample              : 8;

>    csSize                            : 0

>    );

>var

>    WaveDate         : ^TWaveDate;

>     HSoundDevice   : HWaveln;

>     hfile                              : HMMIO;

>     res                   : MMResult;

>begin

>     with WaveHdr do

>                      begin

>             dwBufferLehgth: =round(Discret/10);

>              dwBytesRecorded: =round(Discret/10);

>               GetMem(WaveData, dwBytesRecorded);

>               lpData: =PChar(WaveData);

>                    end;

>     res: =wavelnOpen (@HSoundDevice, WAVE_MAPPER, SWaveFormat, 0,0,0);

>     res: =waveInPrepareHeader (HSoundDevice, QWaveHdr, SizeOf (WaveHdr));

>     res: =waveInUnprepareHeader (HSoundDevice, QWaveHdr,SizeOf(WaveHdr));

>     FreeMem (WaveData);

>     res: =waveInStart (HSoundDevice);

>     hfile:=mmio0pen ("d: \work\data_l. txt",nil,

>                 MMIO_CREATE or MMIO_RE AD WRITE);

>     mmioWrite(hfile,WaveHdr.IpData, WaveHdr,dwBytesRecorded);

>      mmioClose(hfile,0);

>      wavelnReset(HSoundDevice);

>       wavelnClose(HSoundDevice);

>end


В отличие от интерфейса MCI, где многие параметры принимаются по умолчанию, интерфейс низкого уровня требует внимательного и тщательного учета всех деталей процесса записи и чтения. В качестве компенсации за дополнительно затраченные усилия вы получаете большую гибкость и возможность работать не только со звуком, но также и с произвольными сигналами в реальном времени.

>Литература

>1. Фролов А.В., Фролов Г.В. Мультимедиа для Windows. Руководство для программиста. — М,"ДИАЛОГ-МИФИ", 1994, 284 с. (Библиотека системного программиста; Т. 15).

Преобразование угла потенциометра в цифровой код

Шулейн


Разместив несколько байтов программы в микропроцессоре 8008/8080 и используя интегральный таймер типа 555, можно создать систему, преобразующую угол потенциометра в цифровой код. Указанный способ удобно и выгодно применять в тех случаях, когда информация о положении потенциометра поступает на вход системы, содержащей микропроцессор (системы управления производственными процессами, телевизионные игры и т. п.).

Как показано на рисунке, импульс строба микропроцессора запускает интегральный таймер 555, включенный по схеме ждущего мультивибратора. Временной интервал, соответствующий высокому потенциалу на выходе таймера, пропорционален сопротивлению потенциометра. Для измерения этого периода микропроцессор увеличивает содержимое внутреннего регистра до тех пор, пока потенциал интегрального таймера, поступающий на вход D7, остается высоким.



Когда необходимо ввести в микропроцессор информацию о положении потенциометра, программа обращается к подпрограмме POTPOS (положение потенциометра), в которой используются четыре флага, аккумулятор и регистр В. Как показано на рисунке, указанной подпрограмме соответствуют следующие операции микропроцессора:


Еще от автора автор неизвестный
Динь-Динь и верные друзья

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


История конструкций самолетов в СССР в 1951-1965 гг

Предлагаемая вниманию читателей книга является продолжением двухтомного справочника известного советского авиаконструктора и историка отечественной авиации Вадима Борисовича Шаврова. Его книги, выпущенные издательством "Машиностроение" под общим названием "История конструкций самолетов в СССР", не раз переиздавались и приобрели широкую известность в нашей стране и за рубежом. Они стали наиболее полными и авторитетными справочниками по истории отечественного самолетостроения. В последние годы жизни автор начал работу над следующим томом, однако по разным причинам выпустить подобное издание не представлялось возможным.


Владимир Осипович Богомолов - биографическая справка

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Сказки народов Африки, Австралии и Океании

 В книгу вошли сказки о животных, волшебные и бытовые сказки народов Африки, Австралии и Океании. Составление, вступление и примечание К. И. Позднякова, Б. Н. Путилова. Иллюстрации Л. Токмакова. .


100 великих катастроф XX века

В очередной книге из серии «100 великих XX века» представлены описания наиболее значительных и трагических катастроф, повлекших за собой многочисленные человеческие жертвы и разрушения.


Naruto Rpg

Naruto RpgНаправленность: Джен Автор: alchoz Беты (редакторы): Волчонок Кара , ДыханиеНочи Фэндом: Naruto, The Gamer (кроссовер) Рейтинг: R Жанры: Фэнтези, Фантастика, Экшн (action), AU, Мифические существа, Попаданцы Предупреждения: OOC, Мэри Сью (Марти Стью) Размер: Макси, 96 страниц Кол-во частей: 26 Статус: закончен Статус: Молодой человек из мира "The Gamer" попал в Наруто.


Рекомендуем почитать
Архитекторы интеллекта. Вся правда об искусственном интеллекте от его создателей

Искусственный интеллект (ИИ) быстро переходит из области научной фантастики в повседневную жизнь. Современные устройства распознают человеческую речь, способны отвечать на вопросы и выполнять машинный перевод. В самых разных областях, от управления беспилотным автомобилем до диагностирования рака, применяются алгоритмы распознавания объектов на базе ИИ, возможности которых превосходят человеческие. Крупные медиакомпании используют роботизированную журналистику, создающую из собранных данных статьи, подобные авторским.


Тито и товарищи

Книга известного словенского историка, академика Словенской академии наук и искусств Йоже Пирьевца, написанная на основе богатейшего архивного материала, не только подробно знакомит с биографией Йосипа Броза Тито, который решающим образом влиял на формирование югославской истории во время II Мировой войны – как организатор партизанского движения, и после нее – как глава социалистической Югославии. Она дает широкую панораму жизни югославских народов с начала XX в. до 1980 г. Большое внимание уделено взаимоотношениям Тито с руководителями СССР И.


Сказки

Настоящий сборник является первым научным изданием сказок Перро на русском языке, предназначенным для взрослых читателей: до сих пор эти сказки издавались только в качестве детских книжек. В сборник включены не только все сказки Перро, прозаические и стихотворные, но также и некоторые наиболее известные сказки его продолжателей и последователей (д’Онуа, Леритье-де-Впллодон, Лепренс де-Бомон) как образцы французской сказочной литературы XVII–XVIII веков; во французских изданиях эти сказки нередко объединяются со сказками самого Перро. Перевод под редакцией М. Петровского. Вступительная статья и комментарии Н. П. Андреева. Иллюстрации Александра Дмитриевича Силина..


Заболевания желудка. Современный взгляд на лечение и профилактику

«Все сознают, что нормальная и полезная еда есть еда с аппетитом, всякая другая еда, еда по приказу, по расчету признается уже в большей или меньшей степени злом», — писал академик И. П. Павлов. Перед вами необычная книга. Главная ее особенность состоит в том, что желудок, его заболевания, а также их профилактика и лечение рассматриваются в «контексте» всего организма, в тесной связи с образом жизни и мыслями человека. Автор обращает внимание читателей на множество «мелочей», которым мы обычно не придаем никакого значения, не замечаем их влияния на состояние желудочно-кишечного тракта и здоровье в целом. Книга — не сухое повествование о болезнях, а увлекательное путешествие в мир под названием «человеческий организм». Для широкого круга читателей.


Антикитерский механизм: Самое загадочное изобретение Античности

Это уникальное устройство перевернуло наши представления об античном мире. Однако история Антикитерского механизма, названного так в честь греческого острова Антикитера, у берегов которого со дна моря были подняты его обломки, полна темных пятен. Многие десятилетия он хранился в Национальном археологическом музее Греции, не привлекая к себе особого внимания.В научном мире о его существовании знали, но даже ученые не могли поверить, что это не мистификация, и поразительный механизм, использовавшийся для расчета движения небесных тел, действительно дошел до нас из глубины веков.


Возвращение к языку. Наглый самоучитель райтера, журналиста и писателя

Пособие призвано развить в школьниках, студентах и начинающих журналистах умение создавать красивые, яркие и точные образы, оставаясь в рамках существующего русского языка, не вульгаризируя его англицизмами, жаргонными словами и разговорной речью низкого уровня. Задача, поставленная автором, довольно амбициозна: не только научить правильной письменной речи, но пробудить вдохновение к созданию таких текстов и дальнейшему совершенствованию. Адресована студентам факультетов журналистики и филологических факультетов, а также тем, кто стремится грамотно и образно излагать свои мысли на бумаге.