Форум Статьи Контакты
Строительство — возведение зданий и сооружений, а также их капитальный и текущий ремонт, реконструкция, реставрация и реновация.

Open Sound System


Open Sound System (OSS) — унифицированный драйвер для звуковых карт и других звуковых устройств в различных UNIX-подобных операционных системах.

OSS основан на Linux Sound Driver и в настоящее время работает на большом числе платформ: Linux, FreeBSD, OpenSolaris и т. д.

История

OSS был создан в 1992 году финским программистом Hannu Savolainen. Первые версии OSS выпускались под коммерческой лицензией с time‐limited shareware.

OSS использовался в Linux ядре ветки 2.4. Из‑за наличия закрытого кода и платной лицензии, OSS в Linux в настоящее время заменен на ALSA.

Начиная с версии 4.0 OSS доступен и под свободными лицензиями (GNU GPL и CDDL).

Файлы устройств, поддерживаемые OSS

  • /dev/mixer
  • /dev/sndstat
  • /dev/dsp и /dev/audio
  • /dev/sequencer и /dev/music
  • /dev/midi
  • /dev/dmfm
  • /dev/dmmidi

/dev/dsp и /dev/audio

/dev/dsp и /dev/audio — основные файлы устройств для цифровых приложений. Любые данные, записанные в эти файлы, воспроизводятся на DAC/PCM/DSP устройстве звуковой карты. Чтение из этих файлов возвращает звуковые данные, записанные с текущего входного источника (по умолчанию это Микрофонный вход).

Файлы устройств /dev/audio и /dev/dsp очень похожи. Разница в том, что /dev/audio использует логарифмический Мю-закон кодирования по умолчанию, а /dev/dsp использует 8-битное беззнаковое линейное кодирование. С кодированием по мю-закону семпл, записанный с 12 или 16-битным разрешением, представлен одним байтом. Единственной разницей между этими файлами и является только формат семплов. Оба устройства ведут себя одинаково после того, как программа выбирает нужный ей формат представления данных, вызывая ioctl(). На практике обычно используется только один из файлов устройств, как правило /dev/dsp, так как он работает с аудио данными в широко распространённом формате PCM.

Одновременно в системе может быть несколько устройств этих типов, как правило называющихся /dev/dsp, /dev/dsp1, /dev/dsp2 и так далее.

Чтение из файла /dev/dsp

При чтении из /dev/dsp мы получаем несжатый аудио‐поток с микрофона компьютера через вход звуковой карты. Например, можно выполнить команду «cat /dev/dsp > ./wave-file.wav», который же, впоследствии, можно будет снова вывести на /dev/dsp.

Запись в файл /dev/dsp

При записи в /dev/dsp, записываемая информация воспринимается как аудио‐поток и выводится непосредственно на динамики компьютера через выход звуковой карты. Например, можно выполнить команду «cat ./wave-file.au > /dev/dsp», однако, если попытаться записать в /dev/dsp звуковой поток в Vorbis, MP3, или в другом звуковом формате, в котором происходит сжатие звука — будет выводиться непосредственно сжатый поток. Аналогичная ситуация произойдёт, если в /dev/dsp попытаться записать wav‐файл, сформированный не в формате 8bit/stereo (есть /dev/dspW, туда можно попытаться скопировать файл в формате 16bit/stereo).

Некоторые люди развлекаются, выводя различные не‐аудиофайлы на /dev/dsp. Например, команда «cat /dev/random > /dev/dsp» выводит на динамики поток случайных данных. Также можно прослушать представление конфигурационного файла или лога веб-сервера.

/dev/mixer

/dev/mixer — стандартный файл конфигурации ввода‐вывода звука в OSS. В основном используется для доступа к встроенным микшерам звуковых карт. Это устройство позволяет регулировать уровни громкости воспроизведения и записи с различных звуковых входов. Этот файл устройств также используется для выбора источника записи. Обычно микшер контролирует выходной уровень воспроизведения цифровых аудио данных и синтезатора ЧМ, а также микширует их с входами от CD, линейных и микрофонных входов.

OSS поддерживает несколько микшеров одновременно.

OSS Proxy для драйвера ALSA

Демон OSS Proxy является промежуточным звеном между потоками приложения и драйвером ALSA для обеспечения корректной работы написанного под OSS программного обеспечения.


(голосов:0)

Пожожие новости
Комментарии

Ваше Имя:   

Ваш E-Mail: