Russian Qt Forum
Ноябрь 22, 2024, 13:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа со звуком в реальном времени  (Прочитано 6002 раз)
mezmay
Гость
« : Декабрь 19, 2014, 16:02 »

Задача: на недорогом одноплатном компьютере работать со звуком в "реальном" времени.
Сама обработка очень простая.

Сейчас работаю на полноценном ПК в Ubuntu 14.04.1 и на Qt 5. Для тестирования скорости сделал предельно простую программу, принимает звук через QAudioInput и сразу выдает на QAudioOutput. Кроме этого, удалил pulseaudio. В результате получился "почти риалтайм", задержка очень маленькая, но заметная.

Отмечу, что сама убунта работает не быстро.
Вопрос: решится ли проблема переходом на "что-то с риалтаймовым ядром", установкой риалтаймого ядра на эту систему,  или надо как-то прикручивать JACK ?
« Последнее редактирование: Декабрь 19, 2014, 16:11 от mezmay » Записан
mezmay
Гость
« Ответ #1 : Декабрь 19, 2014, 17:26 »

upd: jack'ом проблема судя по всему не решится: сконнектил в джеке вход на выход, всё равно задержка есть
Записан
Bepec
Гость
« Ответ #2 : Декабрь 19, 2014, 23:59 »

Писать нужно драйвер, а не программу.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Декабрь 20, 2014, 00:25 »

Возможно надо пошаманить с настройками альсы и прочих бекендов через которые работает QAudioInput/Output. Возможно отказаться от Qt, т.к. для этой задачи он слишком "жирный", имхо. Да и зачем реалтайм то?
Записан

ArchLinux x86_64 / Win10 64 bit
vbv
Чайник
*
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #4 : Декабрь 20, 2014, 03:06 »

gstreamer - не....
Просто и красиво. И, для Вашей, задачи QT не нужен.
Записан
mezmay
Гость
« Ответ #5 : Декабрь 20, 2014, 14:06 »

А как вообще делать чтобы приложение "работало через JACK"?
Записан
mezmay
Гость
« Ответ #6 : Декабрь 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

Гуглил, но не понял что с этим делать
« Последнее редактирование: Декабрь 21, 2014, 11:27 от mezmay » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.