Atmega SIDplayer

Ein Projekt rund um den berühmten SID Chip von MOS (Commodore 64).

Dinge die ein SID Emulator braucht

Signalsyntese

Mikrocontroller haben ja bakannterweise wenig Speicher, wenig Taktfrequenz, eigentlich zu wenig von allem um auf Ihnen große und komplizierte Rechenoperationen ausfürhren zu können. Daher muss man sich bei der erzeugung von Musik auf einem Mikrocontroller auf die Syntese von signalen beschränken.

Die Siganlsyntese beschreibt dabei die Erzeugung von Signalen mit beschränktem Signalverlauf (Rechteck, Dreieck, Sägezahn, Rauschen) jedoch nicht mit beschränkter Frequenz. Mithilfe der Syntese ist es somit möglich mit minimalen Datenraten Musik auf dem Mikrocontroller zu erzeugen. Wie dies genau Funktioniert wird hier weiter beschreiben.

MartinW, 201

Rauschgenerator

Das Erzeugen von Rauschen gehört genau wie die Syntese eines Sinusförmigen Signals zu den grundlegenden Eigenschaften eines jeden Chiptunes. Ohne das Rauschen wäre das erzeugen eines Schlagzeuganschlages nicht möglich.

LFSR - Linear feedback shift register

Es handelt sich bei diesem Generator um einen Pseudozufallsgenerator. Das kommt daher da sein Verlauf vorraussehbar ist wenn man seinen Aufbau und den Startwert (Seed) kennt. Sein Verlauf ist außerdem bei gleicher Beschaltung und gleichem Startwert immer der selbe. Die erzeugten Werte jedoch ähneln jedoch einem weißen Rauschen.

Nach Maximal 2^n-1 erzeugten Werten wiederholt sich die Folge. n steht dabei für die Breite des Registers (in diesem Fall n = 8).

Die Folge muss nicht immer 2^n-1 unterschiedliche Werte erzeugen. Die ist nur der Fall wenn die XOR Schaltungen ein Primitives Polynom bilden.