Запись аудиосигнала

Захват, обработка и генерирование сигнала
Ответить
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

Запись аудиосигнала

Сообщение avnnn »

Доброго дня всем! Смотрел по темам, но ничего подобного не нашёл:

Мне требуется сделать запись с микрофона и с аудиокарты (speakers) синхронно по разным каналам. В идеале записать микрофон на один, а выход аудио на другой стереоканал в wav-файле. Буду благодарен за любую помощь. (Пользуюсь LV 10 и 11).
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Запись аудиосигнала

Сообщение Borjomy_1 »

Синхронно вряд-ли получится. Этого не умеют делать и многие специализированные платы АЦП, чего уж говорить про звуковую карту. Она для этого не предназначена. Единственный способ - это заводить выход с линейного выхода на второй вход стерео входа, а на первый давать усиленный сигнал микрофона.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Запись аудиосигнала

Сообщение Artem.spb »

Что вы понимаете под выходом?
Вы его формируете, или оно само по себе играет (система параллельно работает)?
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

Re: Запись аудиосигнала

Сообщение avnnn »

Хорошо, поясню более подробно. Идейно задача очень понятная и простая. Представим себе, что у нас в системе проигрывается какой-то звук (ну, например, мы включили windows player и он нам воспроизводит чей-то разговор или музыку), а мы, слушая то, что проигрывается как-то это комментируем (чтобы отпали вопросы про смешение звуков, слушаем мы это в наушниках). Разумеется, мы можем записать один звуковой файл (а, значит, массив цифр, отображающий весь звуковой ряд), в котором будет и проигрываемый звук и наши комментарии и это будет синхронно (синхронность именно в том смысле, что это не два отдельных файла/ряда значений, а один). Подчеркну ещё раз, что звук с наушников физически на микрофон не попадает. Но мы можем его записать, для этого есть много средств, включая простой встроенный в систему микшер, ну и более продвинутые типа Virtual Audio Cable, который вообще как угодно может комбинировать и коммутировать системные звуки. Разумеется, какие-то задержки там существуют, но, мне кажется, речь идёт про единицы или максимум десятки миллисекунд (на слух расхождение в сотни миллисекунд уже отчётливо распознается, а его "не слышно"). Поэтому мне странно слышать про специализированные АЦП (или я что-то не так объяснил/понял).

По идее, мы могли бы писать звук с микрофона на один канал, а со speakers на другой и даже упаковать потом это в файл. Надеюсь, расписал достаточно подробно.

Заранее спасибо!
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Запись аудиосигнала

Сообщение Artem.spb »

может, что-то такое поможет
http://soft.mydiv.net/win/download-Virt ... Cable.html
а как взять звук с микрофона - есть в примерах.
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

Re: Запись аудиосигнала

Сообщение avnnn »

Но мы можем его записать, для этого есть много средств, включая простой встроенный в систему микшер, ну и более продвинутые типа Virtual Audio Cable, который вообще как угодно может комбинировать и коммутировать системные звуки.

Это я к тому, что я про неё писал на 7 строчек выше. Вопрос, как загнать звук в разные каналы. Есть средства matlab, но там я не одолел правильный захват потока с выхода аудиокарты.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Запись аудиосигнала

Сообщение IvanLis »

avnnn писал(а):Вопрос, как загнать звук в разные каналы.
На выходе data функции Sound Input Read VI (http://zone.ni.com/reference/en-XX/help ... nput_read/) массив структур waveform.
Каждый элемент массива, это отдельный канал.
В режиме stereo, размерность массива = 2, соответственно L и R (может наоборот R, L).
servk
junior
junior
Сообщения: 62
Зарегистрирован: 13 фев 2016, 19:35
Версия LabVIEW: 8
Контактная информация:

Re: Запись аудиосигнала

Сообщение servk »

Borjomy_1 писал(а):Синхронно вряд-ли получится. Этого не умеют делать и многие специализированные платы АЦП, чего уж говорить про звуковую карту. Она для этого не предназначена. Единственный способ - это заводить выход с линейного выхода на второй вход стерео входа, а на первый давать усиленный сигнал микрофона.
Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Запись аудиосигнала

Сообщение IvanLis »

servk писал(а):Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).
Все зависит от конкретной реализации, но все SB которые мне попадались, имели два канала АЦП. А микрофонный и линейный входы отличались наличием в первом усилителя, но оба они подключены к одному и тому же АЦП.
servk
junior
junior
Сообщения: 62
Зарегистрирован: 13 фев 2016, 19:35
Версия LabVIEW: 8
Контактная информация:

Re: Запись аудиосигнала

Сообщение servk »

IvanLis писал(а):
servk писал(а):Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).
Все зависит от конкретной реализации, но все SB которые мне попадались, имели два канала АЦП. А микрофонный и линейный входы отличались наличием в первом усилителя, но оба они подключены к одному и тому же АЦП.
В большинстве современных ноутов только микрофонный вход, т.е. одноканальный. Понятно что при необходимости можно и внешнюю карту со стереовходом ( два линейных входа) подключить. В этом случае в системе будет три входа - двухканальный с внешней карты и одноканальный с микрофонного входа встроенной карты. А вот сконфигурировать вход одной звуковой карты таким образом что один канал будет линейный а другой микрофонный наверно нельзя. Поясню где это бы пригодилось - напр. в тензоизмерителях, где нужна чувствительность по входу несколько микровольт, что возможно только на микрофонном входе. А вот второй канал при этом пригодился бы для синхронного детектирования.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»