Spisu treści:

Keytar Hero (użycie kontrolera do gitary Wii jako syntezatora): 7 kroków (ze zdjęciami)
Keytar Hero (użycie kontrolera do gitary Wii jako syntezatora): 7 kroków (ze zdjęciami)

Wideo: Keytar Hero (użycie kontrolera do gitary Wii jako syntezatora): 7 kroków (ze zdjęciami)

Wideo: Keytar Hero (użycie kontrolera do gitary Wii jako syntezatora): 7 kroków (ze zdjęciami)
Wideo: a-ha - Take On Me / AKAI MPK MINI MK3 COVER 2024, Lipiec
Anonim
Image
Image
Krok 1: Raspberry Pi (wstępna konfiguracja)
Krok 1: Raspberry Pi (wstępna konfiguracja)

Gry Guitar Hero były modne kilkanaście lat temu, więc na pewno będzie wiele starych kontrolerów gitarowych leżących wokół i zbierających kurz. Mają wiele przycisków, pokręteł i dźwigni, więc dlaczego nie wykorzystać ich ponownie? Kontroler gitary normalnie nie wydaje żadnego dźwięku sam, ale w tym samouczku pokażę ci, jak przekonwertować kontroler Wii Guitar Hero, aby można było na nim grać jak na syntezatorze.

Kieszonkowe dzieci

  • Kontroler Guitar Hero Wii
  • Deska typu breakout Nunchucky (dostępna na Adafruit tutaj)
  • 4 przewody połączeniowe (żeńskie na żeńskie)
  • 2 szt. złączy zaciskanych (opcjonalnie)
  • Raspberry Pi (preferowane 3 B+ lub 4)
  • Karta microSD o pojemności 16 GB

Krok 1: Krok 1: Raspberry Pi (wstępna konfiguracja)

Raspberry Pi to mózg i siła napędowa tego projektu, więc pierwszą rzeczą, którą musimy zrobić, to skonfigurować go dla naszego projektu. Wypróbowałem ten projekt zarówno na Raspberry Pi 3 B+, jak i 4, i oba wydają się działać dobrze.

Raspberry Pi to mikrokomputery, które przechowują wszystko na karcie microSD zamiast na dysku twardym… w tym system operacyjny. Typowym sposobem ich użycia jest pobranie najnowszego systemu operacyjnego i wypalenie jego obrazu na karcie microSD w następujący sposób:

  • Na osobnym komputerze lub laptopie przejdź do
  • Pobierz najnowszy system operacyjny Raspbian. (Buster w momencie pisania tego tekstu). Na stronie dostępnych jest wiele wersji, które w zależności od preferencji udostępniają mniej lub bardziej dołączone oprogramowanie. Wszystkie powinny działać dobrze, ale lubię używać opcji „Raspbian Buster z komputerem stacjonarnym i zalecanym oprogramowaniem”, ponieważ zawiera ona niektóre programistyczne IDE i inne przydatne aplikacje. Najprostszym sposobem jest pobranie wersji zip.
  • Nagraj obraz Raspbian na kartę microSD. Istnieje wiele aplikacji, których możesz użyć do wypalenia obrazu Raspbian na karcie microSD, ale użyłem programu balenaEtcher, który możesz pobrać tutaj. Włóż kartę microSD do komputera i uruchom balenaEtcher. W przypadku obrazu dysku wybierz pobrany plik zip, a następnie wybierz kartę SD i naciśnij przycisk flash. Narzędzie rozpakuje pliki obrazów dysku i nagra je na kartę SD. WAŻNE: Upewnij się, że wybrany dysk to karta microSD… narzędzie nadpisze wybrany dysk, więc upewnij się, że wybrałeś właściwy.
  • Odpal swoje Raspberry Pi. Włóż kartę microSD do Raspberry Pi. Podłącz zasilanie, mysz, klawiaturę i głośniki. Jeśli postępujesz zgodnie z instrukcjami, jest to dość oczywiste… ustaw swoją lokalizację/czas, ustaw hasło i połącz się z Wi-Fi.

To wszystko jest standardowa konfiguracja dla Raspberry Pi, więc jeśli potrzebujesz więcej szczegółów, możesz je znaleźć tutaj. Resztę naszych kroków wykonamy na Raspberry Pi.

