Turinys:

„Walabot FX“- gitaros efektų valdymas: 28 žingsniai (su nuotraukomis)
„Walabot FX“- gitaros efektų valdymas: 28 žingsniai (su nuotraukomis)

Video: „Walabot FX“- gitaros efektų valdymas: 28 žingsniai (su nuotraukomis)

Video: „Walabot FX“- gitaros efektų valdymas: 28 žingsniai (su nuotraukomis)
Video: How to Mix Power Metal - 10 - Lead Guitars 2024, Liepa
Anonim
„Walabot FX“- gitaros efektų valdymas
„Walabot FX“- gitaros efektų valdymas

Valdykite savo mėgstamą gitaros efektą naudodami tik nuostabias gitaros pozas!

1 žingsnis: dalykų, kurių jums prireiks

Techninės įrangos komponentai

Walabot - Walabot

Raspberry Pi - Raspberry Pi 3 B modelis

„Sunfounder LCD1602“https://www.amazon.co.uk/SunFounder-LCD1602-Displ…

„SunFounder PCA9685“16 kanalų 12 bitų PWM servo tvarkyklė, skirta „Arduino“ir „Raspberry Pi“https://www.amazon.co.uk/d/5ia/SunFounder-PCA9685…

Servo (bendras) Nėra nuorodos

9 V akumuliatoriaus spaustukas

4xAA baterijų laikiklis

AA baterijos

Trumpieji laidai (bendrieji)

DPDT fiksavimo kojų jungiklis

Korg SDD3000-PDL

Programinės įrangos OS, programos ir internetinės paslaugos

„Autodesk Fusion360“-

„Blynk“-

Įrankiai ir kt

3D spausdintuvas

Lituoklis

2 žingsnis: Santrauka

Getting Started
Getting Started

Kaip būtų kontroliuoti muzikinę išraišką nenaudojant nieko, išskyrus gitaros padėtį 3D erdvėje? Na, ką nors įrašykime ir sužinokime!

3 žingsnis: pagrindinė idėja

Norėjau, kad galėčiau valdyti 3 efektų parametrus realiu laiku, norėjau tai padaryti naudodamas gitaros padėtį. Taigi vienas dalykas buvo aiškus, man reikėjo kelių dalykų.

  • Jutiklis, galintis matyti 3D erdvę
  • Servos rankenėlėms pasukti
  • LCD ekranas
  • I2C servo vairuotojas
  • Aviečių Pi
  • Norėdami išmokti Python

4 žingsnis: „Walabot“

Nori pamatyti pro sienas? Jaučiate objektus 3D erdvėje? Suprantate, ar kvėpuojate iš viso kambario? Na, tau pasisekė!

„Walabot“yra visiškai naujas būdas jausti erdvę aplink jus naudojant mažos galios radarą.

Tai buvo šio projekto esmė, aš galėčiau paimti 3D erdvėje esančių objektų kartezaninius (X-Y-Z) ir susieti juos su servo padėtimis, keisdamas gitaros efekto skambėjimą realiuoju laiku, neliesdamas pedalo.

Laimėti.

Daugiau informacijos apie „Walabot“rasite čia

5 veiksmas: pradžia

Visų pirma, jums reikės kompiuterio, kad galėtumėte vairuoti „Walabot“, šiam projektui aš naudoju „Raspberry Pi 3“(čia vadinama RPi) dėl įmontuoto „WiFi“ir bendro papildomo ryšio.

Aš nusipirkau 16 GB SD kortelę su iš anksto įdiegta NOOBS, kad viskas būtų gražu ir paprasta, ir pasirinkau įdiegti „Raspian“kaip savo pasirinktą „Linux“OS

(jei nežinote, kaip įdiegti „Raspian“, skirkite šiek tiek laiko tai perskaityti)

Gerai, kai jūsų RPi veiks Raspian, reikia atlikti keletą konfigūracijos veiksmų, kad viskas būtų paruošta mūsų projektui

6 žingsnis: Raspberry Pi nustatymas - 1

Pirmiausia įsitikinkite, kad naudojate naujausią branduolio versiją, ir patikrinkite, ar nėra atnaujinimų, atidarydami komandų apvalkalą ir įvesdami

sudo apt-get atnaujinimas

sudo apt-get dist-upgrade

(„sudo“pridedama, kad užtikrintumėte, jog turite administracines privilegijas, pvz., viskas veiks)

Tai gali užtrukti, todėl eikite ir išgerkite puodelio arbatos.

7 žingsnis: Raspberry Pi nustatymas - 2

Turite įdiegti „Walabot“SDK, skirtą RPi. Iš savo RPi žiniatinklio naršyklės eikite į https://www.walabot.com/gettingstarted ir atsisiųskite „Raspberry Pi“diegimo paketą.

Iš komandų apvalkalo:

CD atsisiuntimai

sudo dpkg -I walabotSDK_RasbPi.deb

8 žingsnis: Raspberry Pi nustatymas - 3

Turime pradėti konfigūruoti RPi naudoti „i2c“magistralę. Iš komandų apvalkalo:

sudo apt-get įdiegti python-smbus

sudo apt-get install i2c-tools

kai tai bus padaryta, prie modulių failo turite pridėti šiuos dalykus

Iš komandų apvalkalo:

sudo nano /etc /modules

pridėkite šias 2 eilutes atskirose eilutėse:

i2c-dev

i2c-bcm2708

9 žingsnis: Raspberry Pi nustatymas - 4

„Walabot“naudoja pakankamai srovės, o mes taip pat naudosime GPIO, kad galėtume valdyti dalykus, todėl turime juos nustatyti

Iš komandų apvalkalo:

sudo nano /boot/config.txt

failo pabaigoje pridėkite šias eilutes:

safe_mode_gpio = 4

max_usb_current = 1

RPi yra puikus įrankis gamintojams, tačiau srovė, kurią ji gali siųsti į „Walabot“, yra ribota. Todėl pridedame maksimalią 1 Amp srovę, o ne standartinę 500 mA

10 žingsnis: „Python“

Kodėl „Python“? Na, nes tai labai lengva koduoti, greitai paleisti ir yra daug gerų python pavyzdžių! aš niekada jo nenaudojau ir netrukus pradėjau veikti. Dabar RPi yra sukonfigūruotas tam, ko norime, kitas žingsnis yra sukonfigūruoti „Python“, kad jis galėtų pasiekti „Walabot“API, LCD servo sąsajas

11 veiksmas: „Walabot“

Iš komandų apvalkalo

Sudo pip įdiegti „/usr/share/walabot/python/WalabotAPI-1.0.21.zip“

12 veiksmas: „Servo“sąsajai

Iš komandų apvalkalo

sudo apt-get install git build-essential python-dev

cd ~

git klonas

cd „Adafruit_Python_PCA9685“

sudo python setup.py įdiegti

Kodėl mums reikia naudoti servo tvarkyklę? Na, dėl RPi dėl kelių priežasčių.

1. Servo traukiama srovė gali būti labai didelė, ir šis skaičius didėja, tuo daugiau servo turite (žinoma). Jei vairuojate tiesioginį servo iš RPi, rizikuojate išpūsti jo maitinimo šaltinį

2. PWM (impulsų pločio moduliacija), valdančių servo padėtį, laikas yra labai svarbus. Kadangi RPi nenaudoja OS realiuoju laiku (gali būti pertraukimų ir panašiai), laikas nėra tikslus ir gali priversti servus nervingai trūkčioti. Speciali tvarkyklė leidžia tiksliai valdyti, bet taip pat leidžia pridėti iki 16 servų, todėl tai puikiai tinka išplėsti.

13 žingsnis: LCD ekranas

Blynk
Blynk

atidarykite savo RPi žiniatinklio naršyklę

www.sunfounder.com/learn/category/sensor-k…

parsisiųsti

github.com/daveyclk/SunFounder_SensorKit_…

Iš komandų apvalkalo:

sudo mkdir/usr/share/sunfounder

Naudodami grafinį naršyklę, nukopijuokite „python“aplanką iš ZIP failo į naują „sunfounder“aplanką

