Forum: Mikrocontroller und Digitale Elektronik Suche "Soundfolgen" (Freq.+Zeit) aus 64er-Zeiten


von nils (Gast)


Lesenswert?

Hallo,

wir hatten, als ich klein war, einen C64 und in den 
Programmierzeitschriften standen auch immer wieder Programme für 
Sound-Abfolgen drin. Soweit ich weiss, war das immer Frequenz und die 
Dauer, die dort angegeben war.
Nun existiert das Zeug nicht mehr und ich bin schon den ganzen Vormittag 
auf der Suche nach solchen Beispielen.

Grund, ich bastle mir gerade mittels "Propeller Chip" eine kleine 
Spiel-Konsole und dort habe ich jetzt eine Funktion "sound(f,time_ms)".

Was natürlich genialst wäre, wäre ein Programm, was mir sowas von meinen 
SID-Files erstellt, aber Listings reichen natürlich genauso.

Ich hoffe, dass ihr mir da weiterhelfen könnt.

von Emtec (Gast)


Lesenswert?

Vielleicht gibt es hier was:
http://c64-online.com

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

nils schrieb:
> Was natürlich genialst wäre, wäre ein Programm, was mir sowas von meinen
> SID-Files erstellt, aber Listings reichen natürlich genauso.

http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=SID

von Lukas K. (carrotindustries)


Lesenswert?

RTTTL-Sammlungen (Monophone Klingeltöne) sind auch recht ergiebig. Wenn 
du willst, könnte ich hier ein python-Skript zur Umwandlung von 
RTTL-Tönen in C-Arrays posten.

von nils (Gast)


Lesenswert?

Luk4s K. schrieb:
> RTTTL-Sammlungen (Monophone Klingeltöne) sind auch recht ergiebig. Wenn
> du willst, könnte ich hier ein python-Skript zur Umwandlung von
> RTTL-Tönen in C-Arrays posten.

Das hört sich schonmal sehr gut an, zwar nicht C, sondern "spin" ist die 
Sprache, in der ich das schreibe, aber das wäre, dank python, ja flott 
geändert.

Wär wirklich spitze, wenn du das posten könntest!

Zum SID-Dateiformat konnte ich bisher noch nichts finden, werd aber mal 
weitersuchen, Englisch ist hier das Problem... lässt sich aber auch 
lösen ;)

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

Bei der Notentabelle und manchen Umrechnungen habe ich mich bei 
Beitrag "noch ein Melodiegenerator (RTTTL-Format)" bedient
Die Funktion freqtoccr wirst du vermutlich anpassen müssen, das ganze 
war ursprünglich für die ez430 Chronos geschrieben.
Wenn du Linux verwendest und beep installiert hast, kannst du das ganze 
testen, indem du die Zeilen, die den C-Code ausgeben auskommentierst und 
die "print beep" einkommentierst.
Aufgerufen wird das dann mittels python rtttl.py | sh

von nils (Gast)


Lesenswert?

Wow, das ist super!

Mir läuft zwar momentan mit meiner schrottigen Soundroutine und 
hunderten sound()-Aufrufen mein stack über und alles schmiert ab, aber 
dass ich so einfach am Musik komme, hätte ich nicht gedacht!

Hab mir das so umgeschrieben, dass er mir direkt meine Anweisungen in 
Spin-Code ausgibt, genial das Teil :)

Werde das so ändern, dass ich die Daten auf SD Karte in einer grossen 
Datei ablege, einen index mit Längenangabe dazu und ein freier CPU Kern 
holt die Daten nach und nach und spielt sie ab, so umgehe ich auch das 
dämliche Stack-Problem.

Vielen Dank!

von drohne235 (Gast)


Lesenswert?

Für den Propeller gibt es einige gute Soundobjekte. An erster Stelle 
wäre da die SIDCog zu nennen - ein SID-Chip in einer Cog. Hier mal ein 
Demo mit etwas Grafik auf einem Propeller:

http://hive-project.de/content/1751

Oder als Soundengine mit Visualisierung in meinem "Magic Eye":

http://hive-project.de/content/1665

Ansonsten gibt es z.Bsp. noch HSS, ein 4-Kanal-Tracker + 2-Kanal-SFX + 
Wave. Hier mal ein Beispiel von einem kleinen Game damit:

http://hive-project.de/content/1782

Ansonsten gibt es auch noch eine AY-3-891X/YM2149 Emulator, der ist auch 
schön klein.

Ansonsten schau doch auch mal im Hive-Forum vorbei, da haben wir einen 
Bereich für allgemeine Basteleien mit dem Propeller-Chip - lohnt sich 
mit Sicherheit.

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.