Krok 2: Krok 2: Włącz I2c

Krok 2: Włącz I2c
Krok 2: Włącz I2c

Guitar Hero Controller używa i2c do komunikacji (i2c jest dość powszechnym protokołem używanym przez urządzenia elektroniczne do komunikowania się ze sobą), więc musimy włączyć tę funkcję na Raspberry Pi:

  • Zainstaluj biblioteki dla i2c. Biblioteki i2c wydają się być częścią standardowej wersji Bustera, ale na wszelki wypadek uruchomimy dla nich instalator. Otwórz powłokę (jest jej ikona na pasku zadań u góry) i wpisz:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • Włącz i2c na Raspberry Pi. W swojej powłoce wpisz: sudo raspi-config. Spowoduje to wyświetlenie okna konfiguracji. Strzałka w dół do opcji Interfejsy->I2C, aby włączyć i2c dla urządzenia. Aby wyjść z okna, strzałka w prawo do Wstecz, a następnie do Zakończ, aby zapisać ustawienia.
  • Restart. W swojej powłoce wpisz: sudo reboot
  • Ustaw niestandardowe parametry i2c. Domyślna szybkość transmisji i2c (100k) wydaje się czasami mylić gitarę, więc spowolnimy ją do 50k w następujący sposób:

    • W powłoce wpisz: sudo nano /boot/config.txt
    • Spowoduje to otwarcie pliku konfiguracyjnego w edytorze tekstu. Strzałka w dół i znajdź linię, która mówi dtparam=i2c_arm=on. Jeśli jest skomentowany, odkomentuj go. Jeśli nie masz tej linii, dodaj ją. Poniżej tej linii dodaj również:

      • dtparam=i2c1=wł.
      • dtparam=i2c1_szybkość transmisji=50000
    • Naciśnij Ctrl + O, aby zapisać plik konfiguracyjny, a następnie naciśnij Ctrl + X, aby wyjść.
  • Restart. W swojej powłoce wpisz: sudo reboot

Krok 3: Krok 3: Zainstaluj Pure Data

Krok 3: Zainstaluj czyste dane
Krok 3: Zainstaluj czyste dane
Krok 3: Zainstaluj czyste dane
Krok 3: Zainstaluj czyste dane

Do dźwięków syntezatora użyjemy programu o nazwie Pure Data. Jest to generatywne narzędzie dźwiękowe i interaktywne, które istnieje już od dłuższego czasu. Ma kilka funkcji, które sprawiają, że jest idealny do tego projektu… ma interfejs użytkownika oparty na węzłach, który jest dość łatwy w użyciu i może odbierać sygnały ze źródeł zewnętrznych, takich jak skrypty Pythona.

  • Zainstaluj czyste dane. W powłoce wpisz: sudo apt-get install puredata
    • Powinno to zainstalować oprogramowanie na twoim Raspberry Pi, ale jeśli narzeka w powłoce, że nie jest w stanie zlokalizować wszystkich potrzebnych plików, wypróbuj to:

      • aktualizacja sudo apt-get
      • Następnie uruchom ponownie polecenie instalacji: sudo apt-get install puredata
    • Podczas instalacji zapyta, czy chcesz utworzyć katalogi dla rozszerzeń, możesz powiedzieć Tak.
  • Uruchom czyste dane. Jeśli został zainstalowany poprawnie, powinieneś zobaczyć program wymieniony w menu Start pulpitu w sekcji Dźwięk i wideo. Uruchom go, aby upewnić się, że się uruchomi.
  • Skonfiguruj dźwięk Pure Data. Dźwięk w Pure Data zwykle nie jest domyślnie włączony, więc musisz go włączyć.

    • Ustaw wyjście audio na ALSA. Po uruchomieniu Pure Data powinieneś zobaczyć okno konsoli. Przejdź do menu Media i wybierz ALSA jako wyjście. Możesz zobaczyć komunikaty ostrzegawcze w powłoce konsoli, które mówią, że nie może znaleźć niektórych plików, ale możesz to zignorować.
    • Włącz dźwięk DSP. W oknie konsoli zaznacz pole wyboru z napisem DSP.
  • Sprawdź wyjście audio. W oknie konsoli Pure Data przejdź do Media->Test Audio & MIDI. Spowoduje to otwarcie pliku testowego, którego możemy użyć, aby upewnić się, że Pure Data działa i że słyszymy dźwięk. Włącz głośniki, ale najpierw utrzymuj je na niskim poziomie głośności (czasami dźwięk może być domyślnie bardzo głośny). W pliku testowym po lewej stronie powinieneś zobaczyć sekcję o nazwie Test Tones. Kliknij najpierw pole z napisem 60 i sprawdź, czy słyszysz dźwięk z głośników. Jeśli nie, spróbuj kliknąć pole 80, a następnie podgłośnij głośniki, aż usłyszysz dźwięk. Jeśli słyszysz dźwięk, spróbuj przeciągnąć pole z napisem Pitch na prawo od tonów testowych, gdzie możesz zmienić częstotliwość tonów i zobaczyć, co się stanie.