Skystųjų kristalų ekranas naudojamas, kad vartotojas sužinotų, kas tiksliai vyksta. Rodomas konfigūravimo procesas iki x, y ir z reikšmių, susietų su kiekviena servo sistema

14 žingsnis: Blynk

Blynk
Blynk
Blynk
Blynk

„Blynk“yra puiki „IoT“paslauga, leidžianti sukurti pasirinktinę programą, kad galėtumėte valdyti savo daiktus. Man atrodė puikus sprendimas duoti nuotolinio valdymo pultą „walabot“, kad galėčiau iš tikrųjų surinkti nustatymus …

Viena problema. „Blynk“šiuo metu nepalaikoma „Python“platformoje. Bet nebijok! man pavyko rasti gražų darbą, kuris leidžia nuotoliniu būdu valdyti ir nuotoliniu būdu įvesti parametrus! tai truputį niūrus

Pirmasis žingsnis yra atsisiųsti „Blynk“programą iš mėgstamos programų parduotuvės

Antra, prisiregistruokite prie paskyros

Kai tai bus padaryta, atidarykite programą ir pradėkite naują projektą, pasirinkdami „Raspberry Pi 3“kaip aparatinę įrangą.

Programa suteiks jums prieigos raktą (jums to reikės norint įvesti kodą)

Kai tai padarysite. turėsite nustatyti programą, kaip parodyta paveikslėliuose. Taip jis sąveikaus su „walabot“.

15 veiksmas: „Blynk“programos konfigūravimas

„Blynk“programos konfigūravimas
„Blynk“programos konfigūravimas
„Blynk“programos konfigūravimas
„Blynk“programos konfigūravimas
„Blynk“programos konfigūravimas
„Blynk“programos konfigūravimas

16 veiksmas: galite naudoti šį QR kodą naudodami „Blynk“programą, norėdami klonuoti mano projektą, kad sutaupytumėte laiko

Galite naudoti šį QR kodą naudodami „Blynk“programą, norėdami klonuoti mano projektą, kad sutaupytumėte laiko
Galite naudoti šį QR kodą naudodami „Blynk“programą, norėdami klonuoti mano projektą, kad sutaupytumėte laiko

Gerai Dabar, kai programa jau sukurta, galime sukonfigūruoti „Python“ir RPi, kad su juo kalbėtųsi internetu. magija

17 žingsnis: „Blynk“paleidimas su „Raspberry Pi“ir „Blynk HTTPS“naudojimas „Python“

Pirmiausia turite įdiegti „Blynk HTTPS“įvyniojimą, skirtą „Python“

Iš komandų apvalkalo:

sudo git klonas

sudo pip įdiegti blynkapi

Antra, RPi turite įdiegti „Blynk Service“

Iš komandų apvalkalo:

git klonas

cd blynk-library/linux

padaryti viską švarų

paleisti „blynk“paslaugą

sudo./blynk --token = YourAuthToken

Norėdami užtikrinti, kad „Blynk“paslauga būtų paleista paleidžiant, turite pakeisti /etc/rc.local

darant

sudo nano /etc/rc.local

pabaigoje pridėkite tai

./blynk-library/linux/blynk --token = mano žetonas &

(į kodo skiltį įtraukiau savo /etc/rc.local failo kopiją)

Norėdami patikrinti, ar jis veikia, tiesiog įveskite

sudo /etc/rc.local start

Dabar turėtų veikti „Blynk“paslauga

18 veiksmas: automatiškai paleiskite scenarijų

Dabar, kai visa tai yra nustatyta ir sukonfigūruota, ir mes turime parengtą „python“kodą. mes galime nustatyti, kad viskas vyktų automatiškai, kad galėtume atsisakyti klaviatūros ir monitorių

Yra keletas dalykų, kuriuos reikia padaryti

Sukurkite naują scenarijaus failą, kad paleistumėte „Python“programą

sudo nano gitaros efektas.sh

pridėkite šias eilutes

#!/bin/sh

python /home/pi/GuitarEffectCLI.py

