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:

Természetesn lehet jobb minőségű felvételt is készíteni, de ezt később mindenképpen erre az alakra kell konvertálni, hogy a fenti programok használni tudják. (A konvertálást a beépített hangrögzítő meg tudja csinálni.)
FIGYELEM!
Előfordul, hogy a hangfájlt a programok nem ismerik fel, bár megfelel a fenti kritériumoknak. Ennek oka, hogy az egyes hangrögzító programok eltérnek a WAV formátumtól. Ekkor segít a Hangrögzítőbe betöltés, majd változatlanul kimentés.

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)