LINUX.ORG.RU

Многоканальный звук и полный дуплекс.


0

0

Сделал прогу под OSS, которая синхронно воспроизводит и записывает звук (два канала туда, два сюда). Звуковуха SB Live 5.1 USB. Хочется, чтобы наружу воспроизводилось четыре канала, а записывалось два. Карточка, вроде как, должна такое уметь. Как это сделать под OSS? Или ALSA изучать придётся?

Заранее спасибо,

Ростислав

anonymous

Ответ на: комментарий от anonymous

Кстати, помимо всего прочего пишется слитно. ALSA довольно простая система, только документации хорошей нет.

mv ★★★★★
()
Ответ на: комментарий от mv

> ALSA довольно простая система, только документации хорошей нет.

Дык, по этой самой причине под OSS всё и делалось...

Ростислав

anonymous
()
Ответ на: комментарий от mv

Дык, спрашиваю. Более конкретно сформулируем так. Есть три массива. Первые два со стерео PCM, скажем, 48кГц.

#define SIZE 128*1024 short int play1[SIZE], play2[SIZE], rec[SIZE];

Надо воспроизвести play1 и play2 через выходы front и rear соответственно. Синхронно с этим записать с линейного входа в массив rec.

Как такое сделать? ALSA или OSS не принципиально.

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

Глянуть id playback'ов у нужной карты в /proc/asound/devices (допустим, это hw:0,1 и hw:0,4), play1 и play2 писать в hw:0,1 и hw:0,4 соответственно. Параллельно в другом потоке записывать звук с hw:0

Вполне работоспособные примеры проигрывания и записи через ALSA легко ищутся в гугле.

mv ★★★★★
()
Ответ на: комментарий от mv

А чтоб совсем синхронно? Воспроизведение с точностью до дискрета, запись с минимальной задержкой.

У меня на OSS с использованием триггера задержка записи около 1 мс получалась.

BTW с одной встроенной и одной внешней 5.1 звуковухой cat /proc/asound/devices выдаёт

0: [ 0] : control 1: : sequencer 4: [ 0- 0]: hardware dependent 8: [ 0- 0]: raw midi 16: [ 0- 0]: digital audio playback 24: [ 0- 0]: digital audio capture 32: [ 1] : control 33: : timer 36: [ 1- 0]: hardware dependent 48: [ 1- 0]: digital audio playback 56: [ 1- 0]: digital audio capture

То есть внешний звучок выглядит как одно устройство.

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

> А чтоб совсем синхронно? Воспроизведение с точностью до дискрета, запись с минимальной задержкой.

Фиг знает :) Сам не пробовал, но можно попробовать играть 4-мя каналами в устройство surround40.

> То есть внешний звучок выглядит как одно устройство.

sblive? :) У c-media для front и rear отдельные pcm'ы.

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.