Forum: Mikrocontroller und Digitale Elektronik Polyphonic Ton mit STM32F103


von Ralph S. (jjflash)


Lesenswert?

Ich würde gerne für eine (Weihnachtsbastelei) mittels einer Bluepill 
(die auf eine eigene Projekt-PCB dann geroutet werden soll) eine "Sound" 
Unterstützung haben.

Und diese sollte mehrstimmig sein.

Jetzt hat es hier jemand geschafft, so etwas mittels AVR zu machen (das 
mich schon vor ein paar Jahren begeistert hat):

https://www.mikrocontroller.net/articles/AVR-Synthesizer

So etwas hätte ich nun gerne auch für einen STM32. Leider mag ich die 
AVR der Assemblerteile wegen nicht wirklich auf einen STM32 portieren 
(vor allen Dingen denke ich würde das zu lange dauern).

Genial wäre, würden MIDI-Dateien in ein Array konvertiert werden können, 
die dann ein STM32 mittels PWM abspielt.

Alles was ich im Netz finde sind Synthesizer, die eben Töne produzieren 
können, aber keine Lieder abspielen können (und leider bin ich in der 
Musiktheorie nicht wirklich bewandert).

So etwas wie auf youtube wäre genial:

https://www.youtube.com/watch?v=PdPEE6Jw4Yk

Nur leider hat der Autor seinen Quellcode nicht veröffentlicht.

Kennt jemand evtl. eine Seite (die mir entgangen ist), wo so etwas 
vorgestellt wird (vorzugsweise ohne das STM32duino, perfekterweise mit 
LIBOPENCM3 ... eine HAL würde aber auch gehen).

Gruß,

Ralph

PS: aus eigener Kraft kann ich leider nur einen stumpfen Sinuston 
erzeugen

von Clemens L. (c_l)


Lesenswert?

Ralph S. schrieb:
> https://www.mikrocontroller.net/articles/AVR-Synthesizer
>
> So etwas hätte ich nun gerne auch für einen STM32. Leider mag ich die
> AVR der Assemblerteile wegen nicht wirklich auf einen STM32 portieren
> (vor allen Dingen denke ich würde das zu lange dauern).

Dann würde das Portieren von z.B. FluidSynth oder TiMidity noch länger 
dauern.

Ich empfehle den VS1053B, dann kannst du den STM32 weglassen ...

von Stefan F. (Gast)


Lesenswert?

Verwende einen MP3 Player. Es gibt auch welche, die du mit einem µC 
steuern kann (z.B. DFPlayer).

von Ralph S. (jjflash)


Lesenswert?

... komm schon Stefan... einfach den DFPlayer anschließen, Tasten 
simulieren... ist nicht so prickelnd... und eine SD Karte brauchts auch. 
Im Moment leß ich mich in Tönetheorie ein... in Wavetables und 
Sequenzer... Das ganze soll ja ohne externe, intelligente Hardware 
funktionieren. Aktiven TP an den PWM und ein kleiner NF Verstärker... 
Hrmpf... bis Weihnachten wohl nicht... aber Ehrgeiz ist geweckt. Evtl. 
doch das AVR Projekt portirren

von Stefan F. (Gast)


Lesenswert?

Ralph S. schrieb:
> bis Weihnachten wohl nicht

Das war der Teil, weswegen ich etwas halbfertiges empfohlen habe.

von Jim M. (turboj)


Lesenswert?

Ralph S. schrieb:
> Nur leider hat der Autor seinen Quellcode nicht veröffentlicht.

Wozu auch? Den Mixer Code kann man sich doch aus LibMikMod 
rausoperieren.

Ich habe hier noch ein paar alte .MOD Dateien (1993 und älter) 
rumfliegen, die würden größtenteils in einen 512KB Flash reinpassen. Der 
128KB STM32 wäre für die besser klingenden allerdings zu knapp.


Den (einfachen) Mixer Code findet man in libmikmod/playercode/virtch.c 
aber da gehört natürlich auch noch der Code zur Auswertung der Noten 
Pattern hinzu.

von Jim M. (turboj)


Lesenswert?

Mod Player gibt es fertich hier: 
https://github.com/jfdelnero/HxCModPlayer

Ungetestet, bleibt nur das Problem ein .MOD zu finden (oder zu 
komponieren) das neben dem Player Code in den Flash passt.

von Peter (Gast)


Lesenswert?


von Horst M. (horst)


Lesenswert?

Jim M. schrieb:
> Ungetestet, bleibt nur das Problem ein .MOD zu finden (oder zu
> komponieren) das neben dem Player Code in den Flash passt.

Hier ist bestimmt was dabei: https://modarchive.org

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.