Skip to content

homa57/NanoSynth

 
 

Repository files navigation

GitHub Logo

Maker Media GmbH und c't, Heise Zeitschriften Verlag


NanoSynth

Mini-GM-Synthesizer mit Karaoke-IC

Picture

Schier unglaublich, was hochintegrierte ICs heute können: Der SAM2695 von DREAM ist ein mehrstimmiger Wavetable-Synthesizer mit Effekteingang und MIDI-Steuerung auf 5 x 5 Quadratmillimetern. Unser NanoSynth-Board (Artikel in Make 1/2018, S. 64) macht den Winzling Breadboard-tauglich.

Der NanoSynth kann auf sehr einfache Weise über den Hardware-UART oder einen Software-UART (z.B. NewSoftSerial) vom Arduino gesteuert werden - einfach indem man einzelne Noten mit der Drei-Byte-Folge 0x90, Note, Anschlagdynamik ein- und mit 0x80, Note, 0x40 ausschaltet. Einen Ausführlichen Artikel zum MIDI-Protokoll finden Sie in der Make-Ausgabe 6/2017 auf Seite 106.

MIDI-Player

Einen komplexeren Beispiel-Sketch (MIDI-File-Player) zum Betrieb am Arduino finden sie im Verzeichnis paula.ino. Der Sketch benötigt die Libraries FluxamaSynth, NewSoftSerial, FlexiTimer2 und Flash.

Achtung: Diese Libraries sind im Original nur auf älteren Arduino-IDEs lauffähig; für die aktuelle Version 1.8.5 haben wir einige recht umfangreiche Änderungen ausführen müssen. Die geänderten Librarie-ZIPs finden Sie deshalb in diesem Repository, Sie müssen sie nach dem Download mit dem Arduino-Library-Manager importieren.

Die ersten vier FluxamaSynth-Beispiele funktionieren dann über /Datei/Beispiele/Fluxama-Shields-Synthmaster. Bitte beachten: Pin D4 ist MIDI-Tx, wie im Schaltbild in Ausgabe 1/2018 angegeben.

Um eigene MIDI-Files in unser Beispiel einzubinden, ist eine zusätzliche Konvertierung notwendig. Kostenlose MIDI-Dateien gibt es zum Beispiel bei MIDIworld. Die .MID-Dateien müssen mit einem Perl-Skript konvertiert werden, das es unter https://sourceforge.net/projects/midi2fluxama/ gibt. Zum Start benötigt Perl aber das MIDI-Modul libmidi-perl, das man unter Ubuntu mit sudo apt-get insall libmidi-perl nachinstalliert.

Konvertiert wird dann mit ./midifluxama.pl beispiel.mid > data.h, anschließend data.h über Reiter in der Arduino-IDE einfügen (neuen Reiter anlegen) und im Sketch SoftFluxSynthSMF.pde die Datei data.h inkludieren (#include data.h).

MIDI-CC-Editor

Einen einfachen, aber sehr praktischen MIDI-Editor für Windows (andere Plattformen nach Neukompilierung der Delphi-Sourcen) finden Sie im Verzeichnis "GM-Editor" (ausführbare Datei in "Win32/Release"). Zum Einstellen des SAM2695 die vorbereitete CC-Tabelle sam2695_ccvals.csv laden. Mit Hilfe der Excel-Tabelle GM-CCs.xlsx können Sie CC-Tabellen für den Editor selbst erstellen. Ein preiswerter MIDI-USB-Adapter zum Betrieb am PC ist der LOGILINK UA0037 von Reichelt.

Zur Neukompilierung des MIDI-Editors benötigen Sie die kostenlose Delphi 10 Starter Edition von Embarcadero.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Pascal 59.3%
  • C 39.9%
  • C++ 0.8%