Jeśli jesteś w stanie uruchomić Pure Data i słyszysz dźwięk z łatki testowej, możesz przejść do następnego kroku. Ale Pure Data może być nieco wybredny w kwestii wyjścia audio za pierwszym razem, więc jeśli nadal nie otrzymujesz dźwięku, spróbuj wykonać następujące czynności:

  • Możliwe, że dźwięk jest przesyłany przez kabel HDMI, więc aby zmusić go do korzystania z gniazda słuchawkowego:

    • W powłoce wpisz: sudo raspi-config
    • Przejdź do Opcje zaawansowane->Audio->Wymuś gniazdo 3,5 mm („słuchawki”)
  • Spróbuj ponownie uruchomić. Czasami to załatwia sprawę.
  • Sprawdź głośniki i połączenie z Raspberry Pi.

Krok 4: Krok 4: Podłączanie gitary

Krok 4: Podłączanie gitary
Krok 4: Podłączanie gitary
Krok 4: Podłączanie gitary
Krok 4: Podłączanie gitary
Krok 4: Podłączanie gitary
Krok 4: Podłączanie gitary

Najłatwiejszym sposobem podłączenia kontrolera gitary do Raspberry Pi jest zastosowanie niedrogiej płytki zaciskowej, takiej jak Nunchucky*. Ta płytka umożliwia dostęp do sygnału pochodzącego z gitary bez odcinania wtyczki lub łamania gitary. Po jednej stronie płytki znajdują się płaskie ścieżki zaprojektowane tak, aby idealnie pasowały do wtyczki wychodzącej z gitary. Istnieją również dwa małe wycięcia, które umożliwiają zatrzaśnięcie się wtyczki, zapobiegając jej poluzowaniu. Ślady prowadzą do czterech kołków nagłówka po przeciwnej stronie płytki.

Uwaga: Nunchucky jest dostarczany z pinami nagłówka, ale nie są one przylutowane, więc musisz to zrobić samodzielnie. W moim, zamiast tego użyłem kołków nagłówka 90 stopni, co pozwala na ułożenie go płasko w ostatecznym projekcie.

Do podłączenia Nunchucky do Raspberry Pi potrzebne będą cztery przewody. Podłącz przewody z pinów nagłówka Nunchucky do pinów GPIO Raspberry Pi w następujący sposób:

  • 3,3v -> pin 1
  • Dane -> Pin 3
  • Clk -> Pin 5
  • Masa -> Pin 9

W swoim projekcie zastosowałem złącza zaciskane na przewodach, aby nie wyciągały się tak łatwo. Ale jeśli nie masz złącz zagniatanych, cztery oddzielne żeńskie zworki będą działać dobrze. Jeśli używasz złączy zaciskanych, upewnij się, że zwracasz uwagę na kolejność przewodów na kołkach nagłówka i kołkach GPIO. Zauważ też, że na pinach GPIO pomijamy pin 7. Aby to uwzględnić, użyłem pięciożyłowego złącza zaciskanego na jednym końcu i pominąłem jedno gniazdo.

Aby sprawdzić, czy Raspberry Pi może wykryć kontroler gitary, otwórz powłokę i wpisz: sudo i2cdetect -y 1

Powinien wydrukować siatkę w powłoce z w większości podwójnymi myślnikami. Jeśli komputer może wykryć gitarę, powinieneś zobaczyć ID# 52 gitary w jednym ze slotów…na moim komputerze pojawił się w kolumnie 2, rzędzie 5…ale nie ma znaczenia który, dopóki widzisz numer 52 gdzieś tam.