būtinai išsaugokite

Toliau turime suteikti scenarijui leidimą paleisti rašant

Sudo chmod +x /home/pi/guitareffect.sh

Ir galiausiai, mes turime pridėti šį scenarijų prie /etc/rc.local failo, su kuriuo susidūrėme anksčiau.

Sudo nano /etc/rc.local

Papildyti

/home/pi/guitareffect.sh &

būtinai įtraukite „&“, kad „Python“scenarijus veiktų fone

Teisingai! Tai yra visa konfigūracija ir programinė įranga, tada laikas prijungti aparatūrą

19 žingsnis: Aparatūra

Image
Image
Walabot guitar effects control proto1
Walabot guitar effects control proto1

Pirmasis „Breadboard“prototipas

20 žingsnis: korpuso dizainas

Korpuso dizainas
Korpuso dizainas
Korpuso dizainas
Korpuso dizainas

Korpusas buvo suprojektuotas ir pagamintas nuostabiame „Fusion360“

21 žingsnis: „Guts Shots“

Guts Shots
Guts Shots
Guts Shots
Guts Shots
Guts Shots
Guts Shots

22 žingsnis: galutiniai surinkimo kadrai

Galutiniai surinkimo kadrai
Galutiniai surinkimo kadrai
Galutiniai surinkimo kadrai
Galutiniai surinkimo kadrai
Galutiniai surinkimo kadrai
Galutiniai surinkimo kadrai

23 veiksmas: pritvirtinkite „Walabot“prie stovo

Norėdami pritvirtinti „Walabot“prie stovo
Norėdami pritvirtinti „Walabot“prie stovo

Naudokite lipnų metalinį diską, pateiktą kartu su „walabot“, kad jį pritvirtintumėte

24 veiksmas: aparatinės įrangos STL failai 3D spausdinimui

25 žingsnis: Sujungimo schema

26 žingsnis: kodas

Savo projektui naudokite pridėtą „Python“scenarijų

iš _future_ importuoti print_functionf iš „sys“importavimo platformos iš os importo sistemos iš „blynkapi“importo „Blynk import“„WalabotAPI“importo laiko importo RPi. GPIO kaip GPIO

#nustatykite GPIO naudodami lentos numeraciją

GPIO.setmode (GPIO. BOARD) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)

#blynk autencijos ženklas

auth_token = "tavo_autono_tokenas_čia"

# Importuokite PCA9685 modulį servo valdymui.

importuoti „Adafruit_PCA9685“

#importuoti LCD modulį iš vietos

iš imp import load_source LCD1602 = load_source ('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')

# Inicijuokite PCA9685 naudodami numatytąjį adresą (0x40).

pwm = Adafruit_PCA9685. PCA9685 ()

# blynk objektai

numatytieji = Blynk (auth_token, pin = "V9") start_button = Blynk (auth_token, pin = "V3") Rmax = Blynk (auth_token, pin = "V0") Rmin = Blynk (auth_token, pin = "V1") Rres = Blynk (auth_token, pin = "V2")

ThetaMax = Blynk (auth_token, pin = "V4")

ThetaRes = Blynk (auth_token, pin = "V5")

PhiMax = Blynk (auth_token, pin = "V6")

PhiRes = Blynk (auth_token, pin = "V7")

Slenkstis = Blynk (auth_token, pin = "V8")

ServoMin = Blynk (auth_token, pin = "V10")

ServoMax = Blynk (auth_token, pin = "V11")

def LCD nustatymas ():

LCD1602.init (0x27, 1) # init (vergo adresas, foninė šviesa)

def numMap (x, in_min, in_max, out_min, out_max): "" "naudojamas walabot rodmenims susieti su servo padėtimi" "" return int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + out_min)

# naudokite tai apvalinant neapdorotus duomenis iki priskirtos vertės

def myRound (x, base = 2): return int (bazė * apvali (plūdė (x)/bazė))

#ištraukia skaičių iš grąžintos blynk eilutės

def skaičiusEkstraktas (val): val = str (val) return int (filtras (str. skaitmenis, val))

