Open Sound System

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Open Sound System (OSS)
Ossxmix.png
Микшер ossxmix
Тип

звуковая архитектура

Разработчик

4Front Technologies

Операционная система

кроссплатформенный

Последняя версия

4.2 Build 2005 (7 августа 2011[1])

Лицензия

BSD License / Common Development and Distribution License / GNU General Public License

Сайт

http://www.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[править | править вики-текст]

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

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

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]