Egy kérés! Ha az itt leírtak akapján sikerül PTP fájlt készítened, légy szíves küldd el nekem is. Nincs túl nagy PRIMO szoftver gyűjteményem. Így a lapon publikálhatnánk a sikeresen átkonvertált anyagokat is.
Nem egyszerű. Miért? Nos a PRIMO hangfelvételről és a visszaolvasásáról mind a hardver mind a szoftver füzet ír. A hardver füzetben megtaláljuk a kimenet és a bemenet kapcsolási rajzát is. Ezek közül a bemenet a bonyolultabb, ugyanis a visszaolvasáskor a PRIMO-nak a jelet uniploarizálni és szűrni is kell. Mindezt a bemenet aktív erősítős fokozata tökéletsen elvégzi, ezért a PRIMO még aránylag rossz minőségű jeleket is képes beolvasni. Sanos a PC esetében nincs magnó interfész, így mindent magunknak kell csinálni.
Az eredeti elgondolásom az volt, hogy egy viszonylag egyszerű RC illesztéssel az LPT port egy bementi bitjén a visszaolvasás megvalósítható. Ez igaz is abban az esetben, ha a magnó és a felvétel minősége megfelelő. Ha viszont egy kicsit is rosszabb a minőség, akkor a PRIMO-ba épített erősítő/szűrő fokozat már mindenképpen szükséges. Mivel ilyennel nem rendelkezem és megépíteni sem volt kedvem, egy áthidaló megoldást választottam. Egy eredeti PRIMO gép képes beolvasni a magnóról a programokat, aztán, ha ezeket "kimentjük" és a PC hangkártyával közvetlenül ezt a kimenő jelet digitalizáljuk, akkor annak a minősége már feldolgozható lesz.
Két programot készítettem ehhez: az első wavview segítségével grafikusan meg lehet jeleníteni a WAV fájl tartalmát, amely alapján szemrevételezéssel eldönthető, hogy a hang feldolgozható-e és ha igen, milyen komparálási szintet kell választani ehhez.
A második program a wav2ptp, amely a megadott WAV hangfájlból megpróbálja kinyerni a PRIMO programot és ha sikerül, akkor a megadott PTP fájlba menti azt.
A WAV FÁJL ELKÉSZÍTÉSE
Ehhez a feladathoz szükséges valamilyen Windows alapú program, amely képes a hangkártya MIC vagy LINE-IN bemenetéről felvételt készíteni. A Windows beépített hangrögzítő (kellékek/szórakozás) programja is jó, bár azzal a benne levő korlátozás miatt nem lehet 1 percél hosszabb felvételt készíteni. A PRIMO kimenetét kösd rá a hangkátya megfelelő bementére. A felvételkor használj minél nagyobb bemeneti erősítést, az a jó, ha a PRIMO jelét minél nagyobb amplitúdóval tudod áttenni a WAV fájlba. A WAV fájlra nézve teljesülnie kell az alábbi kritériumoknak:
WAVVIEW
Amikor a felvétel megvan, meg kell határozni,
hogy milyen komparálási szinttel akarsz dolgozni. Erre szolgál a wavview program.
Ez szintén egy DOS-os, Windows alatt is működő program, amely standard VGA felbontású
grafikus képet (640x480, 16 szín) használ.
Paraméter nélkül indítva kiírja a megjelenítéskor használható billentyűket.
D:\work\PRIMO>WAVVIEW.EXE
USE: wavview wavfile
Control keys in graph
mode:
[Cursor-Left]
[Cursor-Right] moving one page forward/back
[+] [-] moving 10 pages forward/back
[Cursor-Up]
[Cursor-Down] change the "sampling level"
[ESC] Quit
EGY JÓ JELALAK
Elsőként nézzünk meg egy használható jelet. Ezt közvetlenül a PRIMO magnó kimenetéről mintavételeztem:
Az zöld színnel feltüntetett hullámalak a tulajdonképpeni hang. Jól látható, hogy a hangerő igen magas volt, ezért az impulzusok kitöltik a teljes értéktartományt. A vastag impulzusok a 0 bitet, a vékony impulzusok pedig az 1 bitet reprezentálják. A képen a fájl bevezető 0-1-0-1... impulzus sorozatot láthatjuk. Az is látható, hogy a pozitív-negatív tartományok miatt tulajdonképpen minden bit kétszer kerül a magnóra, egy teljes periódus ugyanis ugyanazt a bitet tárolja mindkét félben. A minatvételező program egyébként csak a pozitív tartományban dolgozik majd, ezért a szaggatott sárga vonallal be lehet állítani (illetve itt csak látni lehet), hogy mi legyen a komparálási szint. A komparálási szint alatti értékeket a feldolgozó program zajnak tekinti. Jelen esetben a jelalak olyan szabályos, hogy igazából nincs értelme a komparálási szintet megváltoztatni.
EGY ROSSZ JELALAK
A következő példa egy rossz mintavételezést mutat. Ebben az esetben a minatvételi frekvencia csupán 8000 Hz és az amplitúdó sem megfelelő:
Ebben az esetben a vékony (1 vagy 2 pixel széles) jelek amplitúdója sokkal magasabb, mint a vastag (4-5 pixel széles) jeleké. A minta talán feldolgozható, talán nem. Az esetek nagy többségében inkább nem.
MÉG EGY ROSSZ JELALAK
Most lássunk egy olyan WAV-ot, amelyet közvetlenül a magnóról mintavételeztem. A képen jól látható, hogy noha a jel amplitúdója és a mintavételi frekvencia is megfelelő, a különböző zavarok miatt ez a jel kiértékelhetetlen. Ezeket a zavarokat szűri ki a PRIMO magnó bemeneti interfész. (Az én programom azonban nem válllakozik erre algoritmikus úton.)
összefoglalva: a wavview programmal meg tudod nézni a digitalizált hang hullámalakját. Igyekezz olyan alakot elérni, amilyen a legelső ábrán látható, akkor az átalakítás PTP fájlba biztosan sikerülni fog.
WAV2PTP
Ez a program megpróbálja a megadott WAV fájlt feldolgozni és abból kinyerni a PRIMO programot. Használata igen egyszerű: meg kell neki adni a bemeneti WAV fájl nevét, a kimeneti PTP fájl nevét, illetve a komparálási szintet. Az alábbi példa egy sikeres átalakítás menetét mutatja:
D:\work\primo>WAV2PTP.EXE
copyks31.wav out.ptp 32
!!! Comparison limit set to 32 !!!
WAVE file IDs found
Sample frequency = 8000
8 bit samples, good.
WARNING: this is not a 22050 Hz sampled WAV
Noiselimit=0 bitlimit=3
DATA found, pos=44, length=298028
Press ENTER to parse the WAV or ESC to quit
SearchFileSync ...OK
#00 COPY BY K.S. 3.1 BASIC program
#01 Machine-code #02 END-block
Autotart addr=20480.
File append... (out.ptp)
DONE.
Mint fentebb írtam, az átalakítás sikere nagymértékben a bemenő WAV-ban tárolt hang minőségének függvénye, tehát nem tudok semmit sem garantálni. Mindenképpen próbáld az eredeti PRIMO kimenő jelét digitalizálni a fentebb megadott módon, akkor jól kell működnie az átalakítónak is. Nekem ez a módszer bejött.
PTP2WAV
Elkészült a PTP2WAV visszaalakító program, amely egy meglévő PTP fájlból WAV-ot csinál. Ennek segítségével a PC-n szerkesztett vagy készített programokat az eredeti PRIMO-n is vissza tudjátok tölteni. A visszaalakított WAV esetében a követelmények nem olyan szigúak, mint a PTP fáljok készítése esetében, ezért itt csupán 8000 Hz-es minatvételt alkalmaztam. A PRIMO ezt még biztonságosan vissza tudja olvasni. (Ha ezzel kísérletezel, kérlek írj e-mailt az eredményről. Jó, ha többen is tudjuk tesztelni.)
LETÖLTÉS
A wavview programnelérhető itt: wavview.zip
A wav2ptp
és ptp2wav konverterek elérhetők Varga Viktor
Primotools
GitHub oldalán.
A Win32 verziók közvetlen linkjei letöltésre:
(Joco, Varga Viktor)