Название: Работа со звуком в реальном времени Отправлено: mezmay от Декабрь 19, 2014, 16:02 Задача: на недорогом одноплатном компьютере работать со звуком в "реальном" времени.
Сама обработка очень простая. Сейчас работаю на полноценном ПК в Ubuntu 14.04.1 и на Qt 5. Для тестирования скорости сделал предельно простую программу, принимает звук через QAudioInput и сразу выдает на QAudioOutput. Кроме этого, удалил pulseaudio. В результате получился "почти риалтайм", задержка очень маленькая, но заметная. Отмечу, что сама убунта работает не быстро. Вопрос: решится ли проблема переходом на "что-то с риалтаймовым ядром", установкой риалтаймого ядра на эту систему, или надо как-то прикручивать JACK ? Название: Re: Работа со звуком в реальном времени Отправлено: mezmay от Декабрь 19, 2014, 17:26 upd: jack'ом проблема судя по всему не решится: сконнектил в джеке вход на выход, всё равно задержка есть
Название: Re: Работа со звуком в реальном времени Отправлено: Bepec от Декабрь 19, 2014, 23:59 Писать нужно драйвер, а не программу.
Название: Re: Работа со звуком в реальном времени Отправлено: kuzulis от Декабрь 20, 2014, 00:25 Возможно надо пошаманить с настройками альсы и прочих бекендов через которые работает QAudioInput/Output. Возможно отказаться от Qt, т.к. для этой задачи он слишком "жирный", имхо. Да и зачем реалтайм то?
Название: Re: Работа со звуком в реальном времени Отправлено: vbv от Декабрь 20, 2014, 03:06 gstreamer - не....
Просто и красиво. И, для Вашей, задачи QT не нужен. Название: Re: Работа со звуком в реальном времени Отправлено: mezmay от Декабрь 20, 2014, 14:06 А как вообще делать чтобы приложение "работало через JACK"?
Название: Re: Работа со звуком в реальном времени Отправлено: mezmay от Декабрь 21, 2014, 11:26 Поставил Ubuntu Studio.
Не могу запустить Jack, ошибки: Цитировать 11:17:27.613 Patchbay deactivated. 11:17:27.615 Statistics reset. 11:17:27.618 ALSA connection change. 11:17:27.621 D-BUS: Service is available (org.jackaudio.service aka jackdbus). Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started 11:17:27.626 ALSA connection graph change. (qjackctl:2151): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (qjackctl:2151): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed 11:17:50.137 D-BUS: JACK server could not be started. Sorry Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started (qjackctl:2151): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed (qjackctl:2151): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed Sun Dec 21 11:17:50 2014: Starting jack server... Sun Dec 21 11:17:50 2014: JACK server starting in realtime mode with priority 10 Sun Dec 21 11:17:50 2014: ERROR: cannot register object path "/org/freedesktop/ReserveDevice1/Audio0": A handler is already registered for /org/freedesktop/ReserveDevice1/Audio0 Sun Dec 21 11:17:50 2014: ERROR: Failed to acquire device name : Audio0 error : A handler is already registered for /org/freedesktop/ReserveDevice1/Audio0 Sun Dec 21 11:17:50 2014: ERROR: Audio device hw:0 cannot be acquired... Sun Dec 21 11:17:50 2014: ERROR: Cannot initialize driver Sun Dec 21 11:17:50 2014: ERROR: JackServer::Open failed with -1 Sun Dec 21 11:17:50 2014: ERROR: Failed to open server Sun Dec 21 11:17:51 2014: Saving settings to "/home/vladimir/.config/jack/conf.xml" ... 11:17:57.369 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info. Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started Гуглил, но не понял что с этим делать |