Nach längerem hin- und her überlegen habe ich mir jetzt mal eine
Axoloti-Synthesizerplatine zugelegt.
http://www.axoloti.com/axoloti-patcher/
Auf der Platine ist im wesentlichen ein STM32F427 und ein Audiocodec.
Gedacht ist das Ganze ist dazu gemacht, eigene Synthesizer aufzubauen.
Man kann mit einem graphischen Editor verschiedene Oszillatoren
verkabeln und an die Platine Potis und Schalter anschließen und diese
dann damit steuern.
Es sind ein paar Beispiele dabei, die man schon ohne externe Komponenten
ausprobieren kann. Die klingen echt nicht schlecht.
Interessant ist, dass die Sourcen offen liegen:
https://github.com/axoloti/axoloti/
Ich habe gerade mal ein wenig herum probiert. Es ist so, dass das
graphische Patch in ein HTML-File verwandelt wird und dann ein cpp-File
erzeugt wird. Das ganze kann man dann mittels des "live" Knopfes
kompiliert und herunter geladen werden. Man sieht eigentlich von dem
Vorgang nichts, aber ich hab mal ein wenig in die Tiefen gebohrt.
Was mich dabei wundert ist, dass es ziemlich schnell geht ( extrem viel
schneller als die übliche Compilierprozedur bei sonstigen STM32
Projekten ).
Die Dokumentation scheint quer über das Internet verteilt, ich bis jetzt
noch kein Bild mit der Beschreibung aller Anschlüsse gefunden.
chris schrieb:> Was mich dabei wundert ist, dass es ziemlich schnell geht ( extrem viel> schneller als die übliche Compilierprozedur bei sonstigen STM32> Projekten ).
Wie lange dauert das denn sonst bei dir? Ein trivialer Hello World LED
Blinker sollte nicht länger als max 1sec dauern.
>Wie lange dauert das denn sonst bei dir?
Das kann ich nicht so genau sagen. Aber dieser einfache Synthesizer im
Bild braucht 2.3 Sekunden mit compilieren und upload.
chris schrieb:> Wie lange dauert das denn sonst bei dir?>> Das kann ich nicht so genau sagen. Aber dieser einfache Synthesizer im> Bild braucht 2.3 Sekunden mit compilieren und upload.
Ja, wenn man's einigermaßen vernünftig anstellt ist das doch nicht
überraschend.
Mal kurz eine andere Frage, villeicht kennt sich jemand damit aus: Der
Axoloti hat MIDI-In damit er von externen Keyboards gesteuert werden
kann.
Leider haben die günsitigen Keybaords ( von denen ich eines habe )
keinen MIDI-out mehr, sondern nur noch eine USB-Schnittstelle.
Wie kriege ich das Signal gewandelt. Das einzige, was mir momentan
einfällt, ist einen RasPi zu nehmen und das Signal zu wandeln. Aber ich
vermute, dass dann die Latenz zu hoch wird.
chris schrieb:> keinen MIDI-out mehr, sondern nur noch eine USB-Schnittstelle.> Wie kriege ich das Signal gewandelt.
Steht doch da: http://www.axoloti.com/product/axoloti-core/
Full size USB host port, supports USB-MIDI compliant devices. USB Hubs
are not supported!
>Full size USB host port, supports USB-MIDI compliant devices.
Tatsächlich, das habe ich überlesen. Ich dachte immer, USB-Host sei
ziemlich kompliziert zu realisieren und außerdem bräuchte die Hostseite
irgendwelche speziellen Treiber für das spezifische Gerät.
Ich bin begeistert: Ich habe den Piano-Synthesizer aus den Beispielen
einfach mal ins interne Flash des Axoloti geladen, eine Handy-Power-Bank
als Stromversorgung verwendet und einfach ein USB-Kabel zwischen dem
Axoloti und einem Yhamaha PSR443 Keyboard gesteckt. Und siehe da: es
funktioniert direkt ohne irgend welche Probleme.
Das Piano-Beispiel klingt zwar eher wie eine Orgel, aber das mir erst
mal egal.
chris schrieb:> Ich dachte immer, USB-Host sei> ziemlich kompliziert zu realisieren und außerdem bräuchte die Hostseite> irgendwelche speziellen Treiber für das spezifische Gerät.
Richtig, das Teil unterstützt ja auch nur USB-MIDI-Geräte, weil nur
dafür ein Treiber integriert ist. USB-Host ist kompliziert aber möglich,
denn USB-Host-fähige Geräte existieren offenbar.
Hier das Anschlussbild der Backplane. Wahrscheinlich könnte man noch
mehr ADC-Kanäle für den Anschluss vieler Potis gebrauchen, wenn man
einen älteren Analogsynth simulieren will.
Im Repository des Axoloti befindet sich ein Treiber für den Audiocodec
CS34L22, wie er sich auf dem günstigen STM32F4 Discovery befindet.
https://github.com/axoloti/axoloti/blob/master/firmware/codec_CS43L22.c
Ich vermute, dass die Entwicklung damit begonnen wurde.
Im Schaltplan ist aber ein anderer Codec zu sehen:
http://www.axoloti.com/wp-content/uploads/2013/12/axoloti-core-sch-v10.pdf
Interessant wäre, wenn man die Axoloti-Software mit dem Discovery-Board
benutzen könnte, weil es wesentlich günstiger ist.
Man hat dann zwar keinen externen Speicher den man für Halleffekte
bräuchte, aber für Tongengeneratoren und verschiedene Effekte würde es
wohl reichen.
chris schrieb:> Man hat dann zwar keinen externen Speicher den man für Halleffekte> bräuchte, aber für Tongengeneratoren und verschiedene Effekte würde es> wohl reichen.
Du kannst die 128k des Disco Boards allerdings exklusiv für Audiodaten
nutzen, wenn du den Rest deiner Variablen in den CC Ram verschiebst, der
normalerweise ungenutzt ist, was mit einem angepassten Linker Skript gar
nicht so schwer ist. Für Flanger und Delays reicht das dann, selbst bei
Stereodaten.
chris schrieb:>>Full size USB host port, supports USB-MIDI compliant devices.>> > Ich bin begeistert: Ich habe den Piano-Synthesizer aus den Beispielen> einfach mal ins interne Flash des Axoloti geladen, eine Handy-Power-Bank> als Stromversorgung verwendet und einfach ein USB-Kabel zwischen dem> Axoloti und einem Yhamaha PSR443 Keyboard gesteckt. Und siehe da: es> funktioniert direkt ohne irgend welche Probleme.
Und kann man jetzt noch die Midi-Daten über den DIN Midi Out ausgeben?
So als USB Midi -> Midi Out wandler? Das wäre super und so ein Board
bald auch meins ...
So ich habe jetzt auch ein. **freu** Erste Schritte sind erfolgt, aber
die Beschreibungen insbesondere für Anfänger sind echt quer über das
Internet verteilt ...
chris schrieb:> Die Dokumentation scheint quer über das Internet verteilt
Ich habe das hier noch gefunden:
http://www.privatepublic.de/public/factory-objectlist.html
und ein Buch:
https://leanpub.com/getting-started-with-axoloti
Kann einer was zu diesem Buch/PDF sagen? Lohnt das? Das erste Kapitel
(Leseprobe) ist nur ein so geht es und ich vermisse ein bisschen das
Warum bzw. Erklärung der Elemente.
Gibt es hier sonst noch Besitzer?