Strona 1 z 1

implementacja wielokanałowego rejestratora dźwięku

: 23 lut 2010 23:35
autor: SnoopySnakiSnak
Witam
Próbuję stworzyć program który będzie rejestrował sygnał z kilku kart dźwiękowych w tym samym czasie. Po stworzeniu programu który powinien spełniać swoje zadanie okazało się, że pojawia się błąd nr 4823 o treści:
'LabVIEW: (Hex 0x12D7) The desired operation cannot be performed without an active task. Please ensure that a task is active and try again. An input task may stop running if the input buffer overflows. This occurrs when the data is not read fast enough.'
Używam zintegrowanej karty dźwiekowej na moim PC oraz karty dźwiękowej USB. Zastanawiam się czy taka aplikacja może w ogóle działać opierając się o zwykłe karty dźwiękowe.
Mam nadzieję, że umieściłem ten wątek w dobrym dziale. Z góry dziękuje za wszelkie informację na temat problemu lub możliwości jego rozwiązania.

Re: implementacja wielokanałowego rejestratora dźwięku

: 24 lut 2010 22:04
autor: jogurt_owocowy
Cześć,
  1. Na wyjściach error out klocków Acquire Sound utwórz kontrolki wyjściowe (Create -> Indicator) i napisz, w której funkcji pojawia się błąd.
  2. Czy po dwukrotnym kliknięciu na Acquire Sound z combo boxa Device możesz wybrać obydwie karty?

implementacja wielokanałowego rejestratora dźwięku

: 24 lut 2010 23:44
autor: SnoopySnakiSnak
Tak da się wybierać karty z listy.

Błąd pojawia się zwykle przy Acquire Sound3 lecz zdarza się również przy Acquire Sound2, po chwili znika i następuje pomiar, zdarza się to kilkakrotnie, po kilku razach pomiar stabilizuje się na jakiś czas lecz w konsekwencji sytuacja się powtarza...

dzięki za odp ;)

implementacja wielokanałowego rejestratora dźwięku

: 25 lut 2010 11:59
autor: spec.kolombo
Oczywiście w polu "numeric 2" masz wpisaną wartość 1?
A próbowałeś zrobić, żeby obie te operacje pobierania danych z kart dźwiękowych następowały po sobie, a nie jednocześnie? - np. poprzez podpięcie "error out" acquire sound3 do "error in" acquire sound 2?

Re: implementacja wielokanałowego rejestratora dźwięku

: 25 lut 2010 12:35
autor: jogurt_owocowy
Najprawdopodobniej problemem jest to, że dane z obu kart odczytujesz w jednej pętli. Karty nie są ze sobą nijak zsynchronizowane i, podczas gdy jedna z nich wciąż czeka na napełnienie bufora wejściowego próbkami sygnału z mikrofonu, w drugiej bufor już się przepełnia.

Zrób drugą pętlę while, przenieś do niej funkcję, która ma odczytywać dane z drugiej karty i daj znać czy to pomogło.

PS. Poza tym, jeśli chcesz odczytywać dźwięk w sposób ciągły, to lepszym rozwiązaniem (niż użycie Acquire Sound) byłoby skorzystanie z pozostałych funkcji z palety Sound -> Input. W przykładach dołączonych do LV (Help -> Find Examples) znajdziesz viaja o nazwie Continuous Sound Input, który pokazuje jak ich używać.

implementacja wielokanałowego rejestratora dźwięku

: 25 lut 2010 14:21
autor: SnoopySnakiSnak
Tak, jest tam wpisana wartość 1. Rzecz w tym, że idea jest taka aby ten proces był równoległy, potrzebny jest jednoczesny odczyt z obu kart...

Spróbuję zrobić tą drugą pętle i napisze co z tego wychodzi. Jeśli chodzi o continous sound input to już z niego korzystałem, był nawet rozbudowywany do takiej postaci aby odczytywał dane z dwóch kart jednak pojawiał się ten sam błąd chociaż to też było realizowane w jednej pętli.

implementacja wielokanałowego rejestratora dźwięku

: 26 lut 2010 09:26
autor: spec.kolombo
Chodziło mi o to, żeby sprawdzić czy w takiej "kolejce" będzie działać - wtedy dałoby to może jakąś informację o źródle problemu.

Re: implementacja wielokanałowego rejestratora dźwięku

: 10 mar 2012 17:49
autor: cass182
Przyłaczam sie do pytania. Mam takie samo zadanie i rowzniez wywala mi taki sam blad w takim zestawieniu.

Natomiast docelowym zadaniem u mnie jest uzycie 2 takich samych kart dzwiekowych na USB. LabView wykrywa mi tylko jedna z nich + ewentualnie karte wbudowana w komputerze.