1: Einfache Beats oder Schlagzeug - sind das abgelegte Wellenformen oder erzeugtes Rauschen oder wie macht man das platzsparend? 2: Ich habe schon einige Methoden zum Speichern der Daten gesehen aber bin noch nicht ganz überzeugt. Es ist wohl alles ein Kompromiss aus Flexibilität und Speicherplatz. Was ist denn alles so zu speichern? Instrument, Note, Startzeit, Dauer / Endzeit, Kanal, Lautstärke Zwei Byte für die Startzeit Dann ein Datensatz für jeden Kanal 2 bit Kanal 2 bit Instrument 2 bit Lautstärke 2 bit übrig 1 Byte für die Dauer 1 Byte für Note (reichen 6 bit?) und Steuerzeichen wie Datensatzende Macht 5 bis 14 Byte Kann man noch sparen?
Zu 2: Startzeit, Dauer und Endzeit musst du nicht speichern. Wird ja vom Steuergerät (Keyboard, Sequenzer...) vorgegeben.
Mist, erst denken, dann schreiben. Startzeit und Endzeit kannst du weglassen, aber die Dauer seit NoteOn brauchst du trotzdem um die Oszillatoren und die Envelopes laufen zu lassen.
Hi Dussel, ich Blödmann habe vergessen zu erwähnen, dass die Daten nicht über Kabel, sondern ausm Speicher kommen. Der Rechner 'weiß' also, wann das nächste Event (note aus) kommt. Ich denke, das braucht weniger Daten.
Ist das ein fertiger Synthesizer aus der Codesammlung den du anpassen willst oder willst du selber einen programmieren? Ich verstehe das jetzt so, dass der die Steuersignale gespeichert hat, wie in einer MIDI Datei und nach diesen Daten dann Musik abspielt. Da du zwei Bit für den Kanal benutzen willst also mit vier Kanälen. Unter diesen Voraussetzungen würde ich sagen: Der Synthesizer speichert im RAM, welches Instrument zu welchem Kanal gehört. Dann hast du die zwei Bit gespart, hast noch vier Bit übrig, die du noch nutzen kannst, z.B. wenn ein Byte für die Dauer nicht ausreicht. 6 Bit=64 Werte reichen eigentlich für die Note. Ein Einsteigerkeyboard hat 61 Tasten und es reicht zum Spielen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.