Open Sound System

уніфікований драйвер для звукових пристроїв у UNIX-подібних операційних системах

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

Open Sound System
Розробник NCR Corporation
Версії 4.2-build2019 (5 березня 2019)[1]
Ліцензія GNU GPL[2], Ліцензія CDDL[3] і 2-clause BSD Licensed[4]
Онлайн-документація ossnext.trueinstruments.com/wiki/index.php/Main_Page
Вебсайт opensound.com

OSS заснований на Linux Sound Driver і в нині працює на багатьох платформах: Linux, FreeBSD, OpenSolaris і тощо.

Історія ред.

OSS створив 1992 року фінський програміст Ганну Саволяйнен (Hannu Savolainen). Перші версії OSS виходили під комерційною ліцензією з time-limited shareware[5].

OSS використовувався в ядрі Linux гілки 2.4. Через наявність закритого коду та платної ліцензії, OSS у Linux нині замінено на ALSA.

Починаючи з версії 4.0 OSS, доступний і під вільними ліцензіями (GNU GPL і CDDL)[6].

Файли пристроїв, які підтримує 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()[en]. На практиці зазвичай використовують лише один із файлів пристроїв, як правило /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 програмного забезпечення.

Примітки ред.

  1. http://ossnext.trueinstruments.com/forum/viewtopic.php?f=19&t=5876
  2. http://www.opensound.com/developer/sources/stable/gpl/
  3. http://www.opensound.com/developer/sources/stable/cddl/
  4. http://www.opensound.com/developer/sources/stable/bsd/
  5. OSS/Linux "GOLD" release now available! (англ.). 4Front Technologies. 1 липня 1996. Архів оригіналу за 14 лютого 2012. Процитовано 22 листопада 2007.
  6. 4Front Technologies Releases the Source Code for Open Sound System (англ.). 4Front Technologies. 14 червня 2007. Архів оригіналу за 14 лютого 2012. Процитовано 22 листопада 2007.

Посилання ред.