Разделение потоков аудиоустройств на iPhone - PullRequest
0 голосов
/ 24 января 2011

Я разрабатываю способ объединения нескольких сигналов датчиков, модулированных в один сигнал, в iPhone через аудиовход. Мне нужно сделать несколько вещей:

  1. Демодулируйте эти сигналы от входной сигнал через тривиальный фильтровать цепочку, а затем выводить каждый вниз по собственному пути сигнала для дальнейшего обработка - должна быть в реальном времени.
  2. Воспроизведение сонированной версии каждого сигнал - желательно в реальном времени.
  3. Поток каждого сигнала через сетевое соединение - желательно в режиме реального времени.
  4. Хранить каждый сигнал в PCM файл - не обязательно должен быть в реальном времени.

Мне нужна помощь в концептуализации цепочки сигналов в этом процессе. Я начал делать наброски дизайна, используя Аудиоустройства. Прежде всего, я выбрал слишком низкий уровень, выбрав Аудиоустройства? Будет ли это реализовано с Audio Queue Services? Тем не менее, я дошел до того, что поступил модулированный сигнал (еще не демодулировал его), обработал его ультразвуком в реальном времени и передаю обработанный сигнал обратно на выход. Теперь, чтобы разделить этот сигнал на две отдельные части цепочки сигналов, я хотел бы представить что-то вроде маршрутизации выхода моего модуля удаленного ввода / вывода на две отдельные входные шины на модуле многоканального микшера и обработки ультразвуком / записи -диск / запись в сеть в обратных вызовах модуля многоканального микшера.

Однако, это слишком много для обработки потока в реальном времени? Я действительно смогу это сделать или мне придется отключить некоторые функции? Во-вторых, возможно ли направить вывод входного элемента блока ввода / вывода на отдельные входные элементы блока многоканального микшера? Если нет, смогу ли я указать описание многоканального потока и разделить источник

1 Ответ

0 голосов
/ 24 января 2011

Многоканальная демодуляция звука, безусловно, возможна на устройстве iOS. Это было сделано с использованием банков фильтров DSP IIR, фильтрации FFT и т. Д. Векторное устройство ARM NEON обладает большей вычислительной мощностью, чем многие специализированные чипы DSP всего несколько лет назад.

Я предлагаю использовать службы Audio Unit или Audio Queue только для сбора данных. Затем просто поставьте в очередь образцы PCM и подайте их на ваши блоки обработки DSP.

Возможность потоковой передачи данных по сети зависит от количества каналов, скорости передачи данных на канал, коэффициентов сжатия данных, различий в пропускной способности сети и т. Д.

...