
Как запустить sox с jack, чтобы sox принимал входные данные от jack, что-то делал (в моем случае фильтр нижних частот) и выдавал обработанный поток на jack?
sox foo.wav bar.wav lowp 1000.0
Буду брать входной wav-файл и выводить в другой wav-файл, однако мне нужно что-то вроде следующего:
sox JACK_INPUT JACK_OUTPUT lowp 1000.0
Где я могу использовать jack для подключения любого источника звука к JACK_INPUT и подключить JACK_OUTPUT, к которому sox применил фильтр нижних частот, к любому другому порту в цепочке обработки в jack.
Если это невозможно, любая помощь с альтернативными предложениями будет оценена по достоинству. Обратите внимание, что решение должно работать с jack на linux, разрешать фильтрацию нижних/верхних частот и желательно биквадратные фильтры, такие как sox. Бонусные баллы, если соединениям можно дать уникальные имена, чтобы скрипт мог запустить отдельный фильтр для каждого динамика.
Спасибо заранее.
решение1
У SoX нет драйвера JACK. Написать его не составит большого труда, но из-за архитектуры SoX задержка всегда будет выше, чем строго необходимо.
Если вам нужна только простая фильтрация IIR, просто используйте хост LADSPA, напримерСтойка Джекаи подходящие плагины, такие какте, что Маттиас Нагорниили buttlow_iir
/ butthigh_iir
и т.д. изКоллекция Стива Харриса.