# Nustatykite 60 Hz dažnį, tinka servams.

pwm.set_pwm_freq (60)

# Nustatykite numatytuosius minimalius ir maksimalius servo impulsų ilgius

SERVO_MIN = 175 # Min. Impulsų ilgis iš 4096 SERVO_MAX = 575 # Maksimalus impulsų ilgis iš 4096

# numatytosios „walabot“vertės

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

# kintamieji, skirti perjungti blynk

on = "[u'1 ']"

Walabot klasė:

def _init _ (savarankiškai):

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = False self.isTargets = False

def blynkConfig (savarankiškai):

load_defaults = defaults.get_val () if str (load_defaults) == on: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) print ("Servo Max =", SERVO_MAX)

SERVO_MIN = ServoMin.get_val ()

SERVO_MIN = numberExtract (SERVO_MIN) print ("Servo MIN =", SERVO_MIN) R_MAX = Rmax.get_val () R_MAX = numberExtract (R_MAX) print ("R max =", R_MAX)

R_MIN = Rmin.get_val ()

R_MIN = skaičiusEkstrakto (R_MIN) spausdinimas („R Min =“, R_MIN)

R_RES = Rres.get_val ()

R_RES = numberExtract (R_RES) spauda ("R Res =", R_RES)

THETA_MAX = ThetaMax.get_val ()

THETA_MAX = numberExtract (THETA_MAX) print ("Theta Max =", THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) print ("Theta Res =", THETA_RES)

PHI_MAX = PhiMax.get_val ()

PHI_MAX = numberExtract (PHI_MAX) print ("Phi Max =", PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) print ("Phi Res =", PHI_RES)

THRESHOLD = Threshold.get_val ()

THRESHOLD = numberExtract (THRESHOLD) spauda ("Threshold =", THRESHOLD)

else: # jei nieko iš „blynk“programos, įkeliami numatytieji nustatymai SERVO_MIN = 175 # Min. impulsų ilgis iš 4096

# numatytosios „walabot“vertės

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

def connect (self): try: self.wlbt. ConnectAny () self.isConnected = Tikras self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_MTI) self.wlbt. FILTER_TYPE_MTI. (self.wlbt. FILTER_TYPE_NONE) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self.wlbt. SetArenaTheta (-THETA_MAX, THETA_MAX, THETA_RES) self (-a), PHILIP. SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD), išskyrus self.wlbt. WalabotError as err: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' Err

def start (savarankiškai):

self.wlbt. Start ()

def kalibruoti (savarankiškai):

self.wlbt. StartCalibration ()

def get_targets (save):

self.wlbt. Trigger () return self.wlbt. GetSensorTargets ()

def stop (savarankiškai):

self.wlbt. Stop ()

def atsijungti (save):

self.wlbt. Disconnect ()

def main ():

flag = True check = "" LCDsetup (), o vėliava: LCD1602.write (0, 0, 'Guitar') LCD1602.write (0, 1, 'Effect Control') time.sleep (2) LCD1602.write (0, 0, „Paspauskite, kad pradėtumėte“) LCD1602.write (0, 1, 'begin') time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # patikrinkite, ar nėra „blynk start“mygtuko, paspauskite, jei (GPIO.input (18) == 0): #check footswitch flag = False

LCD1602.write (0, 0, "Gerai! Padarykime")

