программирование звука
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
программирование звука
надумал я сделать некое абстрактное устройство которое имеет один монофонический вход и два выхода, один моно и другой стерео. эти входы и выходы буду заниматся синтезом и разбором сигнала близкого по характеристикам к звуковому.
для реализации такого устройства мне показалось очевидным использовать звуковую карту и линукс. из линуксов имеется собраный и рабочий LFS, из звуковых карт много разных, но наиболее подходящей мне показалась ESS 1930S, имеющая дополнительный вход неизвестных свойств, что критично в моем случае.
воткнув сию карточку и воскурив это чтиво: http://www.mtu-net.ru/aborovsky/articles/linsnd1.htm я, используя ALSA из ядра в режиме совместимости с OSS, получил условно положительный результат в виде различающихся по уровню звуков в левом и правом ушах соотвественно разных каналов(хотя на микшере я пытался выставлять разные вещи). выяснить являются ли они составляющими одного стереопотока пока не представляется возможным. ситуацию осложняет то, что я нехочу ставить aumix или alsamixer, поскольку очень жажду побольше проблем и желаю чтобы прога которую я пишу умела крутить микшером сама.
т.е. происходящее мне пока довольно слабо понятно. стоит вопрос что использовать? мне ненужны аудиоформаты, а вещи вроде микширования различных сигналов я в состоянии закодить и сам, вопрос только в том, как вывести данные в виде звука и звук преобразовать в поток данных.
насколько понимаю варианта два - ALSA и OSS. OSS меня в принципе устраивает польностью, разве что пока не совсем понятно почему он ведет себя неадекватным образом. кроме того - существуют два вариант для каждого из драйверов - ядерный и юзерспэйсный + либы еще какие-то. просвятите - чем характеризуются все вышеперечисленные варианты и почему я должен использовать какой-то конкретный из них?
для реализации такого устройства мне показалось очевидным использовать звуковую карту и линукс. из линуксов имеется собраный и рабочий LFS, из звуковых карт много разных, но наиболее подходящей мне показалась ESS 1930S, имеющая дополнительный вход неизвестных свойств, что критично в моем случае.
воткнув сию карточку и воскурив это чтиво: http://www.mtu-net.ru/aborovsky/articles/linsnd1.htm я, используя ALSA из ядра в режиме совместимости с OSS, получил условно положительный результат в виде различающихся по уровню звуков в левом и правом ушах соотвественно разных каналов(хотя на микшере я пытался выставлять разные вещи). выяснить являются ли они составляющими одного стереопотока пока не представляется возможным. ситуацию осложняет то, что я нехочу ставить aumix или alsamixer, поскольку очень жажду побольше проблем и желаю чтобы прога которую я пишу умела крутить микшером сама.
т.е. происходящее мне пока довольно слабо понятно. стоит вопрос что использовать? мне ненужны аудиоформаты, а вещи вроде микширования различных сигналов я в состоянии закодить и сам, вопрос только в том, как вывести данные в виде звука и звук преобразовать в поток данных.
насколько понимаю варианта два - ALSA и OSS. OSS меня в принципе устраивает польностью, разве что пока не совсем понятно почему он ведет себя неадекватным образом. кроме того - существуют два вариант для каждого из драйверов - ядерный и юзерспэйсный + либы еще какие-то. просвятите - чем характеризуются все вышеперечисленные варианты и почему я должен использовать какой-то конкретный из них?
-
- Неотъемлемая часть форума
- Сообщения: 434
- Зарегистрирован: 12 апр 2004, 11:00
- Откуда: г. Владивосток
- Контактная информация:
Для alsa используется alsa-lib. Простейшие примеры ввода/вывода есть тут: http://equalarea.com/paul/alsa-audio.html. Плюс доки в самой alsa-lib.
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
>>но есть опыт, а результате которого ядерное не работало а юзерспэйсное работало, но тогда я не особо вникал
потому что альса обновляется (иногда) чаще, чем ядро. и не все видят смысл пересобирать кернел ради звука, если можно обновить юзерспейсную альсу (к гентушникам вышесказанное не относится ).
OSS в линуксе мертв.
потому что альса обновляется (иногда) чаще, чем ядро. и не все видят смысл пересобирать кернел ради звука, если можно обновить юзерспейсную альсу (к гентушникам вышесказанное не относится ).
OSS в линуксе мертв.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
в данном конкретном случае я даже не гентушник а LFSник и ничто мне не мешает приделать что угодно к чему угодно.
но после просмотра примеров кода мне подумалось что имеет смысл использовать если не OSS, то ALSA в режиме обратной совместимости, причем ядерную, потому что у меня вроде работает.
не, ну смотри, вот поправде, зачем мне делать вот так:
http://www.alsa-project.org/alsa-doc/al ... ample.html
когда можно сделать вот так:
http://manuals.opensound.com/developer/singen.c.html
эти две программы делают одно и тоже, так зачем писать больше?
UPD: хотя, признатся, был невнимателен, пример для алсы более функционален, но всеравно на OSS проще как-то это все выглядит, кроме того документация на OSS куда как лучше.
дело в том, что у меня не то не то не стоит, может кто посмотрит, может там внутри самого пакаджа к алсе доки лежат, а то на сайте у них вообще голяк какой-то, непонятно как люди под нее пишут.
но после просмотра примеров кода мне подумалось что имеет смысл использовать если не OSS, то ALSA в режиме обратной совместимости, причем ядерную, потому что у меня вроде работает.
не, ну смотри, вот поправде, зачем мне делать вот так:
http://www.alsa-project.org/alsa-doc/al ... ample.html
когда можно сделать вот так:
http://manuals.opensound.com/developer/singen.c.html
эти две программы делают одно и тоже, так зачем писать больше?
UPD: хотя, признатся, был невнимателен, пример для алсы более функционален, но всеравно на OSS проще как-то это все выглядит, кроме того документация на OSS куда как лучше.
дело в том, что у меня не то не то не стоит, может кто посмотрит, может там внутри самого пакаджа к алсе доки лежат, а то на сайте у них вообще голяк какой-то, непонятно как люди под нее пишут.