Открытая звуковая система
Оригинальный автор(ы) | Ханну Саволайнен |
---|---|
Разработчик(и) | Корпорация НКР |
Стабильная версия | 4.2 сборка 2019 г.
/ 5 марта 2019 г [ 1 ] |
Операционная система | Кросс-платформенный [ 2 ] |
Тип | Аудио |
Лицензия |
|
Веб-сайт | www |
Open Sound System (OSS) — это интерфейс для создания и записи звука в Unix и Unix-подобных операционных системах. Он основан на стандартных устройств системных вызовах Unix (например, POSIX read , write , ioctl и т. д.). Этот термин также иногда относится к программному обеспечению в ядре Unix, которое обеспечивает интерфейс OSS; его можно рассматривать как драйвер устройства (или набор драйверов устройств) для звукового контроллера оборудования . Цель OSS — позволить писать звуковые приложения, не зависящие от основного звукового оборудования.
OSS была создана Ханну Саволайненом и распространяется по четырем вариантам лицензий , три из которых являются лицензиями на свободное программное обеспечение , что делает программное обеспечение OSS свободным . [ 3 ]
API
[ редактировать ]API предназначен для использования традиционной инфраструктуры Unix open(), read(), write() и ioctl() через файлы устройств . Например, устройством по умолчанию для ввода и вывода звука является /dev/dsp . Примеры использования оболочки:
cat /dev/random > /dev/dsp # plays white noise through the speaker cat /dev/dsp > a.a # reads data from the microphone and copies it to file a.a
OSS реализует интерфейс /dev/audio . Подробный доступ к отдельным звуковым устройствам осуществляется через /dev/oss Каталог . OSS также имеет поддержку MIDI в /dev/секвенсор , /dev/music (оба устаревшие) и /Дев/мини . [ 4 ] [ 5 ]
В Linux OSS4 также может эмулировать ALSA , его замену с открытым исходным кодом. [ 6 ]
История
[ редактировать ]OSS изначально назывался VoxWare, звуковым драйвером ядра Linux, созданным Ханну Саволайненом. Саволайнен сделал код доступным по лицензиям свободного программного обеспечения : GPL для Linux и BSD для дистрибутивов BSD. С ноября 1993 г. (до Linux 1.00) [ 7 ] и в 1997 году OSS была единственной звуковой системой во FreeBSD и Linux. Ситуация изменилась, когда Луиджи Риццо написал новый драйвер «pcm» для FreeBSD в 1997 году и когда Ярослав Кисела запустил Advanced Linux Sound Architecture в 1998 году. [ 8 ]
В 2002 году Саволайнен заключил контракт с компанией 4Front Technologies и создал будущую OSS 4, которая включает поддержку новых звуковых устройств и улучшения, проприетарные . В ответ сообщество Linux отказалось от реализации OSS/free, включенной в ядро, и усилия по разработке переключились на замену Advanced Linux Sound Architecture (ALSA). FreeBSD к этому времени перешла на проект «newpcm», начатый в 1999 году, и это не повлияло. [ 8 ]
В июле 2007 года 4Front Technologies выпустила исходные коды OSS под CDDL-1.0 для OpenSolaris и GPL-2.0 только для Linux . Драйверы для некоторых звуковых карт остались с закрытым исходным кодом и не были включены в выпуск. [ 3 ] В январе 2008 года 4Front Technologies выпустила OSS для FreeBSD (и других BSD систем ) в соответствии с BSD-2-Clause . [ 9 ]
Статус усыновления
[ редактировать ]Код
[ редактировать ]OSS4 сейчас существует в основном как отдельная часть программного обеспечения, не интегрированная в исходный код ядра. Исключением являются Solaris и OpenSolaris , которые используют форк OSS4 под названием Boomer. Он сочетает в себе структуру OSS4 (аудио и микшер) с более ранним Sun SADA ( /dev/audio ). API [ 10 ]
Хотя дистрибутивы Linux, такие как Ubuntu, сделали OSS4 доступным в виде пакета программного обеспечения после того, как он стал свободным программным обеспечением, они решили игнорировать любые ошибки, обнаруженные в этих пакетах. [ 11 ]
API
[ редактировать ]OSS API остался влиятельным, несмотря на малоизвестность исходной библиотеки. В документации NetBSD он описан как «предпочтительный API во FreeBSD и Solaris». [ 12 ]
FreeBSD содержит независимо разработанную реализацию OSS API, которая включает, среди прочего, внутреннюю передискретизацию, микширование (vchans), эквалайзер, объемный звук и независимую регулировку громкости для каждого приложения. Он также поддерживает побитовый режим. [ 13 ] Он постепенно развился из замены «newpcm», написанной в 1999 году, и примерно в 2005 году догнал OSS4 API. [ 8 ]
NetBSD поддерживает режим совместимости для OSS API, предоставляя soundcard.h
заголовочный файл и libossaudio
библиотека, которая внутренне работает с использованием собственного аудиоинтерфейса, подобного Sun. Замена впервые была замечена в NetBSD 1.3 1998 года. [ 12 ]
Как уже упоминалось выше, Linux перешел на Advanced Linux Sound Architecture с 2003 года (ядро 2.6). ALSA предоставляет дополнительный встроенный в ядро режим эмуляции OSS, который воспринимается программами так, как если бы это был OSS. [ 14 ] У ALSA также есть программа пользовательского пространства aoss , которая перехватывает системные вызовы, направленные к файлам устройств OSS. [ 15 ]
ОСС/3D
[ редактировать ]OSS/3D — это плагин для музыкальных проигрывателей, который действует как механизм постобработки звука. Поддерживаемые проигрыватели включают Winamp , Windows Media Player (9 или более позднюю версию), musicmatch, Sonique , Foobar2000 , JetAudio , XMMS . Он портирован на платформы Windows и Linux. В отличие от OSS, это условно-бесплатная версия .
4Front OSS3D позже был переименован в Joesoft Hear. [ 16 ]
Критика
[ редактировать ]OSS и как API, и как программное обеспечение подверглись критике со стороны некоторых разработчиков, таких как Пол Дэвис (из JACK Audio Connection Kit ) и Леннарт Поеттеринг (из конкурирующей компании PulseAudio ). [ 17 ] [ не удалось пройти проверку ] [ 18 ]
См. также
[ редактировать ]- Advanced Linux Sound Architecture – преобладающая звуковая структура в ядре Linux.
- PulseAudio — звуковой сервер для настольных компьютеров, обычно используемый в системах Linux.
- JACK Audio Connection Kit – популярный звуковой сервер для профессионального аудиопроизводства в Linux
Ссылки
[ редактировать ]- ^ OSS v4.2, сборка 2019 г. , получено 10 мая 2019 г.
- ^ «Регистрация загрузки OSS» .
- ^ Перейти обратно: а б 4Front Technologies выпускает исходный код открытой звуковой системы Linux PR, заархивировано из оригинала 25 июля 2011 г. , получено 8 января 2012 г.
- ^ «Справочник по API OSS v4.x — основы API OSS» . manuals.opensound.com .
- ^ «Руководство программиста Open Sound System (3.x)» (PDF) . 2000 . Проверено 22 февраля 2023 г.
- ^ «Советы и рекомендации — открытая звуковая система» . ossnext.trueinstruments.com .
- ^ «Linux 0.99 уровень исправления 14 — Diff — 75bb5836a8a8c0ee44ffd60a51f357b9568f1381^! — pub/scm/linux/kernel/git/nico/archive — Git в Google» . ядро.googlesource.com . Проверено 22 марта 2024 г.
- ^ Перейти обратно: а б с «Звук — FreeBSD Wiki» . wiki.freebsd.org .
- ^ 4Front Technologies выпускает OSS для FreeBSD под лицензией BSD , opensound.com , получено 8 января 2012 г.
- ^ Блог Ханну » Boomer , 4front-tech.com, заархивировано из оригинала 16 марта 2012 г. , получено 8 января 2012 г.
- ^ Документация Ubuntu: OpenSound , ubuntu.com , получено 8 января 2012 г.
- ^ Перейти обратно: а б «ossaudio(3) — Страницы руководства NetBSD» . man.netbsd.org .
- ^ звук , Freebsd.org, 13 июля 2009 г. , получено 8 января 2012 г.
- ^ Эмуляция OSS , заархивировано из оригинала 5 июня 2012 г. , получено 7 июля 2012 г.
- ^ "aoss(1) — Страницы руководства Arch" . man.archlinux.org .
- ^ · Ссылка на устаревший продукт , Yohng.com , получено 8 января 2012 г.
- ^ «Урок по использованию ALSA Audio API» .
- ^ «Интервью с Леннартом Пёттерингом (LinuxFR.org) [LWN.net]» . lwn.net .
Внешние ссылки
[ редактировать ]- Интерфейсы прикладного программирования
- Аудио библиотеки
- Кроссплатформенное программное обеспечение
- Бесплатное аудио-программное обеспечение
- Возможности ядра Linux
- Ранее проприетарное программное обеспечение
- Ранее программное обеспечение с открытым исходным кодом или бесплатное программное обеспечение.