Fehlerhafte Wiedergabe bei PSID, Ultimate-Player oder Cracks von SID Dateien

Es gibt 114 Antworten in diesem Thema, welches 24.066 mal aufgerufen wurde. Der letzte Beitrag (12. Februar 2016 um 16:57) ist von androSID.

  • Prädikat "fehlerhaft" für die aktuelle HVSC Version ist hoffentlich vom Tisch.

    Meine im alten Package war übrigens die selbe Datei -selbe Checksum, identisch- wie ja auch vorher schon gesagt, nur dass im selben Ordner eben noch diese "_PSID.sid" Dateien als Zusatz mit dabei waren.

    Naja, angeblich soll diese aktuelle Datei ja nicht zu 100% korrekt (also doch 'fehlerhaft') sein bzw. nur im Spiel richtig getimed sein. Das war ja das Anfangs- und Grundthema hier.
    Obwohl du und ich da keinen Fehler im Timing herausgehört haben. Der Effekt also nur subjektiv für manche so 'rüberkommen könnte.

  • Es kann schon sein das Lieder mit Digis nicht 100%-ig exaktes Timing haben. Ein SID Emulator muss im Prinzip fast den ganzen C64 mit-emulieren damit das Timing wirklich passt. Ein guter Test wäre die .sid Datei mit VICE im vsid Modus auszuprobieren.
    Es kann durchaus möglich sein das Sidplay & Co. da noch kleinere Bugs haben.

  • Ich spiel jetzt kein Rainbow Arts shice game durch, um das zu verifzieren :D

    Dat is' schon das Intro. :) Kein Durchzocken nötig. Und bitte, das ist von Peter Theirolf ;) (Tunnel B1, Turrican 3 Amiga Umsetzung, Apidya Bitte melde dich an, um diesen Link zu sehen., und what not).

    Einmal editiert, zuletzt von CommieSurfer (26. Januar 2016 um 22:10)

  • Aber du hast doch jetzt nur die Abstände zwischen zwei Samples gemessen?
    Es geht doch um den Versatz der Samples gegenüber der SID-Stimmen, dachte ich.
    Also müsstest du eher den Abstand eines markanten Punkts mit SID Stimmen und eines Samples vergleichen...

    Hab das nochmal gecheckt. Syncron zu den SID Stimmen sind die Samples in beiden Versionen. Es gibt z.B. Momente wo ein Sound gleichzeitig zum Bassdrumsample angeknipst wird. Das ist immer korrekt auch nach mehrmaliger Wiedergabeschleife, kein Versatz oder Unterschied in den Versionen.

  • Das andere mit der scheinbar "unmerklich", leicht unterschiedlichen Abspielgeschwindigkeit werde ich dann auch noch noch 'mal deutlicher untersuchen, indem ich einen längeren ca. 2 Min. Ausschnitt als die obigen 30 Sek. wähle.
    Dann müsste der Unterschied der Tracklängen bei 2 Min. bereits knapp 0,5 Sek. (0,4 Sek / 400 Millisekunden) betragen.

    Hab jetzt noch 'mal einen jeweils gleichen u. etwas größeren Bereich/Abschnitt von 3:30+ Min. in Cooledit abgemessen. Anfang und Ende sehr exakt und jeweils gleich gewählt.
    Auch da ergab sich wie erwartet, dass das"_PSID-.sid" File halt im Ganzen (Samples und SID Sound) einen kl. Tacken langsamer läuft als die normale Version.

    Normale .sid Version in sidplay2 (win) : 3:43:244 Min.
    _PSID.sid Version in sidplay2 (win) : 3:43:702 Min.
    WIN VICE mit Antics Chip War Tap File (CHIPWAR.T64) : 3:43:652 Min.
    WIN VICE mit dem PlaySID (PSID) .prg File : Wert folgt noch..

    Anfang und Ende des abgemessenen Abschnitts halten wie gesagt jeweils an der exakt selben Sound-Stelle. Heisst also, wie schon vorher festgestellt, dass das _PSID File langsamer abläuft.
    Bzw. eher, dass das normale File geringfügig zu schnell abläuft :), denn das _PSID.sid liegt -wie man sieht- vom Speed her ja noch eher am Original (ViCE) als das normale .sid.
    Daher könnte also der wahrgenommene Timingunterschied auch kommen, weil alles im normalen .sid File einfach nur "zu schnell" / "zu rasant" passiert ! Und das _PSID File wurde also deswegen diesbzgl. hier im Thread als besser wahrgenommen (nicht bezogen auf den schlechteren/leiseren SID Sound darin natürlich), - weil es eben besser mit dem künstlerisch gewollten Originalabpielspeed übereinstimmt.

    [Ob mit der "save as.." Option in SIDPlay oder live mit der "what you hear" Einstellung des Soundblasters während der Wiedergabe das zu untersuchende WAV File erstellt worden ist.., macht keinen Unterschied in der jeweiligen Länge bzw. Abspiel-Geschw. . Das hatte ich, um auch wirklich 'alles' an Eventualitäten auszuschliessen, halt nun auch noch als eine Idee geprüft gehabt.]

    6 Mal editiert, zuletzt von CommieSurfer (27. Januar 2016 um 04:06)

  • WIN VICE mit dem PlaySID (PSID) .prg File : Wert folgt noch..

    Ok, hier ist er:
    WIN VICE mit dem PlaySID (PSID) .prg File : 3:43:304 Min.

    Ist also wie erwartet, -denn auch diese PlaySID .prg Datei wurde von SID Spieler als 'falsch' eingestuft-, letztendlich gleich im Speed wie das .sid File mit 3:43.244 Min. .
    Also auch "zu schnell" / "zu rasant" im Vgl. zum vermeintlichen Original (im Spiel).

  • Ok, sehr viel Verwirrung hier, ich versuche mal von Anfang an zu erklären:

    Kurzfassung:
    Diese _PSID.sid files sind nicht für echte SID chips geeignet!

    Das heißt aber im Umkehrschluss auch, dass die jetzigen *_PSID.prg in der HVSC vom Format her eigentlich richtiger *_RSID.prg heißen müssten, oder?

    Kein Wunder, dass man verwirrt ist, wenn das gleiche Kürzel unterschiedliche Formate beschreibt (und man die Geschichte der Formate nicht kennt)! ;)

  • Der Unterschied kann z.B. daher kommen (habs nicht wirklich überprüft, ist aber plausibel):

    Im Original läuft die Musik Routine im Raster IRQ, also mit 50,125 Hz. Die Samples werden mit einem CIA2 Timer NMI abgespielt, d.h. mit einer bestimmten Frequenz.
    Bei der Konvertierung für PlaySID Sample Register hat der Ripper die Timer Frequenz übernommen (wie oben in der Dokumentation beschrieben), jedoch spielt PlaySID (und ähnliche Emulatoren, wie z.b. Sidplay im PlaySID Modus) die Musik mit exakt 50Hz ab, weil hier nicht die ganze C64 Hardware emuliert wird. Die 50,125 Hz ergeben sich ja durch den CPU Takt von 985248 Hz und die 312 Zeilen die der VIC ausgibt die jeweils 63 Zyklen lang sind (985248/312/63 = ~50.125). Wird das nicht richtig berücksichtigt (und mal ehrlich, der Unterschied ist minimal) dann kann sein das es zu leicht unterschiedlichem Timing kommt, weil die Musik zu langsam abspielt, aber die Samples nicht.

    Daher sind the _PSID.sid Dateien ja in Rente geschickt worden, exakt waren die nämlich nie. Die RSID Dateien die heutzutage in der HVSC sind brauchen auch keine _RSID.sid Endung. Die _PSID Endung wurde ja nur eingeführt um es zu erlauben das zwei Versionen des selben Liedes nebeneinander existieren können, in der Übergangsphase.

  • Vielen dank CommieSurfer für die ganze Mühe, wirklich Interessant.
    Es kann gut sein das es an der leicht unterschiedlichen Geschwindigkeit liegt,
    das muss ich mir zuhause nochmal in ruhe anhören.
    Hab wieder eineges gelernt hier :D

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Danke. :) Hab' auch darauf geachtet, das z.B. die VICE Emulation nicht gestockt hat in der Ausgabe und soweit flüsssig lief, sonst könnte ja auch daher das gestrechtere kommen. Dann wäre es aber auffälliger, noch länger, hätte da richtig etwas gehakt.
    --
    Das was mrsid gerade geschrieben hat, macht jetzt zumindest z.T. keinen Sinn, nach den Messergebnissen. Denn demnach hätte ja das PlaySID .prg File in VICE (und auf realer Hardware - das tat SIDSpieler testen) in der selben Geschwindigkeit ablaufen müssen, wie das CHIPWAR.TAP Prg. in VICE. Es (das PlaySID .prg) war aber im Grunde genauso vermeintlich "zu ransant" beim Abspielen wie das .sid File in sidplay2 (win).
    In Sidplay2 kann man auch unter Emlation "Real C64 environment" einstellen, dann sollte es zumindest auch CIA exakt laufen. Naja, so könnte man jedenfalls meinen. So war es jetzt bei den Tests auch gesetzt + PAL natürlich.

    Ich poste später nochmal Werte, die jeweils einen kompletten Durchlauf des Tunes (5 Min. irgendwas ist das insg. lang, dann beginnt es von vorne) umfassen. Dann fühlt sich das als Ergebnis und für Mitleser noch einfacher zu verstehen an. Und man braucht dann auch nur einen exakten Punkt in der (natürlich bis ins Molekulare ;) ) hereingezoomten Waveform sich heraussuchen. Weil ja der Anfangs- und Endpunkt dann bei einer Komplettdurchlauf-Messung die 'selbe' Stelle darstellt.

    2 Mal editiert, zuletzt von CommieSurfer (27. Januar 2016 um 14:24)

  • Die genaue Länge ist 4:49

    Acid64 zusammen mit JSidplay ist auch eine gute Komination,
    da kann man alle möglichen SID-Modelle auswählen

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Ok, hab' ich mir mal gesaugt. Da hab' ich ja noch bissl 'was zu tun.. :) .
    Von einem echten C64 nehme ich das gleich auch zusätzlich noch auf. Von einem D64 File des Spiels das ich in die UK1541 schmeisse, und von der PlaySID .prg Variante.

    Da ich meine Mega Drive Module letztens OST mäßig über den SB Audigy2 (Line In) aufgenommen habe, liegt hier nämlich eh noch das Klinkensteckerkabel parat am Line-In EIngang herum. Dann kommt da also gleich auch 'mal ein C64 zwecks Aufnahme dran.


  • Daher sind the _PSID.sid Dateien ja in Rente geschickt worden, exakt waren die nämlich nie. Die RSID Dateien die heutzutage in der HVSC sind brauchen auch keine _RSID.sid Endung. Die _PSID Endung wurde ja nur eingeführt um es zu erlauben das zwei Versionen des selben Liedes nebeneinander existieren können, in der Übergangsphase.

    Ja, aber es gibt ja auch noch jetzt das Archiv HVSC64_PSID64_packed.7z von der HVSC-Seite runterzuladen.
    Da drin sind aber nicht die früheren _PSID.sid Files, sondern sämtliche .sid Files aus HVSC als .prg

    Was ich also daraus gelernt habe: Bitte melde dich an, um dieses Bild zu sehen. PSID64 != PSID

    (Ich hätte schwören können, dass nicht nur das Archiv "PSID" im Namen hat... :schande: )

  • PSID64 macht aus PSID Dateien (genauer PSIDv2NG Dateien) normale C64 Programme.
    Das PSIDv2NG Format kann ein RSID sein (hat dann allerdings die RSID Kennung anstatt PSID).

  • Habe eben 'mal meinen Checksumprüfer / -Errechner (MD5 Hash) für etwas diesmal anderes bemüht. Und zwar die PlaySID .prg Dateien aus dem "HVSC64_PSID64_packed.7z" Archiv mit denen aus dem "HVSC64_PSID53_packed.rar" verglichen.
    Alle Dateien gleichen Namens haben eine unterschiedliche Checksum. Irgendetwas hat sich da also zwischen v53 und v64 dieses bestimmten PlaySID .prg Packages verändert bei diesen .prg Dateien.
    Kann natürlich auch nur der Header sein o.ä. der sich geändert hat, das wäre dann also etwas unrelevantes für den Sound.


    Das nur so jetzt nebenbei. Ich verwendete 'aber eh' immer die aktuellen Packages bei den Tests bisher.
    Und die normalen .sid Files sind seit Urzeiten wohl in 'allen' Fällen bis heute gleich geblieben. Da habe ich wie gesagt keine Unterschiede in den Checksummen der Files von meinem älteren sid Package (noch älter als v53) verglichen zum zum aktuellen Package_v64.

    Einmal editiert, zuletzt von CommieSurfer (27. Januar 2016 um 18:56)

  • Erhm... also bei dem gezippten Kram (dem PSID)

    variiert bereits auf den allerersten Blick sooo vieles (Range, Size, Abspielverfahren usw.) gegenüber

    Bitte melde dich an, um diesen Link zu sehen.


    dass man eigentlich keinen Checksummer braucht, um festzustellen, dass die Files sich stark unterscheiden :)

  • Jetzt wird's doch wieder einfacher evtl.:
    Ich habe nochmal die selbe Aufnahme in VICE mit dem selben T64 File gemacht, ausserdem von einem .d64(FCC crack). Je meher gleiche Aufnahmen, desto besser, um

    Diesmal erhalte ich aber gleiche Werte zum normalen .sid File !, also dies:

    WIN VICE mit Antics Chip War Tap File (CHIPWAR.T64) _ nochmal rec : 3:43:192 Min.
    WIN VICE mit Antics Chip War Tap File (Chip_War_(FCS).d64) : 3:43:184 Min.

    Die 12ms sind natürlich völliger Toleranzbereich, diese Versionen des Spiels laufen also garantiert identisch ab ;).


    Scheint also so, dass die Abspielgeschwindigkeit doch soweit korrekt ist bei den .sids ! Sie dem Original im Spiel entspricht. Und einzig das out of date _PSID.sid File mit seinen 3:43:702 Min. eben etwas zu langsam abläuft.. .

    Da muss die Emulation des VICE gestern Abend am PC wohl nicht 100%ig gleich schnell zu heute abgelaufen sein. Diese 400ms Unterschied im Vgl. zu gestern über 3 Min. hinweg sind zwar immernoch ziemlich 100% 1:1 Speed, aber nicht perfekt eben. :)
    [Das kommt davon wenn man Emulatoren benutzt, die alle nur so lari fari ihre Emulationsschritte, wenn gerade der nicht multitasking fähige PC bereit ist, abarbeiten. Emulatoren müssen ja nicht in jedem Moment cycle exakt sein, um zu 100% zu funktonieren und etwas emulieren zu können, weil sie nicht von aussen das Timing (über die 50 HZ) aufgezwungen bekommen, u. auch nicht von innen (den ICs), nicht syncron zu einer z.B. Floppyhardware agieren müssen, usw. . Diese Zeit existiert für Emulatoren also quasi nicht. Die können leider "anhalten" / warten, langsamer machen, schneller machen, wann immer sie wollen oder es benötigen - es stört die reine Funktionalität der Emulation nicht (keine Abstürze oder irgendetwas).]

    Die VICE (T64) wav Datei von gestern habe ich auch nochmal erneut bemessen, das Ergebnis ergibt das selbe wie gestern [3:43:652 Min.]. Also liegt's schonmal nicht daran, dass ich heute besser gemessen hätte.
    Sondern, wie erwähnt, an einem schnelleren Emulationsablauf des VICE heute.

    ---

    Anyway, gleich folgen die versprochenen Gesamtwerte samt Aufnahme von einem org. C64.

    Einmal editiert, zuletzt von CommieSurfer (27. Januar 2016 um 20:08)

  • So, ich habe von insg. fünf originalen C64er jeweils 3x den Track* über Line-In des SB + Cooledit aufgenommen. *Daher dauerte es etwas 'länger'. :)
    Hier also nochmal so richtig brauchbare und exakte Werte. Die umfassen immer je Testfile einen kompletten Durchlauf des Titelstücks.

    Vorweg: Es gibt keinen Geschw.-Unterschied beim Abspielen zwischen sidplay2 mit dem normalen .sid File und einem realen C64 / VICE & whatever. Solange VICE und sidplay glatt und ungestört emulieren dürfen / durchlaufen.
    Und auch die Abspielgeschwindigkeit bzgl. org. d64 oder T64 Spiel und PlaySID .prg ist die gleiche !
    Einzig richtig aufällig ist, wie mrsid in Post 49 auch schonmal doch ganz richtig bemerkte, dass diese alten _PSID.sid Files (die von früher) ca. 0,75 Sekunden für einem Durchlauf des Tracks länger brauchen und diese damit nicht so ganz dem Originalspeed entsprechen.


    C64 Assy250466 Nr.1 (SID 6581 R4):

    Chip_War_(FCS).d64: 4:47.270 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.270 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.269 Min.


    ---


    C64 Assy250466 Nr.2 (SID 6581 0383):

    Chip_War_(FCS).d64: 4:47.297 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.296 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.296 Min.


    ---


    C64 Assy250407 Rev.C (SID 6581 R4AR):

    Chip_War_(FCS).d64: 4:47.261 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.261 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.261 Min.


    ---


    C64G Assy250469 Rev.4 (SID 8580):

    Chip_War_(FCS).d64: 4:47.269 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.269 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.269 Min.


    ---


    C64R (VIC 6569 R3, SID 8580):

    Chip_War_(FCS).d64: 4:47.253 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.253 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.253 Min.


    ---


    VICE (.wav live aufgenommen per "What U Hear" der SB Aufnahmesteuerung + Cooledit):

    CHIPWAR.T64: 4:47.280 Min.
    Chip_War_(FCS).d64: 4:47.280 Min.
    Antics_Chip_War.prg (PSID Package v64): 4:47.280 Min.
    Antics_Chip_War.prg (PSID Package v53): 4:47.280 Min.


    ---

    SidPlay2 (v2.6) (.wav mit der "save as.." Option des SidPlayers erstellt):

    sidplay2 + normales .sid File: 4:47.284 Min.
    sidplay2 +_PSID.sid File: 4:48.015 Min.


    Anm.: Interessant ist, dass in Anführungsstrichen "jeder" C64 leicht individuell bei der Ablauf-Geschwindigkeit ist. Ich denke mit dem SID oder Revision von irgendwas und blah hat das nichts zu tun, das an Info habe ich auch einfach nur so wegen der Optik mit dazu geschrieben. Eher liegt's wohl daran, dass jeder Taktgeber (bspw. der Quarz und alles was dann noch so ähnliches in der Art in einem z.B. C64 vorkommt) in jedem Computer leicht unterschiedlich in seinem festen Taktspeed abschneidet, wegen Fertigungs-Toleranzen eben (und keine 10000%ige Eichung bei solcher 'Massenware' gewissermaßen, weil auch nicht unbedingt jetzt bis ins allerletzte nötig..).
    Ausserdem haben ja, soweit ich weiß, die C64er bis Assy407 noch einen good old / bzw. anderen Taktgeberaufbau und keinen 8701 z.B., welcher dann ab der Assy425 verbaut war.

    Exemplar Assy466 Nr.2 scheint rein durch Zufall (Exemplar Assy466 Nr.1 ist dann ja wieder normal) der am langsamsten ablaufende C64. Assy407 der schnellste unter den hier getesteten. Nur noch getoppt vom C64Reloaded (C64R) ;).
    Da hat Jens wohl ein bischen an der Schraube gedreht, um den Nachbau auch bloß nicht "langsamer" sondern eher schneller zu machen ;) (*Scherz*).

    3 Mal editiert, zuletzt von CommieSurfer (28. Januar 2016 um 03:16)