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

Захват, обработка и генерирование сигнала

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

Postby avnnn on 04 Mar 2016, 14:18

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

Мне требуется сделать запись с микрофона и с аудиокарты (speakers) синхронно по разным каналам. В идеале записать микрофон на один, а выход аудио на другой стереоканал в wav-файле. Буду благодарен за любую помощь. (Пользуюсь LV 10 и 11).
avnnn
beginner
beginner
 
Posts: 37
Joined: 24 Sep 2010, 16:50
LabVIEW Version: 2009
Karma: 0

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

Postby Borjomy_1 on 04 Mar 2016, 14:34

Синхронно вряд-ли получится. Этого не умеют делать и многие специализированные платы АЦП, чего уж говорить про звуковую карту. Она для этого не предназначена. Единственный способ - это заводить выход с линейного выхода на второй вход стерео входа, а на первый давать усиленный сигнал микрофона.
Borjomy_1
expert
expert
 
Posts: 1765
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby Artem.spb on 04 Mar 2016, 14:37

Что вы понимаете под выходом?
Вы его формируете, или оно само по себе играет (система параллельно работает)?
Artem.spb
expert
expert
 
Posts: 1220
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 214
CLD hardware I/O VIP freelance

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

Postby avnnn on 04 Mar 2016, 16:15

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

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

Заранее спасибо!
avnnn
beginner
beginner
 
Posts: 37
Joined: 24 Sep 2010, 16:50
LabVIEW Version: 2009
Karma: 0

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

Postby Artem.spb on 04 Mar 2016, 17:36

может, что-то такое поможет
http://soft.mydiv.net/win/download-Virt ... Cable.html
а как взять звук с микрофона - есть в примерах.
Artem.spb
expert
expert
 
Posts: 1220
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 214
CLD hardware I/O VIP freelance

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

Postby avnnn on 04 Mar 2016, 18:18

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



Это я к тому, что я про неё писал на 7 строчек выше. Вопрос, как загнать звук в разные каналы. Есть средства matlab, но там я не одолел правильный захват потока с выхода аудиокарты.
avnnn
beginner
beginner
 
Posts: 37
Joined: 24 Sep 2010, 16:50
LabVIEW Version: 2009
Karma: 0

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

Postby IvanLis on 04 Mar 2016, 18:51

avnnn wrote:Вопрос, как загнать звук в разные каналы.

На выходе data функции Sound Input Read VI (http://zone.ni.com/reference/en-XX/help ... nput_read/) массив структур waveform.
Каждый элемент массива, это отдельный канал.
В режиме stereo, размерность массива = 2, соответственно L и R (может наоборот R, L).
User avatar
IvanLis
professor
professor
 
Posts: 4470
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

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

Postby servk on 18 Mar 2016, 10:11

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

Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).
servk
junior
junior
 
Posts: 62
Joined: 13 Feb 2016, 19:35
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 18 Mar 2016, 11:53

servk wrote:Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).

Все зависит от конкретной реализации, но все SB которые мне попадались, имели два канала АЦП. А микрофонный и линейный входы отличались наличием в первом усилителя, но оба они подключены к одному и тому же АЦП.
User avatar
IvanLis
professor
professor
 
Posts: 4470
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

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

Postby servk on 18 Mar 2016, 14:01

IvanLis wrote:
servk wrote:Интересная мысль. А есть пример на vi для одновременной записи сигналов по микрофонному входу и линейному входу? Вот любопытно посмотреть. И возможно ли такое в принципе? В установках виндов для одной звуковой карты можно указать либо линейный вход (стерео 2х канальный), либо микрофонный (моноканальный).

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

В большинстве современных ноутов только микрофонный вход, т.е. одноканальный. Понятно что при необходимости можно и внешнюю карту со стереовходом ( два линейных входа) подключить. В этом случае в системе будет три входа - двухканальный с внешней карты и одноканальный с микрофонного входа встроенной карты. А вот сконфигурировать вход одной звуковой карты таким образом что один канал будет линейный а другой микрофонный наверно нельзя. Поясню где это бы пригодилось - напр. в тензоизмерителях, где нужна чувствительность по входу несколько микровольт, что возможно только на микрофонном входе. А вот второй канал при этом пригодился бы для синхронного детектирования.
servk
junior
junior
 
Posts: 62
Joined: 13 Feb 2016, 19:35
LabVIEW Version: 8
Karma: 0


Return to Обработка сигнала

Who is online

Users browsing this forum: Bing [Bot] and 5 guests

cron