Inhoudsopgave:

Arduino Jazz-improvisator: 4 stappen (met afbeeldingen)
Arduino Jazz-improvisator: 4 stappen (met afbeeldingen)

Video: Arduino Jazz-improvisator: 4 stappen (met afbeeldingen)

Video: Arduino Jazz-improvisator: 4 stappen (met afbeeldingen)
Video: Performance of my bespoke Arduino synthesizer, with live coding & clarinet processing in Ableton ❤️ 2024, November
Anonim
Arduino Jazz-improvisator
Arduino Jazz-improvisator

Dit ontwerp speelt geen 'lied'. In plaats daarvan gebruikt het een bluestoonladder om zijn eigen muziek te creëren terwijl het speelt - vergelijkbaar met een echte jazzmuzikant. Elke keer dat je hem aanzet, speelt hij iets anders; maar je kunt nog steeds het tempo, de toonhoogte en het volume regelen met de draaiknoppen. Luister hieronder naar een voorbeeld van hoe het wordt afgespeeld:

Stap 1: Wat is jazz?

Image
Image

Als je de officiële definitie wilt, kun je deze links bekijken, maar ik denk dat de beste manier om het te beschrijven is om je te laten zien hoe het klinkt.

  • https://en.wikipedia.org/wiki/Jazz
  • https://en.wikipedia.org/wiki/Jazz_improvisation

Stap 2: Bouw het circuit

Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit

Ik heb een standaard voor mijn luidspreker gebouwd van rietjes en tape, maar dat is optioneel. Volg het diagram om de rest van dit ontwerp te bouwen.

Stap 3: Upload de code

Deze code volgt een pseudo-willekeurig algoritme om de noten van de Bb-bluestoonladder oneindig te spelen in een jazzy gesyncopeerd ritme.

Gebruik deze code in de Arduino IDE:

int noot = 1;

int noot2 = 1; void setup () { pinMode (3, OUTPUT); } void loop() {int tonecontrol = map(analogRead(A0), 0, 1023, 1, 4); int speedcontrol = map(analogRead(A1), 0, 1023, 1, 20); int tonecontrol2 = map(analogRead(A2), 0, 1023, 1, 4); int playnote; int switchval = willekeurig (1, 5); switch (switchval) { geval 1: noot = noot; pauze; geval 2: noot = noot + 1; pauze; geval 3: noot = noot - 1; pauze; geval 4: noot = noot + 2; pauze; geval 5: noot = noot - 2; pauze; } schakelaar (opmerking) { geval 1: playnote = 262; pauze; geval 2: playnote = 294; pauze; geval 3: playnote = 311; pauze; geval 4: playnote = 349; pauze; geval 5: playnote = 392; pauze; geval 6: playnote = 440; pauze; geval 7: playnote = 466; pauze; geval 8: playnote = 523; pauze; standaard: opmerking = 1; pauze; } playnote = playnote * toonregeling; int playnote2; int switchval2 = willekeurig (1, 5); switch (switchval2) { geval 1: note2 = note2; pauze; geval 2: noot2 = noot2 + 1; pauze; geval 3: noot2 = noot2 - 1; pauze; geval 4: noot2 = noot2 + 2; pauze; geval 5: noot2 = noot2 - 2; pauze; } schakelaar (noot2) { geval 1: playnote2 = 262; pauze; geval 2: playnote2 = 294; pauze; geval 3: playnote2 = 311; pauze; geval 4: playnote2 = 349; pauze; geval 5: playnote2 = 392; pauze; geval 6: playnote2 = 440; pauze; geval 7: playnote2 = 466; pauze; geval 8: playnote2 = 523; pauze; standaard: noot2 = 1; pauze; } playnote2 = playnote2 * toonregeling2; toon (3, playnote, 30 * snelheidsregeling); vertraging (31 * snelheidsregeling); if (willekeurig (1, 4) == 3) { vertraging (21 * snelheidsregeling); } else { tone(3, playnote2, 20 * snelheidsregeling); vertraging (21 * snelheidsregeling); } }

Stap 4: Hoe het te controleren?

Hoe het te beheersen?
Hoe het te beheersen?

Van links naar rechts doet elke wijzerplaat het volgende:

  • Volume
  • 1e toonhoogte
  • Tempo
  • toonhoogte van de 2e toon

Knoei met ze totdat je een geluid krijgt dat je leuk vindt.

Aanbevolen: