Nagrywanie
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Nagrywanie
Wrzuć wszystko co masz po prawej stronie pętli (cały zapis) do środka, do jednego Event'a z jednym konkretnym przyciskiem i sprawdź czy po kliknięciu na ten przycisk zapisze dźwięk.
Jeżeli zapisze to rozwiązanie jest proste - tunel wychodzący z pętli przekazuje ostatnią daną, a to widocznie nie jest dźwięk tylko pusty Waweform bo widzę, że tunel wychodzący z Event'a jest ustawiony jako Use Defalt if Unwired. W pętli While musisz wstawić rejestr i pamiętać muzykę graną przez każdy klawisz, a nawet więcej, musisz dodawać kolejne fragmenty z kolejnych iteracji i przetrzymywać w rejestrze... dokładnie tak jak ja to zrobiłem w przykładzie.
Jeżeli nie zadziała to prześlij swój kod (może być bez plików .wav)
Jeżeli zapisze to rozwiązanie jest proste - tunel wychodzący z pętli przekazuje ostatnią daną, a to widocznie nie jest dźwięk tylko pusty Waweform bo widzę, że tunel wychodzący z Event'a jest ustawiony jako Use Defalt if Unwired. W pętli While musisz wstawić rejestr i pamiętać muzykę graną przez każdy klawisz, a nawet więcej, musisz dodawać kolejne fragmenty z kolejnych iteracji i przetrzymywać w rejestrze... dokładnie tak jak ja to zrobiłem w przykładzie.
Jeżeli nie zadziała to prześlij swój kod (może być bez plików .wav)
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Nagrywanie
6 pętli z czego tylko dwie są powiązane, a aż w trzech są Event'y... masakra jakaś
... architektura programu jest po prostu zła
Zauważ, że ten program ma więcej problemów niż tylko zapis do pliku ... nie działa stabilnie.
Jak znajdę chwilkę, dłuższą niestety bo to wymaga posiedzenia
, to zerknę na całość i coś podpowiem.


Zauważ, że ten program ma więcej problemów niż tylko zapis do pliku ... nie działa stabilnie.
Jak znajdę chwilkę, dłuższą niestety bo to wymaga posiedzenia

Nagrywanie
Super, dzięki bardzo za pomoc.
W takim razie z niecierpliwością czekam na podpowiedzi
W takim razie z niecierpliwością czekam na podpowiedzi

- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Nagrywanie
NIestety nie mam za dużo czasu w tym tygodniu ... wyjazdy ... ale załączam szybkie poprawki - działa zapis do pliku przy naciśnięciu P.
Resztę zrób analogicznie wyrzucając zapis poza Case'a i dokładając wszystkie dźwięki oraz trzymając w rejestrze (jak pisałem wcześniej i pokazałem w przykładzie)
Wywaliłem też niepotrzebne pętle.
Resztę zrób analogicznie wyrzucając zapis poza Case'a i dokładając wszystkie dźwięki oraz trzymając w rejestrze (jak pisałem wcześniej i pokazałem w przykładzie)
Wywaliłem też niepotrzebne pętle.
- Załączniki
-
- v8n.vi
- v8.6
- (224.26 KiB) Pobrany 505 razy
Re: Nagrywanie
Dzięki za pomoc. Kilka pętli było potrzebnych, aby np. niezależnie był podkład dźwiękowy i granie na klawiaturze
Nagrywanie działa - potrzebna była konwersja plików dźwiękowych z wav ogg na wav pcm, ALE nagrywa po kolei każdy plik dźwiękowy, czyli 2 sek utwór.
Stworzyłam timer, który liczy czas wciśnięcia guzika. Chcę tą wartość przekazać z pętli while mapującej klawiaturę, do pętli ustawiającej zdarzenia na klawisze, aby odtworzyć utwór przez czas, który pobiorę z timera.
Jak tą wartość przekazać i w jaki sposób zmusić plik wav do grania przez ten wyznaczony czas?

Nagrywanie działa - potrzebna była konwersja plików dźwiękowych z wav ogg na wav pcm, ALE nagrywa po kolei każdy plik dźwiękowy, czyli 2 sek utwór.
Stworzyłam timer, który liczy czas wciśnięcia guzika. Chcę tą wartość przekazać z pętli while mapującej klawiaturę, do pętli ustawiającej zdarzenia na klawisze, aby odtworzyć utwór przez czas, który pobiorę z timera.
Jak tą wartość przekazać i w jaki sposób zmusić plik wav do grania przez ten wyznaczony czas?
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Nagrywanie
Zmodyfikowany kod poniżej, który ściągnąłem stąd:
http://decibel.ni.com/content/docs/DOC-19164
... odpal podając jakąś ścieżkę do pliku i zobacz jak działa i nagrywa.
http://decibel.ni.com/content/docs/DOC-19164
... odpal podając jakąś ścieżkę do pliku i zobacz jak działa i nagrywa.
- Załączniki
-
- pianito.vi
- v8.6
- (32.26 KiB) Pobrany 478 razy
Re: Nagrywanie
Na podstawie tego programu nie potrafię rozwiązać problemu z nagrywaniem w swoim, używam plików wav i klawiatury do grania. Może jakaś bardziej szczegółowa podpowiedź?
Załączam plik jak to wszystko wygląda. W pętli u góry mierzę czas wciśnięcia klawisza na klawiaturze. Chcę ten czas przekazać do miejsca w którym odtwarzam plik wav.
Załączam plik jak to wszystko wygląda. W pętli u góry mierzę czas wciśnięcia klawisza na klawiaturze. Chcę ten czas przekazać do miejsca w którym odtwarzam plik wav.
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Nagrywanie
Niestety mało mam ostatnio czasu na pisanie na forum ... ale tak na szybko, jeżeli chcesz przekazać kolejką także czas wciśnięcia klawisza, to stwórz sobie kolejkę, której typem danych będzie klaster składający się z numeru klawisza (jak aktualnie) + czas jego wciśnięcia.
Powiem szczerze, nie wiem czy nie łatwiej byłoby wyrzucić z pierwszej pętli strukturę Event i zrobić tak jak w ostatnim przesłanym przykładzie bez Event'a - poeksperymentuj.
Powiem szczerze, nie wiem czy nie łatwiej byłoby wyrzucić z pierwszej pętli strukturę Event i zrobić tak jak w ostatnim przesłanym przykładzie bez Event'a - poeksperymentuj.