2013-11-06 2 views
2

Я пытаюсь выполнить разницу во времени прибытия в реальном времени с помощью PS3 Eye. Поскольку у него встроенный 4 микрофонный массив, я успешно перестроил массив в квадратный массив и перекрестно коррелировал сигналы с использованием MATLAB для получения относительно точного алгоритма TDOA. Однако до сих пор я записывал сигнал, сохраняя файлы (4 отдельных файла для каждого микрофона в массиве), а затем загружал эти файлы в MATLAB, чтобы читать по факту.Запись многоканального аудио входа в режиме реального времени

Моя проблема: MATLAB не распознает микрофоны PS3 Eye отдельно; он только признает его в целом. До сих пор Audacity - одна из немногих программ, которая на самом деле работает хорошо, но я неопытна в использовании программы и не знаю ее возможностей в реальном времени. У кого-нибудь есть предложения относительно того, как я могу выполнять анализ сигналов в реальном времени таким образом? Если использование чего-то другого, кроме PS3 Eye, будет работать лучше, я буду открыт для предложений. Благодарю.

+0

Привет, так что вы два раза коррелируете? Основным здесь является: Если PS3 Eye имеет только «один кабель», вы не можете иметь каждый микрофон отдельно. Так что, если это так, выходной сигнал микрофона будет моно/один канал, вопреки тому, что говорит @AndrewCharneski. – loveNoHate

+0

В какой системе вы читаете данные? Я принимаю окна. Из-за этого он ограничивает вас, но если вы можете рассказать нам, как вы подключили каналы, я мог бы помочь вам с помощью скрипта сопоставления устройств. Затем вы можете записать его как многоканальный звук, используя любую понравившуюся вам программу. –

+0

В основном я не понимаю вопроса: вы говорите, что у вас есть 4 файла на микрофон в массиве, но MATLAB не распознает 4 микрофона, вы хотите «записать» непосредственно в MATLAB? «но я неопытен в использовании программы и не знаю ее возможностей в реальном времени», вы имеете в виду Audacity с этим? Если Audacity дает вам возможность записывать 4 файла на микрофон (что бы это было?), Вы также можете отображать вывод Audacity во время «записи» (в режиме паузы) в MATLAB или у MATLAB нет возможности слушать несколько каналов? (Я не знаю, я всего лишь кто-то с 20-летним музыкальным бизнесом). – loveNoHate

ответ

0

Я знаю очень мало о глазу MATLAB или PS3, но различные аппаратные микрофоны позволяют захватывать один аудиопоток, содержащий несколько (обычно 2) каналов. Аудиоданные придут к вам в кадрах, каждый кадр содержит один образец для каждого канала.

Я не совсем уверен, что вы подразумеваете под «признанием в целом», но я предполагаю, что вы имеете в виду, что MATLAB смешивает каналы так, что устройство создает только один используемый канал. Если вы можете записать каналы в файл, и все они происходят из одного устройства (например, аппаратных часов), вы должны быть в порядке, за исключением того, что это решение не является «реальным временем».

Существует аналогичная дискуссия на Sound Exchange, которая заканчивается тем, что предлагает Microcone. Существует множество других продуктов: от микрофонных массивов до цифровых микшеров для аналоговых микрофонных источников, но, похоже, ваш вопрос касается, в основном, того, как получить данные с помощью программного обеспечения.

Одним словом, убедитесь, что вы видите одно устройство с несколькими каналами. Это гарантирует, что каждый канал использует одни и те же аппаратные часы и предотвратит проблемы с дрейфом.

0

Это просто дикая догадка, поскольку я не знаю, что такое параметры ввода в реальном времени MATLAB.

Возможно, попробуйте reaper (http://www.reaper.fm/) .. у него отличные возможности для многодорожек, и вы можете его расширить (я думаю, что язык сценариев - это python). Хорошая документация и сторонние взносы, поддержка OSC и Rewire. Так что, может быть, вы могли бы подумать о маршрутизации звука в жнецы, выполняя некоторую нормализацию данных там, на python, а затем отправляете данные в MATLAB.

Или вы можете использовать PURE DATA, который является открытым исходным кодом и очень открытым, с множеством патчей (базовых процессоров), которые вы могли бы собрать вместе.

НТН

КСТАТИ Я никоим образом не связаны остроумие жатки или PD.

EDIT: Вы могли бы также рассмотреть вопрос о SuperCollider (http://supercollider.github.io/) или Чака (http://chuck.cs.princeton.edu/)

0

Вот свинец, но я не был в состоянии проверить это, тем не менее.

В Windows вы можете записать один 4-дорожечный звуковой файл ogg из Eye with Audacity (используя выбор драйвера WASAPI).

По состоянию на 23 июля 2014 года pa-wavplay for 32-bit and 64-bit MEX поддерживает WASAPI.Вам нужно будет перестроить библиотеку PortAudio, чтобы выбрать интерфейс WASAPI, как описано here, и получить все четыре трека в MatLab (в Windows).

К сожалению, если вы не в Windows, у меня нет никаких предложений. Настройка сборки PortAudio может помочь, но я знаю только, что WASAPI работает с Eye.