Inhaltsverzeichnis:
- Schritt 1: Teileliste
- Schritt 2: Konstruktion
- Schritt 3: Software
- Schritt 4: Links
- Schritt 5: Verwenden des Sparkfun-Boards mit den Adafruit-Bibliotheken
Video: Micro Midi-Synthesizer - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dieses anweisbare zeigt die Verwendung des VLSI VS1053b Audio- und Midi-DSP-Chips in seinem Echtzeit-Midi-Modus. In diesem Modus fungiert er als 64-stimmiger polyphoner GM (General Midi) Midi-Synthesizer. Ein Arduino Uno Standalone-Mikro steuert ein OLED-Display, drei Tasten (Function Select und Up oder Down) und leitet den Midi-Datenstrom an den Audio-DSP weiter. Als Musikboard wurde das Adafruit VS1053 Codec Breakout Board gewählt, aber ein Sparkfun Music Breakout Board wurde ebenfalls erfolgreich getestet: Die Adafruit VS1053b-Bibliotheken wurden anstelle der viel größeren SFEMP3-Bibliothek verwendet (von Sparkfun empfohlen, obwohl sie auch über einen eigenen Satz von Bibliotheken verfügen), da ich den Adafruit-Code leichter verständlich fand.
Der größte Teil des Codes, der zur Steuerung des Audio-/Midi-DSP verwendet wird, wurde mit einem Arduino Uno entwickelt, der über ein Steckbrett mit dem Audio-/Midi-Breakout-Board verbunden ist. Nachdem festgestellt wurde, dass die Funktionen zufriedenstellend funktionieren, wurde der Uno als Programmierer für einen eigenständigen ATmega 328 verwendet, der dann zusammen mit dem 6N139-Opto-Isolator-IC, der auf der Midi-Eingangsbuchse (5-poliger DIN) erforderlich ist, auf ein kleines Veroboard der Größe 30x20 gesteckt wurde.. Ebenfalls angeschlossen war ein kleiner (64x48) OLED-Schild, drei Tasten, eine Midi-Aktivitäts-LED und ein +5-Volt-Barrel-Anschluss für die Stromversorgung und der Audio-Stereo-Ausgangsanschluss. Der Strombedarf ist sehr bescheiden - ca. 20 mA bei 5 Volt.
Schritt 1: Teileliste
ATmega328 Micro 28 Pin DIP + 28 Pin DIP Buchse 6N138 oder 6N139 Optoisolator + 4 Pin DIP BuchseWemos 64x48 I2C OLED Display oder ähnlichAdafruit VS1053b Codec Breakout Board3 Miniaturdrucktaster5 Pin DIN Midi Buchse Leiterplattenmontage bevorzugtKleine LED jede Farbe. Barrel-Typ Steckdose für die 5V VersorgungStereo Audio Buchse zum Anschluss an einen Verstärker oder KopfhörerWiderstände: 7 x 10k, 2 x 470 Ohm, 2 x 220 OhmKondensatoren: 0,1uF 50v Kunststoff, 10uf 25v elektrolytisch, 2 x 27 pF KeramikKleine Veroboard-Stücke (30 Streifen mal 20 Spalten und 4 Streifen mit 16 Spalten), ABS-Kunststoffgehäuse ca. 85x55x25mm, Verkabelung und ein paar Schrauben, Muttern und Unterlegscheiben.
Schritt 2: Konstruktion
Im Deckel des Gehäuses befinden sich das OLED-Display, die drei Tasten, die auf einem weiteren kleinen Stück Veroboard montiert sind, und der Barrel-Stromanschluss. Die Hauptplatine von Vero hat zwei Löcher, um die Musik-Breakout-Platine über dem ATmega328 zu befestigen. Einzelheiten zum Anschluss entnehmen Sie bitte dem Fritzing-Streifenplan.
Der programmierte ATmega328 (Code siehe nächster Abschnitt) wird dann in seinen Sockel gefolgt vom 6N139 gesteckt und alles angeschlossen.
Die LED dient als Midi-Aktivitätsanzeige und wurde an der Vorderseite des Gehäuses angebracht. Er ist über einen 470 Ohm Widerstand mit dem D2-Ausgang des ATmega328 verbunden.
Das OLED-Display verwendet den 3,3-Volt-Ausgang des Adafruit-Boards zur Stromversorgung - es benötigt weniger als 20 mA.
Versuchen Sie, die beiden Midi-Din-Anschlüsse zu vertauschen, wenn Sie bei der ersten Verwendung des Synthesizers keinen Ton hören.
Schritt 3: Software
Details der Skizze, die auf den ATmega328 hochgeladen werden soll, finden Sie in MidA.ino. Es stehen sieben Funktionen zur Verfügung:
Option P: Programm ändern - Ändern Sie das GM-Midi-Instrument von 1 auf 128 (ich habe 0 bis 127), z. B. einen Piano- oder Synth-Sound. Option B: Ändern Sie die Instrumentenbank zwischen Melodic (Bank 0) und Percussion (Bank 1). Option V: Stellen Sie die Lautstärke von 1 bis 10 ein. Option C: Ändern Sie den Midi-Kanal, auf den der Synth reagiert. Zur Auswahl stehen Kanal 0, Kanal 1, Kanal 9 (Percussion), Kanal 0 und 9 sowie Kanal 1 und 9. Option R: Ein- oder Ausschalten des Reverb-Effekts. Option S: Speichern der aktuellen Parameter im Eeprom-Speicher (Up) oder Lesen (nach unten) aus dem Eeprom-Speicher. Dies liegt daran, dass die Einstellungen sonst beim Herunterfahren nicht gespeichert werden. Option X: Senden Sie eine All Notes Off-Nachricht (Midi Reset).
Eine achte Option ist noch nicht implementiert - diese umgeht den ATmega als Midi-Filter und verbindet den Ausgang des Optoisolators direkt mit dem Rx-Pin des DSP-Boards.
Beachten Sie, dass der VS1053b in einem Echtzeit-Midi-Modus bootet, indem er während des Bootens einen komprimierten Patch mit 1039 Byte lädt - dies erhöht auch die Größe des Midi-Puffers und filtert systemexklusive Midi-Datenbytes. Details zu diesem Patch finden Sie auf der VLSI-Website.
Für die 64x48 Pixel Auflösung des OLED-Displays wurde eine leicht modifizierte Version der Adafruit Graphics Library verwendet - siehe die Links am Ende für Herrn Mcauser. Eine Liste der benötigten Bibliotheken ist im Sketch-Code enthalten.
Wenn die Skizze zum ersten Mal auf dem ATmega328 ausgeführt wird, egal ob auf einem Uno oder Standalone, lädt der Code Parametervoreinstellungen aus dem ATmega328 Eeprom, die möglicherweise nicht gültig sind. In diesem Fall können Sie entweder alle Nullen in das Eeprom schreiben, indem Sie die Option X mit der Abwärtstaste verwenden, oder die Zeile in der void setup-Funktion auskommentieren, die beim ersten Start Werte aus dem Eeprom lädt, Ihre Instrumente usw nach Belieben und speichern Sie dann Ihre Voreinstellungen mit der S-Option Up-Taste.
Alle genannten Personen und Entitäten werden für ihren Code und ihre Bibliotheken gutgeschrieben.
Schritt 4: Links
VLSI:
Adafruit:
Github VS1053b:
Github-Grafik:
Oled:
Sparkfun:
Schritt 5: Verwenden des Sparkfun-Boards mit den Adafruit-Bibliotheken
Die Tabelle im Bild erklärt, wie Sie entweder das Adafruit- oder das Sparkfun-Musikboard anschließen, um eine andere Bibliothek zu verwenden.
Empfohlen:
MIDI-Sonar "Theremin": 10 Schritte (mit Bildern)
MIDI-Sonar "Theremin": Dies ist ein Musikinstrument, das zwei Sonar-Abstandssensoren verwendet, um die Tonhöhe und Qualität der Noten zu steuern. Es ist natürlich kein Theremin, aber "Theremin" ist zum Oberbegriff für Instrumente geworden, die durch Winken mit den Händen gespielt werden
Schrittzähler - Micro:Bit: 12 Schritte (mit Bildern)
Schrittzähler - Micro:Bit: Dieses Projekt wird ein Schrittzähler sein. Wir werden den Beschleunigungssensor verwenden, der im Micro:Bit eingebaut ist, um unsere Schritte zu messen. Jedes Mal, wenn das Micro:Bit wackelt, addieren wir 2 zur Zählung und zeigen sie auf dem Bildschirm an
Aktualisieren Sie das Zen Micro 5 GB auf 8 GB günstig – wikiHow
Rüsten Sie das Zen Micro 5 GB auf 8 GB auf dem Billig: Guten Tag! Ich bin heute hier, um Ihnen zu zeigen, wie ich mein Zen Micro auseinandergenommen, die 5 GB-Festplatte darin durch eine 8 GB-CF-Karte ersetzt, das Gerät wieder zusammengebaut und gelebt habe erzählen Sie davon. Warum sollten Sie das tun? Zwei Gründe: 1. Solid-State-Speicher bedeutet
MIDI Step Interface: 12 Steps (mit Bildern)
MIDI Step Interface: Spanische Version hier.In diesem anweisbaren zeigen wir Ihnen, wie Sie ein Licht- und Sound-Interface erstellen, das zum Spielen von "Simon Says" verwendet werden kann; und als MIDI-Interface. Beide Modi werden mit den Füßen gespielt.HintergrundDas Projekt wurde geboren, weil
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: 6 Schritte
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: Dies führt Sie Schritt für Schritt durch die Erstellung Ihrer eigenen benutzerdefinierten tsi-MIDI-Maps in Traktor Pro für Behringer's DEEJAY BCD3000