Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Аналогово-цифровой преобразователь из звуковой карты. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Сегодня каждый пользователь ПЭВМ знаком с термином "мультимедиа". У многих он ассоциируется с качественным звуком, анимацией и т.п. Однако звуковую карту Sound Blaster можно использовать как аналого-цифровой и цифро-аналоговый преобразователь с исключительно широкими возможностями обработки данных. Компьютер с такой картой можно использовать в качестве осциллографа, генератора или анализатора сигналов. Дело в том, что ее "сердцем" является цифровой сигнальный процессор DSP (Digital Signal Processor). Для того чтобы использовать его возможности, необходимо иметь непосредственный доступ к буферам, содержащим звуковые данные и управляющим режимом работы DSP, т.е. использовать интерфейс низкого уровня. В этой статье мы рассмотрим устройство звуковой карты и формат стандартных типов файлов данных, в которых в памяти компьютера хранятся данные, полученные в результате оцифровки сигналов, поступающих на вход звуковой карты. Такие же файлы можно синтезировать программно с целью получения сигналов заданной формы.

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

Аналогово-цифровой преобразователь из звуковой карты

Данные, имеющие отношение к мультимедиа, хранятся в файлах в так называемом RIFF-формате (Resource Interchange File Format - формат файла для обмена ресурсами) [1]. Файл в формате RIFF содержит вложенные фрагменты (chunk's). Внешний фрагмент состоит из заголовка и области данных (рис.2). Первое двойное слово заголовка содержит четырехсимвольный код, который идентифицирует данные, хранящиеся во фрагменте.

Аналогово-цифровой преобразователь из звуковой карты

Второе двойное слово заголовка - размер области данных в байтах (без учета размера самого заголовка). Область данных имеет переменную длину с условием ее выравнивания на границу слова и дополнения в конце нулевым байтом до целого числа слов в случае необходимости.

Формат 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=( lpData: 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: HWaveIn; hfile: HMMIO; res: MMResult;begin with WaveHdr do begindwBufferLehgth : =round(Discret/10);dwBytesRecorded: =round(Discret/10);GetMem(WaveData, dwBytesRecorded);lpData : =PChar(WaveData); end; res : =waveInOpen (@HSoundDevice, WAVE_MAPPER, @WaveFormat, 0,0,0); res : =waveInPrepareHeader (HSoundDevice, @WaveHdr, SizeOf (WaveHdr)); res : =waveInUnprepareHeader (HSoundDevice, @WaveHdr,SizeOf(WaveHdr)) ; FreeMem (WaveData) ; res: =waveInStart (HSoundDevice) ; hfile:=mmio0pen ("d: \work\data_1. txt",nil, MMIO_CREATE or MMIO_READWRITE); mmioWrite(hfile,WaveHdr.IpData, WaveHdr,dwBytesRecorded); mmioClose(hfile,0); waveInReset(HSoundDevice) ; waveInClose(HSoundDevice) ;end.

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

Литература

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

Автор: О.Барановский, г.Минск; Публикация: Н. Большаков, rf.atnn.ru

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Расставание действительно может причинять физическую боль 16.09.2026

Разрыв отношений с близким человеком способно вызывать настолько сильные переживания, что привычное выражение "разбитое сердце" иногда воспринимается почти буквально. Человек может испытывать тревогу, тоску и эмоциональное напряжение, сопровождающиеся вполне реальными телесными ощущениями. Исследования работы мозга показывают, что такая связь между эмоциональными и физическими страданиями может иметь вполне определенную нейробиологическую основу. Эксперимент, позволивший изучить этот вопрос, провела команда психолога Итана Кросса из Мичиганского университета. В исследовании участвовали 40 человек, недавно переживших расставание по инициативе партнера. Все добровольцы продолжали остро реагировать на произошедшее, что позволило исследователям изучить мозговую активность в период наиболее сильных переживаний. Во время эксперимента участников помещали в аппарат магнитно-резонансной томографии. Испытуемым поочередно показывали фотографию бывшего партнера и подвергали предплечье воздей ...>>

Научно доказана невозможность создания нейтринного лазера 16.09.2026

Лазер давно перестал быть исключительно лабораторной технологией: сегодня он используется в связи, медицине, промышленности и научных исследованиях. Поэтому физики периодически предлагают необычные варианты устройств, способных работать по аналогичным принципам, но с другими типами частиц. В 2025 году появилась идея создать лазер, формирующий направленный поток нейтрино. Однако последующий теоретический анализ показал, что привлекательная на первый взгляд концепция сталкивается не просто с техническими трудностями, а с фундаментальными законами квантовой физики. Первоначальную концепцию предложили профессор Массачусетского технологического института (MIT) Джо Формаджио (Joe Formaggio) и Бен Джонс (Ben Jones) из Техасского университета в Арлингтоне. Согласно их замыслу, облако радиоактивных атомов следовало охладить до сверхнизких температур порядка нанокельвинов - миллиардных долей кельвина. В таких условиях атомы могли бы сформировать Бозе - Эйнштейновский конденсат, особое квантов ...>>

Индекс нижнего белья раскрыл состояние швейцарских почв 15.09.2026

Почва кажется обычной частью окружающего нас ландшафта, однако под ее поверхностью существует сложная экосистема, от состояния которой напрямую зависит жизнь человека. Миллиарды микроорганизмов, черви, грибы и другие обитатели почвы перерабатывают органические вещества и участвуют в круговороте питательных элементов. Чтобы привлечь внимание общества к этой мало заметной проблеме, исследователи из Цюрихского университета придумали весьма необычный эксперимент: они закопали более 2000 пар хлопкового нижнего белья в садах, на лугах, полях и газонах по всей Швейцарии. Проект получил название "Доказательство в виде нижнего белья" и представлял собой не массовую шутку, а научный эксперимент, позволяющий наглядно оценить биологическую активность почвы. Исследователи помещали хлопковые изделия в землю, а примерно через два месяца извлекали их и сравнивали степень разрушения ткани. Некоторые образцы за это время практически исчезали, оставляя лишь отдельные фрагменты швов, тогда как на други ...>>

Случайная новость из Архива

Детектор лжи для яиц 11.06.2005

Британские и австралийские ученые придумали, как различить яйца, отложенные на птицефабрике и в деревенском амбаре.

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

Ученые провели большую работу: изучили более одиннадцати тысяч яиц, которые несушки снесли в трех разных местах - в клетках, в деревенских амбарах и прямо в поле. Как оказалось, клетка оставляет на скорлупе яиц очень четкие следы - две белые линии на расстоянии 2-2,5 см.

Расчет показывает: если в партии из 90 яиц есть хотя бы пять штук с такими белыми полосками, то с вероятностью 0,999 имеет место пересортица. Возможно, поставщик пытается вместо крестьянских или фермерских яиц подсунуть диетические с птицефабрики. Пыльные следы, естественно, исчезают при мытье, поэтому такой контроль надо проводить на немытых яйцах.

Другие интересные новости:

▪ О способности к учебе можно узнать по глазам

▪ К вечеру мозг уменьшается

▪ Одноплатный ПК LattePanda 3 Delta

▪ Глобальное потепление сместило земную ось

▪ Лесных пожаров стало меньше

Лента новостей науки и техники, новинок электроники

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Радиоэлектроника и электротехника. Подборка статей

▪ статья Садовая мебель из реек. Советы домашнему мастеру

▪ статья Когда и где голуби применялись для аэрофотосъемки? Подробный ответ

▪ статья Резчик по металлу. Типовая инструкция по охране труда

▪ статья Микропузырьковая ванна для травления печатных плат. Энциклопедия радиоэлектроники и электротехники

▪ статья Вытаскивание каната из пиджака зрителя. Секрет фокуса

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026