[P&AM Lab] залежавшийся попугайчик

Grigoriy A. Sitkarev sitkarev на komitex.ru
Пн Фев 21 00:31:48 MSK 2011


Приветствую.

20.02.2011 20:52, Илья Артеев пишет:
> Григорий Александрович! сегодня наконец-то взялся и разобрался с
> попугайчиком, но только у него не работает эквалайзер, почему-то он его
> не выводит при проигровании семпла. а выкидывает только в конце.
> это из-за того что stdout занят?
> вот первоначальный исходник, только я в нем вставил цикл при записи из
> буфера (write ( fd, p, n/100 ) ), чтобы читал по кускам ( по 400 байтов
> для вывода эквалайзера после каждого прохода)

Да, очень хорошо что начал что-то делать. Хотя честно говоря я не совсем 
понял в чём суть изменений, т.к. особо разницы не заметил, ну и ладно. 
Тебе нужно разобраться почему перестал работать эквалайзер -- stdout 
ничем не занят, можно в него писать.

> еще вопрос по поводу устройства /dev/dsp где можно узнать про флаги (
> SOUND_PCM_WRITE_... ) да и вообще про сам dsp ?

Это классическая для многих версий UNIX звуковая подсистема OSS API.

Документация по API есть на сайте OpenSound:

http://manuals.opensound.com/developer/

> и еще почему в define записали BUFSIZE 8000*10, а не 80000?

Это было сделано для ясности. Т.к. мы выставляем частоту семплирования в 
8 KHz (когда делаем ioctl с SOUND_PCM_[READ|WRITE]_RATE), здесь сразу 
видно что размер буфера выбран так чтобы помещалось 10 секунд записи. 
Это константное выражение, оно будет компилятором преобразовано в 80000, 
так что лучше оставить как было.

--
Г.А.




Подробная информация о списке рассылки Lab