Intonation im SID

Brauchen wir für den SID Chip ein eigenes Tongeschlecht?

Gegeben ist ein eindeutig begrenzter Klangraum über 16Bit aufgeteilt in ein LowByte und ein HighByte von $00 00 bis $ff ff. Durch Bitshifts ist ein Verdoppeln jedes Wertes möglich.

Jeder Wert aus zwei Bytes erzeugt einen Ton der sich über die Konstante der Taktrate in physikalisch messbare Frequenzen umrechnen lässt. Der Commodore 64 in Europa hat seine Taktrate angepasst an die Rasterstrahlfrequenz eines Röhrenfernsehgerätes mit PAL. Fraglich ist aber, ob diese exakte Frequenz überhaupt maßgeblich sein muss, weil die zwei Byte als Datenregister der jeweiligen Stimme unabhängig davon arbeiten, ob der Takt höher oder niedriger ausfällt. Die Umrechnung einer bestimmten Frequenz aus einem definierten Muster wie dem der allgemein festgelegten Noten birgt also schon eine Abweichung durch Umrechnen einer ganzen Reihe von Nachkommazahlen, die am Ende durch Runden einen Integerwert ergeben müssen. Die möglichst exakte Frequenz der Maschine ist also dem Charakter der Maschine selbst geschuldet und wird damit von einigen definierten Mustern herkömmlicher Musik ganz natürlich abweichen, was eigentlich kein echtes Problem darstellt.

Die Funktionsweise der binären Register geht erstmal von der Existenz eindeutig und einfach zu bestimmender Oktaven aus, dazu ist ein Bit einfach um einen Stellenwert zu verschieben, die Umwandlung in Hexadezimal ist recht einfach.

#0000-0000 0000-0001 = $00 01 = int 1

#0000-0000 0000-0010 = $00 02 = int 2

#0000-0000 0000-0100 = $00 04 = int 4

Das Prinzip ist bis dahin unvorstellbar einfach.

#0000-0000 0000-1000 = $00 08 = int 8

#0000-0000 0001-0000 = $00 10 = int 16

#0000-0000 0010-0000 = $00 20 = int 32

Da die Multiplikation mit drei nach den Mustern der Harmonik und der Philosopie der Diatonik immer einen Integerwert ergibt, aber niemals die Division, auch nicht immer die Hälfte eines dreifachen Wertes, kann die ursprüngliche Quinte nur verdoppelt werden, ebenso die harmonische Terz, Sekunde und Septime, wenn sie so zu finden ist. Eine entsprechende Harmonik kann also hier wahrscheinlich problemlos mit Integerwerten abgebildet werden.

1*3=3 daraus folgen die dezimalen Quintenzahlen 6; 12; 24; 48; 96; 192; ..

Binär

#0000-0011; #0000-0110; #0000-1100; #0001-1000; ..

In Hex

$03; $06; $0c; $18 ..

Die Umrechnung ist in Binär und Hex viel einfacher als über Dezimal. Wie Binärcodes in Hex verwandelt werden ist viel viel leichter verstanden und umgesetzt als in Worten erklärt. Deswegen fasse ich mich hier kurz und erkläre das ggf. später vollständig :)

Das Byte wird dargestellt durch eine zweistellige Hexadezimalzahl, eine Stelle für die oberen vier Bit eine für die unteren vier Bit. Vier Bit sind immer ein Wert von Null bis Fünfzehn, eine Stelle in Hex ist immer ein Wert von Null bis Fünfzehn.

Beispiele mit Zufallszahlen:

#0101-1011 (1+4=5 und 1+2+8=11)

$5b

#1110-0011 (2+4+8=14 und 1+2=3)

$e3

—-

Zurück zur Intonation, die Diatonik selbst bietet ja schon eine ganze Reihe ganzzahliger Werte, die Stammtöne, die hier direkt angewendet werden könnten und auch mit grundlegenden Bitmustern übereinstimmen, diese Darstellung ist ja schon aus dem Kontext der Saiteninstrumente bekannt, es ergeben sich insgesamt so erstmal nur Majortöne, bis zur mittleren Oktave sind damit aber einfache Melodien schon möglich, eine saubere Dur Pentatonik ist so im tonal gut darstellbaren Bereich auf jeden Fall schonmal vorhanden, was eine ziemlich erfreuliche Erkenntnis ist.

Also grundsätzlich lassen sich alle kompliziert errechneten Frequenzen leicht auch auf Integerwerte runden ohne viel von ihrem ursprünglichen Charakter einzubüßen, weil – wie oben beschrieben – Abweichungen von 0,5Hz bei Einzeltönen im mittleren oder höheren Bereich unmöglich gehört werden können, viele menschliche Meinungen bezaugen trotzdem, dass einfach adaptierte Klangmuster aus anderen Medien aus dem SID heraus billig, stumpf und zum Teil deutlich disharmonisch klingen.

Vor allem aber denke ich für sinnvolle Experimente an den Bereich der Syntonik innerhalb der Diatonik, der zur künstlichen Klangerzeugung besonders gut geeignet zu sein scheint, weil Klänge der Syntonik absichtlich zwischen zwei nahe beieinanderliegenden Werten schwanken, und damit sowieso eine deutlich hörbare Unschärfe entsteht, die jeden einfachen Rundungsfehler komplett überspielen kann.

Die Syntonik kann aber nicht nur Rundungsfehler ausbügeln sondern auch eine gewisse klangliche Fülle erzielen, die Oszyllatoren normalerweise fehlt, und sie kann so die Simulation natürlicherer Klangerscheinungen leichter möglich machen.

Zu bedenken bleibt, dass sich die Syntonik bisher absehbar auch nicht vollständig aus einfachen Byteoperationen ableiten lässt, die genormten Frequenzen natürlich noch weniger, und gerade die so leicht zu ermittelnde Oktave dert keine Bedeutung hat, sie bleibt also eine Simulation und ist noch nicht am SID vollkommen authentisch, in jedem Fall ist das bisher ein sehr vielversprechender Kompromiss.

Erstmal den Eigenschaften der Maschine folgend, können sich später alle klanglich vernünftigen Ergebnisse später ggf. ergänzen oder kombinieren lassen, falls das gewünscht, sinnvoll oder notwendig sein sollte, damit haben wir jetzt schon deutlich mehr und deutlich bessere Optionen als einfach unreflektiert genormte Werte zu adaptieren, und haben dabei nur an der Oberfläche gefischt.

—-

Also sehen wir mal weiter..

Der Versuch etwas ähnliches wie mit vielfachen von 3 auch mit vielfachen von 5 und 7 zu erreichen zeigt erstmal in Dezimalzahlen folgende ganzzahlige Ergebnisse an, was im Hörempfinden halt mal überprüft werden müsste:

1 7 49 343

2 14 98 686

4 28 196 1372

8 56 392

16 112 784

32 224 1568

64 448

128 896

256 1792

1 5 25 125 625

2 10 50 250 1250

4 20 100 500

8 40 200 1000

16 80 400

32 160 800

64 320 1600

128 640

256 1280

Ja ok, die meisten Werte wirken auf den ersten Blick ziemlich unsinnig, ich will sie trotzdem nich vollständig unbeachtet lassen. Viel sinnvoller wäre es auch sowieso um auch am Medium der Eingabe durch Daten zu bleiben direkt alles in Hex zu denken. Wie könnten sich denn noch gut anwendbare Integerwerte finden lassen? Erstmal noch unklar.

Naja, wenn definiert wurde, dass bei einem Drittel der Saite genauso wie beim Dreifachen der Saite der Ton harmonisch zur Grundschwingung ist und Frequenzen zu Saitenlängen umgekehrt proportional sind, könnte ich so ja auch nur in Frequenzen rechnen, hab ich wohl bisher gedacht, und den Umstand der Notwendigkeit einer Saite garnichtmehr beachten, es ist aber musisch betrachtet nachweislich nicht egal wie der Ton erzeugt wird, und über welches Medium er sich ausbreitet. Ok, das Medium ist für uns immer Luft, deshalb gilt die Harmonik auch mehr oder weniger in allen Bereichen der Klangerzeugung, weil schwingende Luft in menschlicher Musik immer als Medium zum Tragen kommt, und die Physik von Schallwellen ist in Grundsätzen überall innerhalb vernünftig definierter Grenzen gleich.

Was wir hier aber mal beachten könnten ist, dass es garkeine Sinusschwingung in der Klangerzeugung selbst gibt, wie wir von herkömmlichen Instrumenten gewöhnt sind, erst durch Interferenzen und in der Übertragung einer Gesamtschwingung durch die Luft bilden sich sinusartige Erscheinungen heraus, weil das in der Natur der Welle und des Mediums liegt.

Der SID Chip selbst als Synthesizer erzeugt nach übereinstimmenden Informationen Rechteck, Sägezahn, Dreieck und Rauschen als Wellenformen, wobei ich nicht weiß, ob das Rauschen überhaupt tonal anwendbar ist oder eben nur ein gleichbleibendes Rauschen.

Lassen wir das Rauschen als Monochrom erstmal so stehen, würde ich ganz intuitiv die Rechteck Oszyllation von den beiden Sägezahn und Dreiech Wellenformen unterscheiden, sie Werden in den Registern auch separat angesprochen.

Nicht sofort auffallend aber beachtenswert ist der Umstand, dass Rechteck keine eigentliche Wellenform ist sondern nur ein Puls, der sich ähnlich einer möglichen Interpretation der Syntonik aus dem abwechselnden Auftreten zweier äußerer Grenzwerte ergibt, dazwischen ist nichts, weder etwas, das einer Wellenform ähnelt noch sonst irgendwas, und das klingt auch entsprechend etwas hohl. Die Klangeigenschaften werden durch die so genannte Pulsweite definiert, was nicht wirklich einer Sinusfrequenz auch nur ansatzweise ähnelt aber durchaus die wahrnehmbare Tonhöhe manipuliert.

Die tatsächlichen Wellenformen dreieck und Sägezahn können wohl als geradlinige Annäherung an eine Sinusschwingung interpretiert werden, und so haben wir hier neben dem Rauschen zwei völlig unterschiedliche Grundprinzipien der Klangerzeugung dazu eben die Ansteuerung über sechzehnstellige, binäre Datenregister, die aber nicht insgesamt sechzehn Bit haben, sondern tatsächlich zwei benachbarte acht Bit Register sind, die als LowByte und HighByte verarbeitet werden. Nebenbei bemerkt verlassen die oberen Bit des HighByte insgesamt locker den vom Menschen hörbaren Bereich, es kann also auch etwas wie Ultraschall erzeugt werden. Infraschall dagegen ist nicht möglich, weil der Oszyllator nicht so tief, auch nicht wirklich im Bassbereich vernünftig schwingen kann, wie Experimente Zeigen. Der SID ist quasi ein Instrument für den mittleren Bereich, der nach oben hin theoretisch offen ist bis zu einer Frequenz von etwa 65 Kiloherz! Das erfordert in jedem Fall, wenn nicht ein eigenes Tongeschlecht, so zumindest eine möglichst passende Poetik.