LCD1602.write (0, 1, ") wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () jei ne wlbt.isSujungta: LCD1602.write (0, 0," Neprijungta ") else: LCD1602.write (0, 0, 'Connected') time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602.write (0, 0, 'Calibrating …..') time.sleep (3)) LCD1602.write (0, 0, „Walabot paleidimas“)

appcheck = start_button.app_status () vėliava = True # reset flag for main prog

tuo tarpu vėliava: # naudojama norint įjungti budėjimo režimą (efektyviai)

if (appcheck == True): if (str (check)! = on): if (GPIO.input (18)! = 0): #check footswitch flag = False else: check = start_button.get_val () #check for pradžios mygtukas paspauskite appcheck = start_button.app_status ()

Kitas:

if (GPIO.input (18)! = 0): #check footswitch flag = Klaidinga

xval = 0

yval = 0 zval = 0 vidurkis = 2 delayTime = 0

target = wlbt.get_targets ()

jei len (taikiniai)> 0:

j diapazone (vidutinis):

target = wlbt.get_targets ()

jei len (taikiniai)> 0: spausdinti (len (taikiniai)) tikslai = taikiniai [0]

spausdinti (str (target.xPosCm))

xval += int (tiksl.

xval = numMap (xval, -60, 60, SERVO_MIN, SERVO_MAX)

xval = myRound (xval), jei xval SERVO_MAX: xval = SERVO_MAX LCD1602.write (0, 0, 'x =' + str (xval) + '') pwm.set_pwm (0, 0, xval)

yval = yval/vidurkis

yval = numMap (yval, -60, 60, SERVO_MIN, SERVO_MAX)

yval = myRound (yval), jei yval SERVO_MAX: yval = SERVO_MAX LCD1602.write (0, 1, 'y =' + str (yval)) pwm.set_pwm (1, 0, yval)

zval = zval/vidurkis

zval = numMap (zval, R_MIN, R_MAX, SERVO_MIN, SERVO_MAX)

zval = myRound (zval), jei zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8, 1, 'z =' + str (zval)) pwm.set_pwm (2, 0, zval)

Kitas:

spausdinti ("be taikinių") LCD1602.write (0, 0, "Shutting Down") LCD1602.write (0, 1, 'The Walabot') time.sleep (3) wlbt.stop () wlbt.disconnect ()

jei _vardas_ == '_main_':

nors tiesa: pagrindinis ()

gitaros efektui.sh

#!/bin/sh

cd /home /pi

sudo python GuitarEffectCLI.py

RC vietinio failo kopija

#!/bin/sh -e # # rc.local # # Šis scenarijus vykdomas kiekvieno daugiafunkcinio darbo lygio pabaigoje. # Įsitikinkite, kad scenarijus „išeis iš 0“, jei bus sėkminga, arba bet kuri kita # klaida. # # Norėdami įjungti arba išjungti šį scenarijų, tiesiog pakeiskite vykdymo # bitą. # # Pagal numatytuosius nustatymus šis scenarijus nieko nedaro.

# Atspausdinkite IP adresą

_IP = $ (pagrindinio kompiuterio pavadinimas -I) || tiesa, jei ["$ _IP"]; tada printf "Mano IP adresas yra %s / n" "$ _IP" fi

./blynk-library/linux/blynk --token = "jūs žetonas eina čia" &

miegoti 10 sudo /home/pi/guitareffect.sh ir išeiti 0

27 veiksmas: naudokite „Github“saugyklas

Naudokite tai „Sunfounder“LCD ekranui

github.com/daveyclk/SunFounder_SensorKit_f…

Naudokite tai servo tvarkyklėms

github.com/daveyclk/Adafruit_Python_PCA968…

Naudokite tai „Blynk Python HTTPS Wrapper“

github.com/daveyclk/blynkapi

28 žingsnis: Išvada

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
Išvada
Išvada
Išvada
Išvada

Na, tai buvo staigi mokymosi kreivė, bet buvo to verta.

Mano atributika yra

  • Turėjau išmokti Python..paaiškėja, kad tai tūzas
  • Sujungė „Python“su „Raspberry Pi“su „Blynk IoT“paslauga. Tai nėra oficialiai palaikoma, todėl jo funkcijoms yra tam tikrų apribojimų. Vis dėlto puikiai veikia!
  • Pasirodo, „Walabot“puikiai tinka muzikinei išraiškai. Aš naudoju jį „Korg SDD3000“, bet galite naudoti bet kokį jums patinkantį efektą

Pasivaikščiokite patys. Tai neapsiriboja gitaros efektais, galiu būti naudojamas su bet kokiu instrumentu, turinčiu bet kokį poveikį.

Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m
Raspberry Pi konkursas 2017 m

„Raspberry Pi“konkurso antroji vieta 2017 m

Rekomenduojamas: