MME (interface)
MME (англ. MultiMedia Extensions — мультимедийные расширения) — семейство системных программных интерфейсов (API) Windows для работы с мультимедийными устройствами (в основном звуковые карты) и файлы.
Семейство MME было анонсировано в Windows 3.0 и изначально включало следующие функции:
- воспроизведение и запись оцифрованного (квантованного) звука
- отправка и получение MIDI-сообщений
- управление микшированием звуковой карты (громкость, высота тона, изменение канала и т. д.)
- получать информацию о состоянии джойстика
- работать с таймером реального времени
- читать и создавать файлы RIFF
Позже в MME были добавлены глобальные звуковые эффекты (gfx).
Цифровые звуковые инструменты MME включают в себя как низкоуровневые операции (доступ к аудиоустройству), так и ввод-вывод, выбор режима работы, запуск потока/ стоп, сдвиг буфера данных), а также высокоуровневые операции (p воспроизведение аудиофайла одной командой, организация простого потока и др.). П.). Группа высокоуровневых операций объединена в отдельный интерфейс под названием MCI.
Инструменты
MME для работы с оцифрованным звуком (англ. Waveform Audio ) разрабатывался как универсальное и простое средство воспроизведения и записи звука. По этой причине они хорошо подходят для работы в эфире с достаточно длинными звуковыми сигналами, но имеют ограниченное применение в условиях реального времени, где необходимо соблюдать строгую синхронизацию. Интерфейс DirectSound предпочтительнее для этой цели. ). Большинство этих драйверов работали в связке с соответствующими драйверами режима ядра (англ. kernel-mode ). Однако системные драйверы Windows 3/95 и NT 3/4 были несовместимы друг с другом, а интерфейс DirectSound в драйверах Windows 95 требовал дополнительной специальной поддержки.
Начиная с Windows 98/2000, общие драйверы типа WDM были недоступны. представили, которые можно было использовать во всех системах, а также автоматически поддерживать DirectSound. Наряду с этим вы также могли использовать драйверы MME до появления Windows Vista. Драйверы MME устарели в Windows Vista.
Ссылки
- Страница Windows Media в MSDN
- Статья RSDN по программированию звука
- Статья о программировании MIDI в RSDN
- Статья о программировании микшера в RSDN
- Статья о программировании джойстика/таймера в RSDN
- Статья о планировании аудиофайлов в RSDN
Фонд Викимедиа. 2010.
Видео-гайд: Mme драйвер что это
Полезно
Посмотреть, что такое «MME (интерфейс)» в других словарях:
MCI (интерфейс) — Хотите улучшить это статья?: Добавить иллюстрации. Дополните статью (статья слишком короткая или содержит только словарное определение). Найдите и сделайте сноски на авторитетные источники, подтвердить… Википедия
Разработка архитектуры системы : Архитектура сети SAE SAE — это сеть с базовой архитектурой, разработанная консорциумом 3GPP для стандарта беспроводной связи LTE. SAE является эволюционным продолжением… … Wikipedia
DirectSound — (англ. direct direct, direct и англ. sound sound) программный интерфейс (API) в системе Windows для воспроизведение и запись звука. Часть расширения DirectX. Интерфейс DirectSound был разработан в … … Wikipedia
DirectX — Тип Microsoft DirectX… Wikipedia
Windows PowerShell — Windows PowerShell … Википедия
Robotron EC1832 : персональный компьютер, произведенный на болгарском заводе IZOT в конце 198X года. Совместим с IBM XT (не уверен, что полностью). Плата EC1832.1001 04: ЦП Центральный процессор. Он имеет гнездовой разъем DB 9 на передней панели для подключения XT… …Википедия
Компонентная объектная модель : В этой статье или разделе перечислены внешние источники или ссылки, но источники отдельных утверждения остаются неясными из-за отсутствия сносок… Википедия
GDI : у этого термина есть и другие значения, см. GDI (значения). GDI (интерфейс графического устройства, интерфейс графического устройства) — это один из трех основных компонентов или «подсистем», которые вместе с ядром Windows и API составляют пользовательский интерфейс… …Википедия
Библиотека базовых классов — Библиотека базовых классов, стандартная платформа библиотеки классов BCL для краткости «.NET Framework». Программы, написанные на любом из языков, поддерживающих платформу .NET, могут использовать классы и методы BCL для создания объектов… …Wikipedia
Silverlight — Разработано корпорацией Microsoft Написано по комбинации … Википедия
Источник
MME (интерфейс)
Из Википедии, свободной энциклопедии
MME (англ. Multimedia Extensions) — семейство системных программных интерфейсов (API) Windows для работы с мультимедийными устройствами (в основном звуковыми картами) и файлами. В англоязычной литературе часто встречается под обозначением WinMM (англ. Windows MultiMedia), по названию системной DLL, реализующей функции интерфейса.
Семейство MME/WinMM было анонсировано в Windows 3.0 и изначально включало следующие функции:
- воспроизведение и запись оцифрованного (квантованного) звука
- отправка и получение MIDI-сообщений
- звук управление микшированием карты (громкость, тембр, смена канала и т. д.)
- получение информации о состоянии джойстика
- работа с таймером реального времени
- чтение и создание файлов RIFF
Впоследствии инструменты для работы с глобальными звуковыми эффектами (gfx).
Инструменты цифрового звука MME включают в себя как низкоуровневые операции (доступ к аудиоустройствам, выбор режимов работы, запуск/остановка потока , перемещение буферов данных), а также высокоуровневый уровень операций (воспроизведение аудиофайла одной командой, простая организация потока и т. д.). П.). Группа высокоуровневых операций объединена в отдельный интерфейс под названием MCI.
Инструменты MME для работы с оцифрованным звуком (англ. Waveform Audio) разрабатывались как универсальное и простое средство воспроизведения и записи звука. По этой причине они хорошо подходят для работы в эфире с достаточно длинными аудиосигналами, но ограничены в приложениях реального времени, где необходимо соблюдать строгую синхронизацию. Для этой цели предпочтительнее использовать интерфейс DirectSound.
В версиях Windows 3, 95 и NT 3/4 использовались специальные устанавливаемые драйверы носителей для пользовательского режима. Большинство этих драйверов работали вместе с соответствующими драйверами режима ядра. Однако системные драйверы Windows 3/95 и NT 3/4 были несовместимы друг с другом, а интерфейс DirectSound в драйверах Windows 95 требовал дополнительной специальной поддержки.
Начиная с Windows 98/2000, общие драйверы типа WDM были недоступны. представили, которые можно было использовать во всех системах, а также автоматически поддерживать DirectSound. Наряду с этим вы также могли использовать драйверы MME до появления Windows Vista. Драйверы MME устарели в Windows Vista.
Источник
Российские блоги
Знакомство с распространенными аудио API
В системе ПК если вам нужно вывести звук, вам нужно использовать специальный метод управления аудиочипами, например, кодек, ЦАП и т. д. нужный. С помощью Audio API аудиопрограммы, такие как проигрыватели, могут выводить программы напрямую в API без использования разных инструкций для разных микросхем.
Распространенными аудио API являются MME, DS, WDM, KS, WASAPI, ASIO и т. д.
MME (волновой ввод/вывод)
MME — наиболее распространенный звуковой Windows API и называется MutiMedia Extensions, т.е. технология расширения мультимедиа. Он имеет долгую историю и хорошую совместимость, и в основном все устройства на рынке могут хорошо поддерживаться. Он относится к высокоуровневому API и не взаимодействует напрямую с оборудованием. Для доступа к аудиооборудованию ему требуется многоуровневый интерфейс, что также приводит к высокой задержке. Хотя эта задержка не снижает качество звука во время воспроизведения, она оказывает большее негативное влияние на обработку звука и запись.
MME использует API-интерфейсы waveIn **** / waveOut **** для завершения обработки звука. После запуска программы с помощью функции серии waveIn **** откройте функцию ввода звуковой карты, при этом установите буфер на достаточно маленькое значение, а затем начните запись аудиоданных в указанный буфер, а затем в буфер, когда буфер заполнен. (WAVHDR) можно добавлять непосредственно в очередь вывода функций серии waveOut ****. Этот метод относительно прост в реализации. Недостатком является то, что MME — это высокоуровневый API, поэтому он должен проходить все этапы обработки системы в рамках всего процесса, что приводит к высокой задержке. Если буфер слишком мал, звук будет прерывистым. Обычно минимальная задержка может составлять до 120 миллисекунд.
WaveOut — это первый метод вывода аудиопотока, разработанный Microsoft, поэтому его совместимость хорошая, его поддерживают почти все операционные системы и звуковые карты Microsoft, но он не может поддерживать «микширование нескольких аудиопотоков» без использования аппаратного ускорения. , Все операции микширования выполняются программным обеспечением.
DirectSound (DS)
После выпуска Windows95 Microsoft обнаружила, что геймеры по-прежнему охотно используют DOS в качестве своих игр. платформу, потому что разработчики игр сочли Windows95 непригодной для видео- и аудиозадач, поскольку мультимедийные функции, содержащиеся в WinAPI32, реагировали слишком медленно. Затем Microsoft выпустила знаменитый DirectX, DirectX представляет собой набор аудио- и видео-DSP (эффектов) звуковых API. DirectSound является частью этого. DirectSound делится на 2D/3D. DirectSound имеет функции эффектов, поэтому вы можете добавлять эхо и другие эффекты во время вывода, чтобы имитировать реальную звуковую среду. DirectSound в основном предоставляет услуги для игр. Некоторые аудиоплееры и редакторы также используют DirectSound в качестве API для эффектов в реальном времени. DirectSound фокусируется на выходе, а не на входе. Если ваше оборудование поддерживает это, DirectSound может значительно ускорить время отклика. Звуковой отклик в Windows был улучшен до нового уровня. За исключением некоторых старых звуковых карт, почти все звуковые карты поддерживают DirectSound, по крайней мере, DirectSound 2D.
В ноябре 2006 года Microsoft выпустила Windows Vista. Vista неожиданно удалила аппаратную поддержку DirectSound 3D (HAL), что означает, что звуковые карты, поддерживающие аппаратное ускорение DirectSound 3D, утратили свои возможности ускорения. Недавно вышедшая Windows 7 унаследовала эту функцию от Vista, а аппаратное ускорение DirectSound 3D ушло в прошлое.
DirectX Sound фокусируется на выводе звука и имеет прямой доступ к компьютеру, а скорость отклика был значительно улучшен. . Установите режим работы DirectSound на самый высокий уровень; обычно минимальная задержка может составлять около 60 миллисекунд.
WDM
WDM означает модуль драйвера Windows, который имеет низкую задержку и поддерживает несколько аудиопотоков. Это новая функция в Windows 98 SE/ME/2000. После появления драйвера WDM люди обнаружили, что звуковые карты, которые ранее не поддерживали несколько аудиопотоков, теперь могут воспроизводить несколько аудиопотоков. WDM также можно рассматривать как набор API. Объектом связи является драйвер, а не обычное приложение. Пока драйвер поддерживает WDM, будут добавлены многие функции, такие как универсальная программная волновая таблица. С точки зрения ввода и вывода WDM лучше, чем MultiMedia Extensions и DirectSound. Сейчас почти все не исключенные звуковые карты поддерживают WDM. WDM может значительно уменьшить задержку звуковой карты. В некоторых случаях его можно даже сравнить с ASIO. Некоторые профессиональные программы для создания и редактирования аудио поддерживают WDM.
MME имеет высокую задержку, а Direct Sound не предназначен для профессиональный звук. Появление WDM компенсирует эти недостатки. WDM взаимодействует напрямую с драйвером звукового чипа, сокращая количество межканальных каналов и снижая задержку до нового уровня. Сегодня многие профессиональные аудиопрограммы предлагают интерфейс WDM.
Так называемая технология WDM заключается в том, что приложения напрямую вызывают основные системные службы. Общий процесс заключается в том, чтобы сначала получить данные из буфера, а затем отправить их. В WinXP звук WDM также известен как Kernel Streaming. Преимущество этой схемы заключается в том, что задержка может быть чрезвычайно низкой, обычно минимальная задержка может составлять от 1 мс до 10 мс, а в некоторых случаях для монополизации всех ресурсов звуковой карты могут использоваться невыгружаемая память, прямой аппаратный IRP и RT. .
Streaming Kernel (KS)
Streaming Kernel на китайском языке означает потоковое ядро, которое представляет собой способ прямого доступа к базовым данным, вы можете обойти системный микс ( Windows Kernel Mixer) и взаимодействуют напрямую со звуковой картой, повышая эффективность вывода и уменьшая задержку вывода. , Ядро потоковой передачи не проходит через Kmixer, а напрямую обрабатывает аудиоданные в режиме ядра, поэтому мы можем прослушивать исходный звук.
Однако у потоковой передачи ядра также есть свои ограничения: во-первых, использование этого API будет напрямую занимать звуковое оборудование. При прослушивании песни не слышно звука QQ, во-вторых, в этом API нет функции аудиоввода, и нельзя использовать микрофон.
Следует отметить, что начиная с Vista и Win7 , он начал отвергать kmixer и dma-зависимый ввод-вывод, потоковое ядро не может использоваться для Vista и Win7.
UAA (WASAPI)
UAA — это новейшая звуковая архитектура Windows, представленная при выпуске Vista. UAA называется Universal Audio Architecture, а API для управления аудиоразговорами — WASAPI (Windows Audio Session API). WASAPI может обрабатывать каждую группу аудиоразговоров отдельно, что имеет большое значение.
Например, при использовании WASAPI, если вы воспроизводите музыку с частотой дискретизации 44,1 кГц, а QQ с частотой дискретизации 48 кГц , частота дискретизации звука снова будет слышна, вам не нужно иметь дело с реверберацией и нет преобразования частоты дискретизации (SRC). Качество звука ухудшается. Звуковой API WASAPI на самом деле является стандартом для многих любителей музыки.
WASAPI (Windows Audio Session API) — это API, связанный со звуковой архитектурой UAA (универсальная аудиоархитектура), которая была добавлена после Windows Vista. WASAPI позволяет передавать необработанные битовые потоки на аудиоустройства, что позволяет избежать помех SRC (преобразование частоты дискретизации). Для Windows XP канал, подобный WASAPI, является ядром потоковой передачи, упомянутым выше. WASAPI можно использовать только в Windows Vista и Win7 и более поздних версиях.
Microsoft утверждает, что Vista/7 начала отказываться от kmixer и ввода-вывода, зависящего от dma, и разработала то, что называется WaveRT (Wave RealTime). Ваш WASAPI, MMCSS и т. д. используют WaveRT в качестве ядра, а WaveRT имеет собственный микшер, но вы можете обойти микшер при работе в эксклюзивном сенсорном режиме, отключить все другие программы. MMCSS позволяет назначать приоритет аудио ввода-вывода на более высоких тактовых частотах. Что Microsoft хочет сделать, так это использовать управление аудиопотоком по таймеру в реальном времени без DMA, связываться напрямую с аудиоустройствами UAA или даже позволить аудиоданным напрямую управлять программными часами звуковой карты или аудиоинтерфейса, эта функциональность должна быть очень похожей. . в ASIO, хотя это общий режим WASAPI, SRC больше не существует, но в консоли вы можете свободно устанавливать частоту дискретизации общего назначения, размер бита и каналы после совместного использования микса, поэтому исходный сигнал 44100 Гц может быть сохранен и там не будет SRC, теперь все материнские платы Intel или чипы Intel уже имеют высокую точность HPET), что может сделать обработку аудио и видео более точной. частота дискретизации и низкая задержка шины реального времени, поэтому количество событий потоковой передачи данных, которые могут отвечать в секунду, значительно увеличились, но я не знаю. Он есть у AMD.
ASIO
Полное название ASIO — «Audio Stream Input Output», которое представляет собой техническую спецификацию аудио, разработанную немецкой компанией Steinberg и один из стандартов аудио API. Основными особенностями ASIO являются низкая задержка и многоканальная многоканальная потоковая передача. ASIO полностью устранил централизованное управление оборудованием со стороны операционной системы Windows и может выполнять многоканальную передачу между программным обеспечением для обработки звука и аппаратным обеспечением, сводя к минимуму время отклика системы для передачи звука.
Собственный драйвер Windows для MME имеет задержка 200
500 мс, DirectSound 50
100 мс и Mac OS Sound Manager 20
50 мс. При использовании ASIO буфер может быть менее 10 миллисекунд, также бывают случаи, когда он составляет менее 1 миллисекунды для лучшей среды. Таким образом, при записи и производстве музыки может быть достигнута обработка в реальном времени.
Низкая задержка важна для аудиозаписи и постобработки, но ее влияние на воспроизведение звука спорно. Некоторые энтузиасты считают, что низкая задержка ASIO может значительно уменьшить дрожание звука и, таким образом, улучшить качество звука, но есть и другое мнение, что ASIO предъявляет строгие требования как к аппаратной, так и к программной среде. Если аудиодрайвер написан на общем уровне, легко вызвать такие проблемы, как потрескивание и холодный звук.
EAX
EAX означает расширения звука окружающей среды который представляет собой не набор независимых API, а скорее набор 3D API на основе DirectSound 3D, разработанного знаменитой компанией Creative. Creative запустила EAX, чтобы конкурировать с A3D и, наконец, завоевать рынок. После революционного приобретения Aureal в EAX были представлены некоторые передовые алгоритмы A3D.
Open AL
OpenAL — это бесплатный кроссплатформенный API для 3D-аудио, разработанный Loki Software. , но вскоре Loki Software рухнула: разработку взяло на себя сообщество свободного программного обеспечения, а Creative стала фактическим лидером. Поскольку Vista перестала поддерживать аппаратное ускорение DirectSound 3D, Creative также столкнулась с дилеммой: единственным способом продолжить разработку EAX было усиление его поддерживать. с ОпенАЛ. Creative надеется перестроить EAX на основе OpenAL. Этот шаг несложно реализовать, но для его широкого использования требуется широкая поддержка со стороны разработчиков игр. Сегодня поддержка OpenAL все еще не так хороша, как DirectSound 3D, и Creative потребуется некоторое время, чтобы повторить его славу. Но если вы попытаетесь преуспеть, вы можете получить огромные преимущества, поскольку OpenAL — единственный кроссплатформенный API.
Источник