Open Sound System

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Open Sound System (OSS)
Скриншот программы Open Sound System (OSS)
Микшер ossxmix
Тип звуковая архитектура
Разработчик 4Front Technologies
Операционная система кроссплатформенный
Последняя версия 4.2 Build 2019 (5 марта 2019[1])
Лицензия BSD License / Common Development and Distribution License / GNU General Public License
Сайт opensound.com

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

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

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

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

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

Файлы устройств, поддерживаемые 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 — стандартный файл конфигурации ввода‐вывода звука в OSS. В основном используется для доступа к встроенным микшерам звуковых карт. Это устройство позволяет регулировать уровни громкости воспроизведения и записи с различных звуковых входов. Этот файл устройств также используется для выбора источника записи. Обычно микшер контролирует выходной уровень воспроизведения цифровых аудио данных и синтезатора ЧМ, а также микширует их с входами от CD, линейных и микрофонных входов.

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

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

[править | править код]

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

Примечания

[править | править код]
  1. OSS v4.2 build 2019 announced. Дата обращения: 25 сентября 2022. Архивировано 25 сентября 2022 года.
  2. OSS/Linux "GOLD" release now available! (англ.). 4Front Technologies (1 июля 1996). Дата обращения: 22 ноября 2007. Архивировано 14 февраля 2012 года.
  3. 4Front Technologies Releases the Source Code for Open Sound System (англ.). 4Front Technologies (14 июня 2007). Дата обращения: 22 ноября 2007. Архивировано 14 февраля 2012 года.