Pas de Soundfont format dream 94b a sf2

En aquest article indique formes de passar fonts emmagatzemades en format 94b (utilitzat per l’antiga Guillemot maxisound 64, la Home Studio, o la ISIS) a formats més recents que es poden carregar tant en sintetitzadors reals d’època com, per exemple, l’EMU10K1 de les SoundBlaster com en sintetitzadors per software actuals com el Fluidsynth.

Després d’analitzar molta documentació dispersa a internet, sols he pogut arribar a la conclusió que de moment, resulta bastant complicat automatitzar d’una forma efectiva el pas del format 94b a sf2. Respecte al format 94b, sembla una variant del TTS canviant sols certes marques. Ja que de fet, si utilitzem el conversor de 94b a TTS, la llargaria de l’arxiu és exactament la mateixa i sols canvien certes cadenes en una vista comparativa en un editor hexadecimal:

Malauradament, no he trobat documentació ni d’un format ni de l’altre. Tot i això, el cas és que amb l’edició d’un arxiu 94b senzillet utilitzant l’Audacity, ni més ni menys que carregant-lo utilitzant una importació de dades crues, es veu clarament que el format 94b no deixa de ser un contenidor de la part de mostra d’ona com si fos una successió d’arxius WAV, precedits d’una capçalera on s’indica els paràmetres de les mostres (tipus de mostreig, nombre de canals, asociació de cada mostra en quina/quines notes alhora de sintetitzar, etc). El cas és que a hores d’ara ni he acoseguit desxifrar-ho, ni he trobat documentació al respecte, però sí he trobat una manera d’aconseguir manualment fer el pas cap a sf2 (o qualsevol altre format).

La forma de realitzar el pas de forma totalment manual, és simplement editant en l’Audacity i descomponent les diferents mostres que trobem i emmagatzemant-les en diferents arxius WAV.

Com veiem a l’exemple, es tracta visualment de dues mostres d’un mateix instrument fàciment extraïbles (copypaste i exportació a WAV). Aquestos arxius obtinguts mitjançant aquest sistema, caldrà utilitzar-los després per generar un contenidor sf2 similar al 94b original utilitzant l’Swami o el Polyphone, carregant les mostres i associant-les a la nota/notes corresponents.

La recopilació d’informació al respecte en els fòrums que treballen el tema (majoritariament “Vogons“) em va portar a un programa anomenat “Samplelink” d’una companyia anomenada Synoptic, i que es pot obtenir una versió de mostra en TheWayBackMachine, atès a que la companyia ja no existeix (i per tant, ja ni tan sols es pot comprar el programari). En eixa versió de mostra si que es pot carregar un arxiu 94b i t’indica quins instruments hi ha i quines són les mostres (i sobretot, quin n’és el seu tamany). La pega, és que no et permet en la versió de demostració el passar a sf2 (o cap altre format) perquè la seva limitació es justament el no escriure els resultats de conversió a un arxiu. A més, aquest programa està compilat per a sistemes Redmond, i ja no funciona en les versions actuals d’eixe sistema operatiu, tot i que sí que es pot fer marxar en Linux sota WiNE.

Es en aquest context, on sí que vaig intentar almenys semiautomatitzar el procés, per això vaig fer el programa getlast a l’estiu del 25, on l’usuari és capaç de fragmentar un arxiu indicant quins són els darrers bytes que es vol obtenir de l’arxiu 94b (i genera també un altre arxiu amb el contingut complementari), obtenint teòricament eixe nombre de bytes de la longitud de la mostra que indica el Samplelink (i podent iterar el procés); d’esta manera extraguem inductivament les mostres allotjades en el 94b i les podem passar a WAV de manera un poc més automatitzada que la visual en copypaste. Seguidament, caldria incloure la capçalera d’arxiu WAV, la qual cosa és fàcilment realitzable. Amb tot, caldrà finalment recòrrer al Polyphone o a l’Swami per tal de generar l’arxiu de fonts sf2.

La capçalera dels arxius 94b conté molta informació encodificada d’una forma bastant enrevessada i que em portaria molt de temps esfilagar-la. Tot i això, en aquest article presente les conclusions que he obtingut en les fonts mencionades i una manera d’eixir del pas (almenys en el meu cas que sí he pogut recuperar les fonts originals que tenia ja sols en 94b mitjançant els procediments relatats), alhora que espere que serveixca per si algú es fa endavant en cap projecte més ambiciós al respecte.