Jeśli komputer nie może go wykryć, oto kilka rzeczy do wypróbowania:

  • Upewnij się, że przewody są mocno połączone.
  • Upewnij się, że masz wszystko podłączone do właściwych pinów.
  • Odwróć wtyczkę gitarową. Nunchucky nie przeszkadza w podłączeniu wtyczki do góry nogami, więc może być odwrócona.
  • Upewnij się, że i2c jest włączone na Raspberry Pi (jak pokazano w kroku 2)

*Jeśli wtyczka kontrolera gitarowego wygląda znajomo, to dlatego, że jest taka sama jak standardowy kontroler Wii Nunchuck… stąd nazwa Nunchucky! Oznacza to również, że możesz użyć tej samej tablicy breakout, aby połączyć się również z kontrolerami nunchuck.

Krok 5: Krok 5: Składanie wszystkiego razem

Krok 5: Składanie wszystkiego razem
Krok 5: Składanie wszystkiego razem
Krok 5: Składanie wszystkiego razem
Krok 5: Składanie wszystkiego razem

Teraz, gdy wszystko jest skonfigurowane na Raspberry Pi, potrzebujemy tylko trochę kodu, aby to zadziałało. Możesz pobrać kod i inne niezbędne pliki w następujący sposób:

  • Aby pobrać kod i inne pliki na Raspberry Pi, otwórz nową powłokę i wpisz następujące polecenie (może być konieczne wpisanie przed nim „sudo”): git clone
  • Spowoduje to utworzenie katalogu w twoim katalogu domowym o nazwie keytarHero (tj. /home/pi/keytarHero) i pobranie do niego plików.

W tym pakiecie znajdują się trzy główne pliki:

  • WiiGHController.py: To jest skrypt Pythona otwierający połączenie i2c z gitarą i zwracający wartości różnych kontrolek. Domyślnie wypisuje również wartości, które odczytuje do powłoki, dzięki czemu możesz zobaczyć, co robi.
  • keytarHero.pd: To jest plik poprawki Pure Data, który stworzyłem, aby stworzyć muzykę, którą usłyszysz. Jest skonfigurowany do odczytywania wartości przychodzących z gitary i kierowania ich do różnych węzłów w celu wygenerowania dźwięków. Omówię szczegóły łatki w następnym kroku, ale ostatecznie możesz to zmodyfikować, aby robić, co chcesz od tego miejsca.
  • keytarHero.py: To jest skrypt, który rozpoczyna cały proces i łączy wszystko w całość. Uruchamia Pure Data i otwiera łatkę keytarHero.pd. Otwiera połączenie z patchem i przekazuje wartości z gitary do patcha.

Moment prawdy! Upewnij się, że gitara jest podłączona do Raspberry Pi, a następnie jest gotowa do pracy. Aby rozpocząć, wystarczy uruchomić skrypt keytarHero.py. Aby to zrobić:

  • Otwórz nową powłokę i wpisz: cd keytarHero
  • Następnie uruchom polecenie: python keytarHero.py

Otóż to! Jeśli wszystko działa poprawnie, Pure Data powinien się uruchomić i zacząć grać w łatkę. Powinieneś usłyszeć sekwencję granych nut, a kiedy naciśniesz przyciski na gitarze, powinna ona na nią odpowiedzieć.

Rozwiązywanie problemów

Jeśli to nie działa, oto kilka rzeczy do sprawdzenia:

  • Patch Pure Data nie uruchamia się lub pojawia się błąd o nieznalezieniu plików? Skrypt keytarHero.py zawiera ścieżkę do pliku łaty Pure Data zakodowaną na sztywno jako „/home/pi/keytarHero/keytarHero.pd”. Jeśli przeniosłeś folder keytarHero lub plik z poprawką w inne miejsce, musisz zaktualizować skrypt, aby zamiast tego używał Twojej ścieżki. Aby to zrobić, otwórz plik keytarHero.py i poszukaj zmiennej o nazwie PD_PATCH_PATH i zmień ją tak, aby wskazywała na katalog, w którym znajduje się plik keytarHero.pd. Zapisz skrypt i uruchom go ponownie, a powinieneś być gotowy.
  • Czy gitara emituje sygnał? Skrypt powinien w sposób ciągły drukować sygnał otrzymywany z gitary do powłoki jako ciąg liczb, z których każda reprezentuje wartość kontrolki na gitarze. Kiedy używasz kontrolki na gitarze, powinno to spowodować zmianę tych liczb. Jeśli nie, sprawdź, czy poprawnie wykonałeś konfigurację i2c i połączenia gitarowe w powyższych krokach.
  • Czy dźwięk Pure Data jest włączony? Łatka Pure Data dostarczona w tym pakiecie powinna automatycznie włączyć dźwięk, ale sprawdź, czy pole wyboru DSP w konsoli Pure Data jest zaznaczone. Sprawdź również ustawienia dźwięku, jak pokazano w kroku 3.
  • Czy Pure Data odbiera sygnał z gitary? W prawym górnym rogu patcha znajduje się kilka węzłów odpowiedzialnych za odczytywanie sygnału z gitary i przesyłanie go do reszty patcha. Gdy naciskasz przyciski na gitarze, liczby w tej sekcji również powinny się aktualizować, informując, że odbiera sygnał prawidłowo.
  • Inicjalizacja zmiennych w łacie. Pure Data może być nieco wybredna, jeśli chodzi o wartości w łacie, które nie są inicjowane. Dodałem mechanizmy wyzwalające zmienne podczas otwierania, ale może warto po prostu kliknąć niektóre okna wiadomości (te, które wyglądają, jakby zostały z nich odgryzione). Powoduje to ich inicjalizację i może je obudzić.

Krok 6: Wycieczka po czystej łatce danych

Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych
Wycieczka po czystej łacie danych

Konfiguracja opisana do tej pory w tym samouczku sprawi, że wszystko będzie działać, ale jedną z fajnych rzeczy związanych z używaniem Pure Data w tym projekcie jest to, że można go dostosować do robienia wszystkiego, co chcesz. Gdy łata jest otwarta, jeśli naciśniesz Ctrl + E, wstawi łatę w tryb edycji i możesz ją zmienić. Szczegóły dotyczące korzystania z Pure Data wykraczają poza zakres tego samouczka (jest na to wiele samouczków online), ale majstrowanie przy nim może być zabawne, więc oto ogólna prezentacja tego, co dzieje się w łatce keytarHero.pd na wypadek, gdybyś chcesz to dostosować:

  • Komunikacja gitarowa: W prawym górnym rogu patcha znajduje się drzewo węzłów odpowiedzialnych za obsługę sygnału z gitary. Wartości z gitary są długimi ciągami, więc te węzły dzielą ciąg na indywidualne wartości dla każdej kontrolki, konwertują je na liczby, a następnie przekazują je do węzłów „wysyłania” (tych, które zaczynają się na s). Węzły wysyłające mają przypisaną nazwę i emitują sygnał do węzłów „odbiorczych” o tej samej nazwie. Na przykład węzeł „whammy” emituje wartości pochodzące z paska „whammy” gitary, a węzeł „r whammy” w środku patcha odbiera ten sygnał i używa go do zatrzymania sekwencera. Węzły wysyłania/odbierania pomagają zmniejszyć bałagan linii połączeń w łatce. Nie polecam grzebać w tej sekcji, ponieważ jest to trochę wybredne, ale zdecydowanie możesz dodać dodatkowe węzły odbiorcze w całej łatce, aby w razie potrzeby odbierać z niej sygnały.
  • Sekcja sekwencera: Środkowa sekcja patcha kontroluje sekwencer. Po lewej stronie znajduje się pasek z ruchomym czarnym kwadratem, który pokazuje, która nuta z 16-nutowej sekwencji jest grana. Klawisz strum kontroluje, czy sekwencja jest odtwarzana do przodu, czy do tyłu. Przyciski plus/minus zwiększają/zmniejszają prędkość. Po prawej stronie znajduje się pięć zestawów liczb, które kontrolują, które nuty są odtwarzane podczas każdego kroku. Każda sekwencja jest przypisana do gry po naciśnięciu jednego z pięciu przycisków na progu. Liczby te są wartościami MIDI i możesz je zmienić, aby odtwarzać dowolne nuty… po prostu nadaj im wartości od 0 do 127.
  • Sekcja Oscillator/FX: W lewym dolnym rogu znajdują się węzły oscylatora i efektów, które faktycznie wytwarzają dźwięk. Główny oscylator znajduje się po lewej stronie. Wartości midi z sekcji sekwencera są konwertowane na częstotliwości i podawane do oscylatora. Jest mieszany z drugim oscylatorem pochodzącym z prawej strony. Jego częstotliwość jest również kontrolowana przez wartości midi, ale z dodatkowym przesunięciem częstotliwości napędzanym przez oś X joysticka. Powoduje to efekt rozstrojenia lub gwizdania, gdy poruszasz joystickiem w lewo lub w prawo. W prawym dolnym rogu znajduje się również węzeł filtra dolnoprzepustowego, którego częstotliwość odcięcia jest powiązana z osią Y joysticka. Filtr dolnoprzepustowy określa, ile dźwięku o wysokiej częstotliwości jest usuwane z dźwięku. Kiedy joystick jest przesunięty w dół, odcina większość wysokich częstotliwości, co powoduje stłumiony dźwięk. Po przesunięciu do góry przepuszcza wszystkie częstotliwości, dając jaśniejszy dźwięk.
  • Inicjalizacja: W lewym górnym rogu łatki znajduje się szereg węzłów, które inicjują łatkę po jej uruchomieniu, np. Włącz dźwięk i „dotknij” różnych węzłów, aby je obudzić. Ponownie, prawdopodobnie nie musisz zadzierać z tą sekcją, ale jeśli są rzeczy, które chcesz, aby wydarzyły się po uruchomieniu łatki, podłącz je do węzła o nazwie 'loadbang'.
  • Próbowałem udokumentować łatkę komentarzami w samej łatce, więc mam nadzieję, że da ci to wystarczająco dużo informacji, aby zbadać różne opcje z tego miejsca.

Cieszyć się!

Krok 7: Dodatkowe rzeczy do wypróbowania

Prowadzenie gitary bez głowy

Powinno być możliwe uruchomienie tego projektu bez połączenia z monitorem/klawiaturą/myszą, jeśli uruchomisz Raspberry Pi z odpowiedniego przenośnego źródła zasilania. Raspberry Pi nie pasuje do otworu z tyłu gitary, ale jeśli czujesz się odważny, możesz zmodyfikować gitarę, aby to naprawić… lub po prostu zamontować Pi z tyłu za pomocą śrub i przykleić trochę. Istnieje wiele samouczków online na temat uruchamiania skryptów na bezgłowym Raspberry Pi, ale w zasadzie po uruchomieniu chcesz uruchomić polecenie „python /home/pi/keytarHero/keytarHero.py&”. Teoretycznie więc miałbyś gitarę, z której do głośnika wychodzi tylko jeden kabel… zupełnie jak prawdziwa gitara elektryczna!

Dodatkowe modyfikacje Pure Data

Miałem kilka innych pomysłów na to, jak gitara może kontrolować patch Pure Data, ale nie próbowałem. To byłyby zmiany w łatce, z którymi fajnie byłoby poeksperymentować:

  • Pasek whammy: W obecnej wersji pasek whammy po prostu zatrzymuje odtwarzanie sekwencji, ale myślę, że byłoby lepiej, gdyby pasek whammy również zwiększał częstotliwość w tym samym czasie, tak jak robiłby to prawdziwy pasek whammy. Przez chwilę starałem się, żeby to działało, ale było to trudniejsze niż myślałem. Myślę, że może to być po prostu kwestia dodania wyrażenia w sekcji oscylatora, które dodaje nieco wyższą częstotliwość do oscylatora w oparciu o wartość pochodzącą z paska whammy.
  • Pasek brzdąkania: Obecnie pasek brzdąka odtwarza sekwencję do przodu po naciśnięciu w dół i do tyłu po naciśnięciu w górę, ale może być lepiej, aby przechodził przez różne opcje sekwencji, takie jak losowy krok itp.
  • Przyciski plus/minus: Przyciski plus/minus zmieniają liczbę uderzeń na minutę, ale jest to trochę rozczarowujące, chyba że uderzysz je kilka razy. Dobrze byłoby, gdyby za każdym razem zwiększał się o większą wartość. A może przełącz sekwencer między odtwarzaniem 16-taktowym, 8-taktowym, 4-taktowym, trypletowym.

Zalecana: