Adlib: Instrumente

  • Grüße,


    hat wer eine Übersicht mit welchen parametern sich welche Instrumente recht gut nachbilden lassen?

    Es soll zwar Instrumentenbänke für Adlib geben, aber außer der definition des Dateiformats habe ich nichts gefunden. (siehe vorletzte Seite in der PDF)


    PS.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Grüße, hat jemand eine Idee was Register 8 macht?


    08: CSW / NOTE-SEL:
    D7 Composite sine wave mode on/off.
    D6 NOTE-SEL. Controls the split point of the keyboard. When 0, the
    keyboard split is the second bit from the bit 8 of the F-Number.
    When 1, the MSb of the F-Number is used.


    CSW - Composite sine wave mode - wird wohl für sprachsynthese genutzt, aber Note-Sel?

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • CSW wurde meines Wissen nach nie verwendet. Habe das auch gelesen mit der Sprachsynthese, aber IIRC selbst der OPL3 hat das schon nicht mehr.


    Aus meinem Franzis' Sound Blaster Buch kann ich gerade auch nicht erkennen, ob der OPL3 auf das Note Sel noch unterstützt. Zumindest die zweite Registerhälfte hat das Register 8 GAR NICHT mehr belegt. Ich denke das war gedacht für Keyboards, die auf dem OPL2 basierten, und Yamaha hat das beim Nachfolger weggelassen, als sich herausstellte, dass der Chip eher für Computer als für Keyboards verwendet wird. :)

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • Ok, also das NTS ist immer noch da beim OPL3, siehe Yamaha Datasheet. :)



    Allerdings ist auch deren Beschreibung absolut unverständlich:



    Meine Vermutung ist, dass man damit das hypothetische Keyboard in zwei Teile unterteilen kann z.B. um mehr Oktaven spielen zu können. Ist vermutlich bei PC Soundkarten total irrelvant...

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • btw. die frequenzen sind für nicht Musiker komplett verückt, das ganze wird über Frequenznummer, Block und Multiplikator eingestellt, wobei man den Multi normalerweise ignorieren kann, fur Musiker hingegen scheint das ganze hingegen einigermaßen sinnvoll:


    der Block kann als die Oktave angesehen werden - man braucht dann nur noch die F Nummer auszurechnen - wobei die Tabelle (letzte Seite in der PDF) teilweise falsch ist: Blocknummer -1 entspricht sowohl der tatsächlichen nummer, als auch der Oktave.

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Meine Vermutung ist, dass man damit das hypothetische Keyboard in zwei Teile unterteilen kann z.B. um mehr Oktaven spielen zu können. Ist vermutlich bei PC Soundkarten total irrelvant...

    Der "Split" bei einem Keyboard ist dafür gedacht, mit der linken Hand das Bassinstrument und mit der rechten Hand ein anderes Leadinstrument spielen zu können. Mit dem Split Point legt man die Taste fest, bei der die Trennung geschieht.


    Dürfte für Soundkarten tatsächlich absolut irrelevant sein.

  • Die Frequenzerzeugung bei der Adlib ist volkommen gaga...

    Man muss die Frequenznummer einer Blocknummer eines Multiplikators für die Zielfrequenz berechnen....


    Letztlich löse ich das indem ich Multiplikator und den Block in je einer Schleife durchlaufen lasse, dazu jeweils die Frequenznummer berechne und anschließend Rückwärts rechne wie nah ich an der Zielfrequenz bin.

    bisschen brute force, aber die berechnung ist nicht Zeitkritisch.


    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Hmm, woran ich jetzt garnicht gedacht habe: Block und Frequenznummer sind für beide Operatoren identisch, einzig der Multiplikator unterscheidet sich..

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Da kann man sich vermutlich eine vorbereitete Tabelle irgendwo hinlegen... Dann musst du nix mehr berechnen, einfach nur noch nachschlagen.

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • Wenn ich alle Frequenzen ausrechne sind das 1024*8*16 Kombinationen


    PS. Habe schon eine Tabelle für die Grundtöne A-F und #A-#F - für die Oktave muss dann einfach nur mit 2^x multipliziert werden


    BSP. A4 = 27,5Hz (A0)*16=440Hz


    Sowie eine Tabelle für die 128 Midi Noten


    Werde mir jetzt eine Übersicht über die möglichen Frequenzverhältnisse der Operatoren aufstellen anhand derer ich meine Routine entsprechend anpassen kann

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

    Einmal editiert, zuletzt von Dosenware ()

  • Hmm,

    alle Fequenzverhältnisse zusammengenommen haben wir 80 Varianten ( eigentlich 159, aber Ich sag einfach dass die Frequenz des zweiten Operators größer/gleich der des ersten ist)


    Ich bestimme für das gegebene Frequenzverhältnis z.b. 15:3 den kleinsten gemeinsamen Teiler um dann aus einer Tabelle den richtigen Eintrag rauszusuchen, in dieser Tabelle ist dann eine Bitmaske die vorgibt welche Multiplikatoren für den ersten Operand möglich sind um das vorgegebene Frequenzverhältnis zu erreichen.
    Dann wird für die möglichen Multiplikatoren die Variante gesucht die der vorgegebenen Frequenz am ehesten entspricht (closest match, siehe oben)

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Bei mir gehts wohl langsam weiter mit dem Programmieren - nachdem ich erstmal herausgefunden habe was ich damals so zusammengeschrieben habe (ja ja.. die Dokumentation -.- )


    Aber hier erstmal ein paar fragen:
    hat hier jemand etwas speziellere dokumentation für die Adlib?


    Mich interressiert:

    - Die Zeit von Attack, Release und Decay damit ich die länge von Tönen vorberechnen kann

    - Mit welchen Registerwerten sich welche Instrumente gut nachbilden lassen.

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Also ich habe von Franzis ja noch das Sound Blaster Buch. Das ist sehr detailliert. Ich kann da mal nachschlagen, ob da was zu den Themen drinsteht. Zur Not noch mal anpingen, wenn ich das vergessen sollte.

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • Ich kann nochmal nachschauen, aber afair waren die Bücher eher oberflächlich

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Ich kann nochmal nachschauen, aber afair waren die Bücher eher oberflächlich

    Naja, das von Franzis hat zumindest die DMA Programmierung erklärt. Das Buch von Data Becker hingegen ist sehr oberflächlich und geht nur auf die Programmierung mit den SoundBlaster eigenen Treibern ein, zum abspielen von .voc Dateien und den FM Songs.

    Ich habe im Franzis Buch noch nicht nach Adlib Programmierung geschaut, da mich nur DMA Sample Playback interessiert hatte.

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

    Einmal editiert, zuletzt von root_42 ()

  • DMA... hast du etwas zu Autoinit DMA playback von komprimierten Dateien gefunden? (aktuell gibts nur einen Interrupt und ich muss das Abspielen neu anstoßen, was an und ab zu knacksern führt - trotz buffer)


    Und ja... Data Becker ist was ich habe...

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • Autoinit ADPCM DMA müssten die Funktionen 7Dh und 7Fh sein. Sollte genauso funktionieren wie das normale Autoinit. Wenn du das noch nicht am Start hast, kannst du mein Video als Vorlage verwenden. Code hier:

    Externer Inhalt gist.github.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    Meine Vermutung ist, dass du die Single Play ADPCM Funktionen verwendet hast?

    root42 auf YouTube


    80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, GUSar Lite & TNDY & SnarkBarker, PC MIDI Card + SC55 + MT-32, XT CF Lite, OSSC 1.6

  • jepp, die Autoinitfunktionen funktionierten nicht, bzw waren in anderen Doku's nicht einmal aufgeführt

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

  • jepp, die Kommandos tauchen auch bei der ESS1868 nicht auf - Autoinit DMA hat bisher nur mit PCM funktioniert. Bei ADPCM geht nur Single Init

    Von allen Dingen auf Erden ist die Intelligenz am gerechtesten verteilt: Jeder glaubt, er hätte genug davon.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!