Innholdsfortegnelse:

Arduino Soundlab: 3 trinn
Arduino Soundlab: 3 trinn

Video: Arduino Soundlab: 3 trinn

Video: Arduino Soundlab: 3 trinn
Video: Arduino soundlab 2024, Oktober
Anonim
Image
Image
Konstruksjon
Konstruksjon

Det er utrolig hva et stort utvalg av fantastiske lyder som kan genereres med FM -synteseteknikken, selv med en vanlig Arduino. I en tidligere instruks var dette illustrert med en synthesizer som hadde 12 forhåndsprogrammerte lyder, men en seer antydet at det ville være mye kulere å ha full kontroll over lydparametrene med potensiometre, og det er det også!

I dette lydlaboratoriet kan toner styres av 8 parametere: 4 for ADSR -konvolutten for lydstyrken og 4 for frekvensmodulasjonen som bestemmer teksturen.

Tillegget av de 8 potensiometrene gikk ikke på bekostning av antall nøkler: tre sett med 8 nøkler leses ut noen få mikrosekunder etter hverandre, for totalt 24 nøkler, tilsvarende to hele oktaver. Faktisk er to Arduino -pinner ubrukte, og det er mulig å utvide til 40 nøkler.

Se på videoen for hvordan du lager ville lyder, her er en kort oversikt:

* A = angrep: tid for en tone å nå sin maksimale lydstyrke (område 8ms-2s)

* D = forfall: tid for en tone å gå ned til det jevne lydnivået (område 8ms-2s)

* S = Sustain: jevnt lydnivå (område 0-100%)

* R = utgivelse: tid for en tone å dø ut (område 8ms-2s)

* f_m: forholdet mellom modulasjonsfrekvensen og bærefrekvensverdiene (område 0,06-16) under 1 resulterer i undertoner, høyere verdier i overtoner

* beta1: amplituden til FM-modulasjonen i begynnelsen av notatet (område 0,06-16) resulterer i små variasjoner i lydteksturen. store verdier resulterer i vanvittige lyder

* beta2: amplituden til FM-modulasjonen på slutten av notatet (område 0,06-16) Gi beta2 en annen verdi enn beta1 for å få lydteksturen til å utvikle seg i tide.

* tau: hastigheten der FM-amplituden utvikler seg fra beta1 til beta 2 (område 8ms-2s) Små verdier gir et kort smell i begynnelsen av et notat, store verdier en lang og langsom utvikling.

Trinn 1: Konstruksjon

Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon

Tydeligvis er dette fortsatt en prototype, jeg håper en dag jeg eller noen andre vil bygge denne store og sterke og vakre med store taster og ekte urskiver for potensiometrene i et fantastisk kabinett ….

Nødvendige komponenter:

1 Arduino Nano (Det fungerer ikke med Uno, som bare har 6 analoge innganger)

24 trykknapper

8 potensiometre, i området 1kOhm - 100kOhm

1 potensiometer på 10 kOhm for volumkontroll

1 kondensator - 10 mikrofarad elektrolitt

1 3,5 mm øretelefonkontakt

1 LM386 lydforsterkerbrikke

2 1000microfarad elektrolittkondensator

1 keramisk 1microfarad kondensator

1 mikrobryter

1 8 Ohm 2 Watt høyttaler

1 prototavle på 10 x 15 cm

Sørg for at du forstår vedlagte skjemaer. De 24 knappene blir koblet til i 3 grupper på 8, som skal leses ut ved D0-D7 og aktiveres på D8, D10 og D11. Grytene har +5V og jordet på endekranene, og de sentrale kranene mates til de analoge inngangene A0-A7. D9 har lydutgang og blir AC-koblet til et 10kOhm potensiometer for volumkontroll. Lyden kan lyttes direkte med øretelefoner, eller forsterkes med en LM386 lydforsterkerbrikke.

Alt passer på et 10x15cm protoptype -brett, men knappene er for nær til å spille godt, så det er bedre å bygge et større tastatur.

Kretsen kan drives via USB -tilkoblingen på Arduino Nano, eller med en ekstern 5V strømforsyning. En 2xAA batteriboks etterfulgt av en oppgraderingskonverter er en perfekt strømforsyningsløsning.

Trinn 2: Programvare

Last opp den vedlagte skissen til Arduino Nano, og alt skal fungere.

Koden er enkel og enkel å endre, det er ingen maskinkode og ingen avbrudd, men det er et par direkte interaksjoner med registrene, for å samhandle med timeren, for å øke hastigheten på knappavlesningen og for å kontrollere ADCs oppførsel for potensiometeravlesning

Trinn 3: Fremtidige forbedringer

Ideer fra samfunnet er alltid velkomne!

Jeg er mest plaget av knappene: de er små og klikker hardt når de trykkes. Det ville være veldig fint å ha større knapper som er mer behagelige å trykke på. Tast- eller hastighetsfølsomme knapper ville også tillate å kontrollere lydstyrken til notene. Kanskje tre-veis trykknapper eller berøringsfølsomme knapper kan fungere?

Andre fine ting ville være å lagre lydinnstillinger i EEPROM, lagring av korte låter i EEPROM ville også tillate å lage mye mer interessant musikk. Til slutt kan mer komplekse lyder genereres, hvis noen vet hvordan de genererer perkusjon lyder på en beregningsmessig effektiv måte, ville det vært fantastisk …

Anbefalt: