Spisu treści:
- Krok 1: Pedał
- Krok 2: Arduino
- Krok 3: Interfejs MIDI
- Krok 4: Interfejs audio
- Krok 5: Mobius
- Krok 6: Skrypty Mobiusa i wiązania MIDI
- Krok 7: Wersja 1.5
Wideo: DIY Chewie Monsta Looper (na podstawie Eda Sheerana): 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Tak więc słyszałem o Edzie Sheeranie od kilku lat i nigdy nie zwracałem na niego większej uwagi. Podobały mi się niektóre z tych piosenek w radiu, ale myślałem, że jest tylko kolejnym popowym artystą, dopóki nie powiedziałem, że wykona „Shape of You” na Grammy w 2017 roku. Byłam zszokowana! Nie podobała mi się nawet ta piosenka, ale oglądanie, jak wykonuje ją na żywo z pedałem loop, było hipnotyzujące. Przeszukałem internet w poszukiwaniu informacji o tym pedale i stwierdziłem, że nie ma tam zbyt wiele. W końcu znalazłem artykuł mówiący, że został zbudowany na zamówienie przez Eda i jego technika gitarowego, który mnie rozczarował, dopóki w końcu nie natknąłem się na i Instructable przez „edsutcliffe” (https://www.instructables.com/id/DIY-Chewie-Monst…), który zawierał „sekretny sos” dokładnie określający, jak to działa. Byłem podekscytowany i od razu zabrałem się do pracy. Jednak podczas pracy nad instrukcją natknąłem się na kilka „gotchas” po drodze, dlatego napisałem tę instrukcję. Strona edsutcliffe'a świetnie się spisuje, opisując poszczególne elementy i jak one do siebie pasują. Moim zamiarem tutaj jest wypełnienie niektórych luk, które doprowadzały mnie do szału i kosztowały mnie godziny, jeśli nie dni, próbując rozwiązać problemy. Więc chociaż nie zamierzam prowadzić Cię krok po kroku, jak zbudować pedał pętli (z których większość można znaleźć na stronie edsutcliffe), zamierzam przeprowadzić Cię przez kluczowe problemy z integracją, które mnie dręczyły.
Krok 1: Pedał
Choć wydaje się być najbardziej krytycznym utworem, sam pedał jest najłatwiejszą i najprostszą częścią projektu. Moja rada to zacząć powoli i najpierw zbudować szorstką makietę i poeksperymentować z nią. Odkryłem, że dopóki nie zaczniesz go używać, trudno jest wiedzieć, czego chcesz. Może ci się wydawać, że wystarczą trzy utwory, ale po odrobinie gry może się okazać, że naprawdę chciałbyś czwarty utwór. Zmiana go później nie jest najłatwiejsza. Nawet gdy budowałem drugą wersję pedału, zastanawiałem się nad dodaniem przycisku „UNDO”, ale zdecydowałem się tego nie robić. Później stwierdziłem, że naprawdę nam się przyda, ale nie zostawiłem na to wystarczająco dużo miejsca. Skończyło się na tym, że musiałem wyjść z "programistów" i wykonać wiele zadań za pomocą przycisku CLEAR. Teraz mam to tak, że krótkie naciśnięcie powoduje UNDO, a długie naciśnięcie CLEAR.
Poza tym jedyną inną kwestią jest to, czy chcesz używać pedałów, czy przełączników nożnych. Początkowo korzystałem z przełączników nożnych tylko ze względu na koszty, ale ostatnio zbudowałem drugą deskę za pomocą pedałów i stwierdziłem, że są znacznie łatwiejsze w użyciu.
Na Amazon jest wiele opcji, ale te, których użyłem, są poniżej.
- Przełącznik nożny
- Okładki na paznokcie
Pedał
Krok 2: Arduino
W instrukcji, zamiast mówić tylko przez wyprodukowaną płytę Arduino, wymienia każdy komponent i buduje własny. Moim zdaniem jest to śmieszne, biorąc pod uwagę, że tablica mfg kosztuje około 10 USD w Internecie, więc zrób sobie przysługę i po prostu z tym.
www.amazon.com/Elegoo-EL-CB-001-ATmega328P…
Teraz schodzę do mojego pierwszego "gotcha". Jednym z ważnych elementów, który nie jest nigdzie omawiany, jest sposób tworzenia szkicu (kodu) dla Arduino, co jest dość krytyczne, ponieważ bez tego przyciski nie zrobią nic. Więc udostępniam mój kod do użycia. Ponownie, nie zamierzam prowadzić cię krok po kroku, jak programować Arduino. Jeśli wejdziesz na ich stronę główną, mają mnóstwo samouczków, jak to zrobić. Jeśli jesteś wystarczająco doświadczony, możesz go edytować, ale działa najlepiej.
Podstawy
- Pedał ma 8 przycisków i 2 diody LED
- Naciśnięcie przycisku wysyła komunikat polecenia MIDI z Arduino
- Przyciski (Podczas gdy opisuję funkcję każdego przycisku, sam kod Arduino nie robi nic poza wysłaniem polecenia MIDI. Polecenie MIDI musi być powiązane ze skryptem w Mobiusie, który zostanie omówiony później)
-
Przyciski składają się z dwóch grup
- Global = Wysyła to samo polecenie MIDI niezależnie od trybu
- Mode-based = Wysyła różne polecenia MIDI w zależności od trybu
-
W oparciu o tryb:
-
MODE = ten przycisk zmienia „tryb” pedału (nagrywanie/odtwarzanie/regulacja głośności)
- Krótkie naciśnięcie przełącza między trybem nagrywania i odtwarzania
- Długie naciśnięcie (dłużej niż 1 s) powoduje przejście do trybu regulacji głośności.
-
NAGRANIE/ODTWARZANIE
- W trybie REC = W trybie RESET rozpocznie pętlę i zamknie pętlę przy następnym naciśnięciu i przejdzie do trybu Overdub. Następnie przełącza się między odtwarzaniem i dogrywaniem bieżącego utworu.
- W trybie PLAY = wyłącza wyciszenie i restartuje wszystkie utwory
-
X / ZATRZYMAJ
- W trybie REC = Stosuje funkcję „natychmiastowego mnożenia” do bieżącego utworu.
- W trybie PLAY = Wycisz i wstrzymaj wszystkie utwory
-
ŚCIEŻKA 1/2/3
- W trybie REC = W trybie RESET rozpocznie pętlę i zamknie pętlę przy następnym naciśnięciu i przejdzie do trybu odtwarzania. Następnie przełącza się między odtwarzaniem i dogrywaniem wybranego utworu.
- W trybie PLAY = przełączanie między wyciszeniem a odtwarzaniem
- W trybie regulacji głośności = Ścieżka 2 przechodzi przez ścieżki, Ścieżka 1 zmniejsza poziom wyjściowy (głośność) bieżącego utworu o 5, Ścieżka 3 zwiększa poziom wyjściowy bieżącego utworu o 5.
-
-
Światowy
- RESET = stosuje funkcję „Globalnego resetu”
-
JASNE
- Krótkie naciśnięcie (<1000ms) powoduje zastosowanie funkcji „COFNIJ” do bieżącego utworu
- Długie naciśnięcie (>=1000ms) powoduje zastosowanie funkcji „CLEAR” do bieżącego utworu
-
diody LED
- REC LED = czerwony, włączony w trybie nagrywania.
- VOL LED = Niebieski, włączony w trybie regulacji głośności.
-
Szpilki
- REC/PLAY = pin 3
- RESET = pin 4
- X/STOP = pin 5
- WYCZYŚĆ = pin 6
- ŚCIEŻKA 1 = pin 7
- ŚCIEŻKA 2 = pin 8
- ŚCIEŻKA 3 = pin 9
- TRYB = pin 10
- LED REC = pin 11
- VOL LED = pin 12
Uwaga: przyjaciel ze społeczności, Claudio, ulepszył szkic i udostępnił go nam. Dzięki, Claudio!
Krok 3: Interfejs MIDI
Jest to obszar, który moim zdaniem nie został bardzo wyraźnie omówiony w innym instruktażu. Zasadniczo, jak omówiono w sekcji Arduino, pedał i Arduino po prostu wyprowadzają polecenie MIDI w oparciu o wciśnięty przycisk. Aby było używane, musisz wysłać MIDI do komputera z Mobiusem. Znalazłem na to 3 sposoby i zależy to od rodzaju zakupionego interfejsu audio (więcej w przyszłości).
- Opcja 1 - W zależności od zakupionego interfejsu audio, niektóre mają wbudowane porty wejścia/wyjścia MIDI. W takim przypadku możesz po prostu postępować zgodnie z instrukcją i wyciągnąć kanał szeregowy na Arduino i podłączyć go do portu MIDI In. Będziesz mógł wybrać to jako źródło kontrolera MIDI później podczas konfigurowania Mobiusa
- Opcja 2 - Mój interfejs audio nie miał wbudowanego portu MIDI, więc stanowiło to wyzwanie. Więc początkowo wyciągnąłem kanał szeregowy jak w opcji 1 i kupiłem osobną przejściówkę MIDI-do-USB. Chociaż to zadziałało, okazało się, że jest niezgrabne i niewiarygodne. Poza tym byłem sfrustrowany, ponieważ byłoby to trzecie połączenie USB, a mój komputer miał tylko dwa. Mogłem odłączyć kabel od Arduino, którego używałem do zasilania i debugowania, ale oznaczało to, że będę potrzebował do tego zewnętrznego zasilacza.
-
Opcja 3 - nie rozumiałem, dlaczego nie mogłem uzyskać poleceń MIDI przez połączenie USB i mieć to samo połączenie zasilające Arduino. Wiedziałem, że musi być sposób. Po wielu poszukiwaniach w Internecie w końcu znalazłem sposób, korzystając z dwóch darmowych aplikacji.
- loopMIDI - jak na ironię, ta bezpłatna aplikacja umożliwia utworzenie „wirtualnego” portu MIDI na komputerze. Wystarczy go zainstalować i zdefiniować wirtualny port MIDI Out i to wszystko. Uruchomi się automatycznie podczas uruchamiania.
- Bezwłosy MIDI - Ten program umożliwia utworzenie "mostu szeregowego", dzięki czemu można zmapować port szeregowy COM używany do programowania Arduino na wirtualny port MIDI, który właśnie utworzyłeś za pomocą loopMIDI. I Whalla! Teraz potrzebujesz tylko jednego połączenia USB z komputera PC do Arduino.
- UWAGA: Jeśli zdecydujesz się użyć opcji 3, musisz upewnić się, że kod Arduino ma szybkość transmisji kanału szeregowego ustawioną na 38400 zamiast standardowego 31250 używanego przez MIDI.
- // Ustaw szybkość transmisji MIDI:
- //Serial.begin(31250);
- // Ustaw szybkość transmisji na 38400 dla bezwłosego MIDI
- Serial.początek(38400)
Krok 4: Interfejs audio
Jest to więc prawdopodobnie najważniejszy komponent, który będziesz musiał wybrać. Ponieważ niski koszt był dla mnie kluczowym czynnikiem, szukałem niedrogiego interfejsu audio. Skończyło się na tym, że zdecydowałem się na BEHRINGER U-PHORIA UM2 (https://www.amazon.com/Behringer-UM2-BEHRINGER-UP…), ponieważ był tani i miał 2 kanały wejściowe i 2 kanały wyjściowe, czyli wszystko, czego potrzebowałem. Istnieje wiele opcji, ale może to później nieco zmienić konfigurację Mobiusa.
Proszę zrozumieć, że dostajesz to, za co płacisz. Chociaż UM2 wykonuje świetną robotę jak na swoją cenę, od czasu do czasu napotykam problemy, takie jak losowy dźwięk „pop”, jeśli dogrywam zbyt wiele warstw lub czasami staję się i muszę ponownie uruchomić interfejs. Więc jeśli poważnie myślisz o występie z tym pedałem, skorzystaj z interfejsu audio o wyższej jakości.
Naprawdę myślałem, że to będzie proste, ale okazało się, że był to dla mnie najtrudniejszy problem do rozwiązania i prawie spowodowałem, że porzuciłem projekt. Kiedy po raz pierwszy podłączysz go do komputera, system Windows automatycznie zainstaluje sterownik i myślisz, że jesteś ustawiony, prawda? Zło. Po skonfigurowaniu go i rozpoczęciu nagrywania ścieżek stwierdziłem, że opóźnienie było tak złe (ponad sekundę), że pedał był praktycznie bezużyteczny. Musiałem robić coś złego. Ponownie, po wielu poszukiwaniach w Internecie znalazłem problem. Windows zainstaluje domyślny sterownik MME dla interfejsu audio. Sterowniki MME mają bardzo duże opóźnienia i nie nadają się do nagrywania w czasie rzeczywistym. Musiałem wejść na stronę Behringer i znaleźć sterownik ASIO dla mojego konkretnego interfejsu. Sterowniki ASIO są specjalnie zaprojektowane, aby zminimalizować opóźnienia, których tutaj potrzebujesz. Po zainstalowaniu tego sterownika opóźnienie nagrywania nie było nawet wykrywalne przez ludzkie ucho. Więc wniosek jest taki, że niezależnie od używanego interfejsu audio, upewnij się, że masz sterownik ASIO od producenta i oszczędź sobie bólu głowy, którego doświadczyłem.
Krok 5: Mobius
Spójrzmy prawdzie w oczy, bez Mobiusa wszystko, co mamy do tej pory, to pedalboard kontrolera MIDI. Mobius to darmowy program stworzony przez Circular Labs (https://www.circularlabs.com/), który wykonuje całe nagrywanie i zapętlanie. To naprawdę niesamowity program. Biorąc to pod uwagę, okazało się, że bardzo brakuje dokumentacji z Circular Lab. Po instalacji otrzymujesz okno z 8 ścieżkami i tonami przycisków, liczników i licznika. Zajęło mi trochę czasu, aby dowiedzieć się, jak poruszać się po GUI i skonfigurować go do swoich potrzeb. Na szczęście znalazłem filmik zamieszczony na YouTube przez edsutcliffe, który krok po kroku przeprowadzi Cię przez proces konfiguracji.
Po tym, jedyną częścią konfiguracji, z którą miałem problem, było mapowanie określonego kanału wejściowego do określonej ścieżki. W filmie używają interfejsu 4-kanałowego, a każdy kanał wyświetla się niezależnie w Mobiusie. Interfejs UM2, którego użyłem, faktycznie wykorzystuje pojedynczy kanał stereo i wykorzystuje niezależnie prawy i lewy kanał. Widzę więc tylko 1 „kanał” w mobiusie, ale mogę zmapować pojedynczy kanał, przesuwając ustawienie „Pan” do końca w lewo lub w prawo. Mam więc ścieżki 1 i 2 z panoramą przesuniętą do końca w prawo, dzięki czemu nagrywany jest tylko kanał 2 (instrument). Następnie dla ścieżki 3 zostawiłem panoramę pośrodku, aby móc nagrać na niej mikrofon lub gitarę. Gdybym chciał nagrywać tylko z mikrofonu, przesunąłbym panoramę do lewego kanału.
Krok 6: Skrypty Mobiusa i wiązania MIDI
Ostatnim elementem układanki są skrypty Mobiusa i wiązania MIDI. Mimo że jestem bardzo zaznajomiony z programowaniem komputerowym, uważam, że język skryptowy Mobiusa jest trochę zagmatwany i niezbyt dobrze udokumentowany. Zajęło mi dużo czasu i wiele poprawek, aby uzyskać je tak, jak chciały, ale w końcu działają na to, czego potrzebuję. Kroki wiązania skryptów z poleceniami MIDI w Mobiusie są szczegółowo opisane w filmie na youtube w kroku 5.
Cóż, to wszystko. Mam nadzieję, że te wskazówki pomogą ci w budowie i unikniesz frustracji, na które się natknąłem.
Krok 7: Wersja 1.5
Więc po prawie dwóch latach używania pedału zdecydowałem, że chcę trochę zmienić jego działanie. Natknąłem się na kilka przypadków, w których funkcja „PLAY ALL” sprawiała, że wszystko było niewygodne. Często mam wyciszony utwór i chcę zatrzymać cały utwór i po prostu ponownie uruchomić dwa utwory, które tam były odtwarzane. Przy obecnej operacji wszystkie trzy utwory zrestartowałyby się i musiałbym szybko wyciszyć niechciany utwór. Niestety nie udało mi się znaleźć dobrego sposobu na zrobienie tego w Mobiusie. Aby to osiągnąć musiałem to zrobić wewnątrz kodu Arduino. Pamiętaj, że pedał i kod Arduino były dość „głupi”. Wysyłał komendę MIDI tylko po naciśnięciu pedału, a skrypty Mobiusa robiły całą resztę. Dzięki tej zmianie zasadniczo przeniosłem całą inteligencję odtwarzania do kodu Arduino i śledziłem stany poszczególnych ścieżek. Tak więc zakończyło się to prawie całkowitym przepisaniem kodu Arduino. Skończyło się nawet na zbudowaniu małego pedalboardu debugowania, aby opracować i przetestować nowy kod. Jeśli jesteś zainteresowany moją nową metodą, czytaj dalej, w przeciwnym razie funkcje opisane powyżej będą działać dobrze.
Aby funkcja „PLAY ALL” działała tak, jak chciałem, musiałem dodać nowy stan do każdej ścieżki, nazywając „ARM”. Wcześniej, w trybie PLAY, naciśnięcie pedału ścieżki przełączało pomiędzy MUTE i PLAY. Teraz naciśnięcie pedału spowoduje przejście z PLAY do MUTE, ale następnie przełączy pomiędzy ARM i MUTE. Ścieżka nie zostanie wyciszona, dopóki nie znajdzie się w stanie ARM, a następnie zostanie naciśnięty pedał PLAY. Kiedy pedał STOP jest wciśnięty, wszystkie utwory w PLAY są umieszczane w ARM i tylko one zostaną ponownie uruchomione po naciśnięciu PLAY. Problem polega na tym, że w Mobiusie nie ma żadnych wskazań dotyczących stanu ARM. Aby rozwiązać ten problem, dodałem trójkolorową diodę LED do każdej ścieżki, w której MUTE jest wyłączone, PLAY jest zielone, REC/OVERDUB jest czerwone, a ARM jest bursztynowe.
Teraz popełniłem błąd „kość-głowy” podczas robienia tego. Moje Arduino UNO nie miało wystarczającej liczby cyfrowych we/wy do obsługi nowych diod LED, więc zaktualizowałem do Arduino Mega (https://www.amazon.com/gp/product/B01H4ZLZLQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Tak więc opublikowany kod używa układu pinów zamiast UNO. Później zdałem sobie sprawę, że mogłem przenieść 6 pedałów na wejścia analogowe, a następnie użyć cyfr do sterowania diodami LED. Mój kod można łatwo zmodyfikować, aby działał w ten sposób, a jeśli będzie duże zainteresowanie, zrobię to sam i opublikuję. Jednak Mega jest tylko o 5 USD droższy niż UNO i daje o 32 więcej I/O, więc nie sądzę, żeby to wielka sprawa.
Ostatnią rzeczą, o której chciałbym porozmawiać, są same diody LED. Użyłem tych z Amazon (https://www.amazon.com/gp/product/B077XBMJFZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Nazwałem je "trójkolorowymi" diodami LED, ale jeśli ich poszukasz, będą one pod "dwukolorowymi". Dzieje się tak, ponieważ zawierają tylko dwie diody LED, zieloną i czerwoną. Jednak włączając je jednocześnie, otrzymujesz bursztyn. Należy również pamiętać, że ponieważ są one „wspólną anodą” i że przykładasz 5 V do wspólnego pinu i musisz podłączyć pin Arduino do katody. To sprawia, że diody LED są „aktywne w stanie niskim”, więc będą wyłączone, gdy pin Arduino jest wysoki, a włączone, gdy jest niski. Jeśli kupisz różne diody LED, które nie są wspólną anodą, kod Arduino nie będzie działał tak, jak napisano, ale można go łatwo dostosować. Wreszcie, spędziłem dużo czasu na dostrajaniu wartości rezystorów, aż mogłem uzyskać kolor bursztynowy, który chciałem. Zielony jest jaśniejszy niż czerwony, więc używam rezystora 1K om, aby zmniejszyć jego jasność. Inną opcją jest podłączenie diod LED do kanałów cyfrowych PWM i sterowanie jasnością za pomocą funkcji analogWrite(pin, value).
FYI - najwyraźniej Instructables.com nie pozwala już użytkownikom na przesyłanie plików.zip, więc umieściłem wszystkie skrypty i kod aurduino na github. Proszę uzyskać do niego dostęp tutaj.
github.com/mjoseph81/loop_pedal_public
Cóż, mam nadzieję, że podobało ci się to pouczenie. Daj mi znać, jeśli masz jakieś pytania i życzę miłej pętli.
Zalecana:
Wysokościomierz (miernik wysokości) na podstawie ciśnienia atmosferycznego: 7 kroków (ze zdjęciami)
Wysokościomierz (miernik wysokości) na podstawie ciśnienia atmosferycznego: [Edytuj]; Zobacz wersję 2 w kroku 6 z ręcznym wprowadzaniem wysokości bazowej.To jest opis budynku wysokościomierza (miernika wysokości) opartego na Arduino Nano i czujniku ciśnienia atmosferycznego Bosch BMP180.Projekt jest prosty, ale pomiary
Shelly EM Auto Toggle na podstawie produkcji paneli słonecznych: 6 kroków
Shelly EM Auto Toggle w oparciu o panele słoneczne Produkcja: P1: zużycie w domu (np. „P1 = 1kW” ⇒ zużywamy 1kW)P2: produkcja paneli słonecznych (np. „P2 = - 4kW” ⇒ produkujemy 4kW) grzałka pobiera 2kW po włączeniu.Chcemy ją włączyć, jeśli panel s
ZRÓB WŁASNĄ CYFROWĄ TABLICĘ ROZDZIELCZĄ NA PODSTAWIE GPS DLA MOTOCYKLA ELEKTRYCZNEGO LUB MOTOCYKLOWEGO: 13 kroków
ZRÓB WŁASNY CYFROWY DASHBOARD OPARTY NA GPS DLA EBIKE LUB MOTOCYKLA ELEKTRYCZNEGO: CZEŚĆ WSZYSTKOTym razem wymyśliłem nową instrukcję zawierającą zarówno samodzielny wyświetlacz, jak i rejestrator za pomocą wyświetlacza arduino mega 2560 i Nextion Lcd. W celu śledzenia można również rejestrować zdania NMEA z GPS w sdcard i oczywiście projekt
Użyj oprogramowania układowego Homie do sterowania modułem przełącznika Sonoff (na podstawie ESP8266): 5 kroków (ze zdjęciami)
Użyj oprogramowania układowego Homie do sterowania modułem przełącznika Sonoff (w oparciu o ESP8266): Jest to kontynuacja instrukcji, napisałem to trochę po „Budowaniu urządzeń Homie dla IoT lub automatyki domowej”. Później skupiłem się na podstawowym monitorowaniu (DHT22, DS18B20, światło) wokół płyt D1 Mini.Tym razem chciałbym pokazać, jak
Jak zrobić mobilnego robota sterowanego - Na podstawie DTMF - Bez mikrokontrolera i programowania - Sterowanie z dowolnego miejsca na świecie - RoboGeeks: 15 kroków
Jak zrobić mobilnego robota sterowanego | Na podstawie DTMF | Bez mikrokontrolera i programowania | Sterowanie z dowolnego miejsca na świecie | RoboGeeks: Chcesz stworzyć robota, którym można sterować z dowolnego miejsca na świecie, zróbmy to