1

Тема: Звуковые либы

Я занялся портированием TeamBlibbityBlabbity (http://sourceforge.net/projects/teambb) - опенсорсного TeamSpeak2-клиент (http://teamspeak.com), т. к. очень нужен мобильный TeamSpeak-клиент. Уперся в то, что для ввода/вывода звука он использует PortAudio (http://www.portaudio.com), которая, хоть и заявлена как "Cross-Platform Audio API", у меня даже на ББ на линуксе похоже не работает. А на таблетке гордо заявила что нашла 0 звуковых устройств.

Собственно вопрос: как я понял на таблетке для ввода/вывода звука принято использовать GStreamer или SDL_sound. У кого-нибудь есть опыт работы с ними? С чем из них проще иметь дело? Интересует как вывод звука, так и ввод с микрофона.

P.S. Кстати TBB написан на wxWidgets. Оказывается wxWidgets (wxGTK) вполне компилится под таблетку, более того, в SVN у них включены попытки легкой хилдонизации. А значит на таблетке есть поддержка еще одного кросплатформенного GUI-тулкита, причем довольно популярного.

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

2 Отредактировано svs57 (05-02-2009 18:01:55)

Re: Звуковые либы

ИМХО не получится.
TeamSpeak - non-free и исходников нет
А teambb с 2006 и версии 0.1 заглох.

Был бы у Чехова автомобиль, поворотник бы Чехов включал.
N810 (DIABLO_5.2008.43-7)

3

Re: Звуковые либы

Да, я в курсе что TeamSpeak non-free, а teambb заглох. Тем не менее этот самый 0.1 стабильно подключается к серверу и даже как будто бы работает smile На таблетке я его уже запустил. Вот только без звука. Копаю gstreamer.

p.s. TeamSpeak 3 обещают сделать opensource, но выйдет он судя по всему после дождечка в четверг...

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

4

Re: Звуковые либы

Разобрался как с помощью gstreamer слушать микрофон и генерить произвольный сигнал на динамик. Пришлось помучаться, т.к. gstreamer на maemo оказался старый и не поддерживающий кой-каких вкусностей. Теперь надо это интегрировать, выкинув нафиг этот portaudio.

Кстати, если кому-нибудь понадобится играть/записывать звук на таблетке - могу дать свои тестовые программки чтобы разобраться с gstreamer'ом. Впрочем, там все довольно несложно.

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

5

Re: Звуковые либы

Mitrandir пишет:

...

Кстати, если кому-нибудь понадобится играть/записывать звук на таблетке - могу дать свои тестовые программки чтобы разобраться с gstreamer'ом. Впрочем, там все довольно несложно.

Закиньте сюда в upload.
Будет время - гляну.

Был бы у Чехова автомобиль, поворотник бы Чехов включал.
N810 (DIABLO_5.2008.43-7)

6 Отредактировано Mitrandir (08-02-2009 18:56:49)

Re: Звуковые либы

Ok, закину. Только сначала немного причешу, а то в коде все очень спонтанно.

Кстати, у меня задача-то стояла так: в программу получить поток raw-данных с микрофона, и программой же сгенерированный звук выдать на динамик. Если же нужно не пропускать эти потоки непосредственно через свой код, а записывать с микрофона, скажем, в файл, энкодируя на лету, или проигрывать из файла или прямо с урла или rtsp-like-потока, то все это делается даже проще. На досуге сделаю несколько примерчиков на и raw-потоки и на такие бытовые нужды и выложу.

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

7 Отредактировано Mitrandir (09-02-2009 00:50:35)

Re: Звуковые либы

Первые успехи: скрестил TeamBB с GStreamer'ом, оно запускается, коннектится к серверу, и даже принимает и передает голос. С приемом проблем нет, а вот на передаче явные прерывания и тормоза. Пока не очень понятно в чем дело, но не думаю что это связано со слабостью таблетки. Скорее с внутренней кривостью структуры самого TeamBB. Он явно писан на коленке за пару вечеров, и, чувствуется, чтобы довести его до ума придется многое в нем перелопатить.

UPD: проблема заикания исходящего голоса решилась просто - я не поставил при компиляции кодека ключей оптимизации под таблеточный ARM и его DSP. После установки кем-то уже собранного libspeex, найденного в PackRat'е, проблема исчезла.
Теперь довожу все вместе до ума.

Кстати, кто-нибудь в этой затее заинтересован, кроме меня?

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