Het gebruik van script studercomm.pl.


 


Naar de hoofdindex

Naar de RS-232 index


 
webmaster info
 

 

 
Monitor
Tape deck monitor

Hierna volgt informatie over het gebruik van script studercomm.pl en configuratiebestand studercomm.conf. Voor de communicatie met de tape recorder is het van belang dat u een lijst met alle beschikbare commando's heeft. De lijst voor 2-kanaals recorders vindt u hier, de lijst voor de meerkanaals A820 en A827 vindt u hier.

Installatie Perl.

Voor het gebruik van het script moet Perl versie 5.10 of hoger geinstalleerd zijn. Vanuit een terminal of DOS-box kunt u controleren of Perl al geinstalleerd is met commando perl -v (enter). Zo niet, zie uw distributie-set (Linux). Anders kunt u Perl downloaden vanaf de Perl website. Naast de Perl interpreter zijn er twee Perl modules nodig (voor Windows 1). Voor Linux/UNIX zijn dat de Perl modules Term::ReadKey en Device::SerialPort. Ook deze zijn te vinden in uw distributie-set of anders te downloaden bij CPAN. Voor Windows is er één Perl module nodig, nl. Win32::SerialPort (geldt ook voor 64-bits Windows). Ook deze is te downloaden bij CPAN.
Installatie van de modules vanaf CPAN vergt in ieder geval administrator of root rechten (sudo of su), daarnaast vraagt het enige kennis van make/install procedures. Informatie daarover voor uw besturingssysteem vindt u hier en hier.

Het Perl script.

Mei 2018: Versie 2.0 staat klaar. Diverse problemen met flow control (xon/xoff) en local echo aangepakt. Met dank aan Jacob Korn voor z'n inspanning. Jacob werkt aan het toegankelijk maken van analoge synthesizers via MIDI. Aanrader voor musici.

Er zijn twee versies van script en het configuratiebestand. Een versie voor Linux, UNIX en OSX (met LF regeleinden) en een versie voor Windows (met CR/LF regeleinden). Geef een rechterklik op de link en kies voor Opslaan om de bestanden te downloaden. Voor Linux, UNIX, OS X:

Voor Windows (32 en 64 bits):

Na download moeten de bestanden in dezelfde directory staan. U kunt het script vanaf de commando prompt met perl studercomm.pl starten.

Configuratiebestand studercomm.conf.

Als Perl en de modules geinstalleerd zijn moet eerst in configuratiebestand studercomm.conf de seriële poort worden opgegeven. Daartoe kan studercomm.conf met iedere text-editor gewijzigd worden. Regels beginnend met '#' gelden als commentaarregels, die worden genegeerd. Er moet één regel 'Commport=' staan die de juiste seriële poort vermeldt. Voor Windows bijvoorbeeld Commport=COM3.
Wanneer de goede seriële poort ingevuld is kunt u met het script beginnen. De andere opties bevatten al waarden die in veel gevallen geschikt zijn.

De opties Baudrate, Databits, Stopbits en Parity zijn voor het instellen van het RS-232 protocol. De waarden hier moeten overeenstemmen met de RS-232 instellingen van de tape recorder. De standaard waarden zijn 9600,8,1,none, die zijn in de meeste gevallen correct.

Optie CapsOn is bedoeld voor gebruik in terminal modus. Het converteert alle invoer van het toetsenbord naar hoofdletters voordat die naar de tape recorder gaan. Staat aan, kan hier uitgezet worden.

Via optie Readdelay kan de communicatie iets versneld of vertraagd worden. Dat gebeurt door hier een lagere (sneller) of hogere (langzamer) waarde in milliseconden op te geven. Studer heeft weliswaar XON/XOFF flow control ingebouwd, maar de implementatie ervan is niet in alle modellen gelijk. Een te lage waarde leidt tot fouten, een te hoge waarde vertraagt enigszins. Waarde 100 is betrouwbaar gebleken bij baudrate 9600.

Optie Monitordelay werkt als 'Readdelay', maar alleen tijdens het monitoren van de tape deck. Dit i.v.m. de veel grotere hoeveelheid data tijdens die functie. Waarde 160 is hier standaard.

Met optie Pidfile kan een andere naam voor het .pid bestand (process id) worden opgegeven. Dit is alleen voor Linux, OSX en FreeBSD van belang.

Met optie Debugfile kan een bestandsnaam voor een debug-bestand worden opgegeven. Dit is een leesbaar .txt bestand waarin per run alle communicatie tussen computer en tape deck wordt vastgelegd. Nuttig in het geval van fouten.

Het Perl script starten.

De aanbevolen werkwijze is het draaien vanaf een commando prompt, dan krijgt u steeds alle meldingen van het programma te zien. Als u eenmaal het juiste commando heeft gevonden kunt u het via een snelkoppeling starten.
Vanuit Windows: Kies voor Start, Uitvoeren en daarna cmd.exe. Ga naar de map waar studercomm.pl en studercomm.conf staan en start het Perl script met: perl studercomm.pl
Voor Linux/UNIX: Open een terminal en ga naar de studercomm directory. Start het script met perl studercomm.pl U kunt het script executable maken. Zet daartoe het execute bit met chmod +x studercomm.pl Dan moet de eerste regel van het script het volledige pad naar de Perl interpreter bevatten. Dat pad is te vinden met whereis perl Daarna kunt u het script starten met alleen studercomm.pl.

Bij iedere start probeert het script eerst een verbinding op te bouwen via de in studercomm.conf opgegeven seriële poort. Als dat lukt zal het script machine type en serienummer en/of software datum van de tape deck opvragen. Daarna begint de verwerking. Machine type en nummer/datum worden gebruikt voor alle uitvoerbestanden. De naamgeving daarvan ziet er zo uit:

  tttt-nnnnnn-logischenaam-yyyymmdduumm.txt
Daarin staat tttt voor het type (bijv. A807), nnnnnn staat voor het serienummer of de software-versie.

Command line opties.

Bij een start zonder argumenten maakt het script twee bestanden aan. Bestand met naam report is een leesbaar overzicht van alle audio parameters, samengesteld op basis van het commando AP?. Hier een voorbeeld.
Daarna volgt een bestand met de naam restore. Dat bevat alle commando's om de gelezen audio parameters terug te schrijven naar de tape recorder. Daarvan hier een voorbeeld. Terugschrijven ervan kan met command line argument -b (zie verderop).
Gedurende dit proces probeert het script de instellingen voor bandsoort, -snelheid en CCIR/NAB te veranderen om de bijbehorende audio parameters te lezen. Dat kan te zien kan zijn aan de LED's op de tape deck.

Voor sommige machines/software-versies geldt dat bandsoort, bandsnelheid en equalization niet vanuit de software veranderd en gelezen kunnen worden. Dat is bijv. het geval wanneer de bandsnelheid alleen per mechanische schakelaar veranderd kan worden. In dat geval bevatten het bestand alleen de audio instellingen parameters voor de actueel ingestelde bandsoort, bandsnelheid en equalization. U kunt in dat geval de instelling op de tape deck veranderen en studercomm opnieuw starten, om zo alsnog een volledig overzicht te krijgen.
Zonder command line optie worden geen parameters naar de tape deck geschreven.

Optie -a.
Met perl studercomm.pl -a worden de audio parameters behorend bij de huidige instelling van de recorder (bandsoort, bandsnelheid en CCIR/NAB) naar een bestand met naam current-set geschreven. Per regel bevat het een commando (SAP) om de gelezen parameter terug te schrijven naar de recorder. Dat terugschrijven kan met optie -b, zie verderop. Met optie -a schrijft het script geen data naar de tape deck.

Optie -b <naam-invoerbestand>
Met optie -b wordt het opgegeven .txt bestand, zoals gemaakt met optie -a, gelezen en per regel naar de recorder gestuurd. Iedere regel mag 1 commando bevatten. Met deze functie kunnen de bestanden current-set en restore terug naar de tape deck worden geschreven. Een gedeeltelijke of gehele restore van de audio parameters dus.
Let op: Wanneer hier een gedeeltelijke restore uitgevoerd wordt (altijd met current-set en soms met restore) dan is het van belang dat eerst de tape deck wordt ingesteld (bandsoort, snelheid en equilization) zoals dat was toen het restore-bestand werd gemaakt. Anders kunnen bijv. de parameters van bandsoort A over die van bandsoort B worden geschreven.
Wanneer de bestandsnaam een spatie bevat moet de naam tussen quotes gezet worden.
Met optie -b worden audio parameters in de recorder overschreven met die uit het bestand.

Optie -c <recorder-commando> [ <invoerbestand | >uitvoerbestand ]
Met optie -c kan vanaf de command line een enkel commando naar de recorder worden gestuurd. Voor commando's die veel input data vergen kan een invoerbestand opgegeven worden, voor commando's met veel uitvoer een uitvoerbestand. Een paar voorbeelden.

  perl studercomm.pl -c PLY
  perl studercomm.pl -c STP
  perl studercomm.pl -c TM?
De eerste voert het commando PLY uit, dat is hetzelfde als op de PLAY-toets drukken. De tweede stuurt een STOP-commando. Zo zijn ook FWD, RWD, REC en LOC beschikbaar. Ook meer complexe commando's zijn mogelijk:
  perl studercomm.pl -c "D 108 26E >ram-108-26e.txt"
Hier is het commando D 108 26E (toon het RAM-geheugen vanaf adres 108 hex tot en met adres 26E). Het commando bevat spaties, vandaar de quotes. Het antwoord van de tape recorder wordt hier naar bestand ram-108-26e.txt geschreven.
  perl studercomm.pl -c "SPA >backup-td-au.bin"
  perl studercomm.pl -c "LPA <backup-td-au.bin"
Command SPA (Save PArameters, alleen A812, A816 en A820) bewaart alle parameters uit de recorder, die gegevens worden in dit voorbeeld naar bestand 'backup-td-au.bin' geschreven. Alles achter -c geldt als een enkel argument, als er spaties in zitten moet het geheel tussen aanhalingstekens geplaatst worden. Met SPA wordt een volledige backup gemaakt. Met LPA (Load PArameters) en hetzelfde bestand als invoer wordt dus een volledige restore uitgevoerd.
Met optie -c kan dus van alles naar de recorder geschreven worden. Voorzichtig, dus.

Optie -h
Deze optie toont een kort overzicht van de verschillende start-opties van studercomm.pl.

Optie -m
Monitor de tape deck. Deze optie gebruikt commando 'DST' om een lopende status van de tape deck te tonen. Zie de schermprint rechts. Hierbij kunnen op Linux, OSX en FreeBSD m.b.v. het toetsenbord commando's PLAY, STOP, FWD, RWD, REC en LOC worden gegeven. Onder Windows toont deze functie alleen de lopende status. Dit omdat Windows afaik geen mechanisme kent om toetsaanslagen op te vragen tijdens het voortdurend lezen van de seriële poort.

Optie -t
Deze optie start de terminal modus. U kunt hiermee commando's typen en het resultaat direct bekijken. Handig om dingen uit te proberen. Ook kan de recorder nu vanaf de computer bestuurd worden, bijv. met PLY, RWD, FWD, REC, STP en LOC. U kunt de terminal verlaten met quit, exit of bye.

Een praktisch voorbeeld.

Laten we aannemen dat we een A810 willen gebruiken om een opname te maken die afgespeeld moet worden op een 4-sporige Revox B77. Het opname niveau van de 2-sporige A810 is normaliter veel te hoog voor een 4-sporige B77. We moeten dus tijdelijk het opname niveau van de A810 met zo'n 40% verlagen. Eerst stellen we de A810 op de gewenste manier in, bijv. snelheid 19 cm/sec en NAB.
Vervolgens halen we de actuele audio parameters op met:

  perl studercomm.pl -a
De parameters worden in bestand A810-123456-current-set-201804271130.txt gezet. Daarin zien we onder meer het volgende:
  # Channel 1 & 2, 4=record level, hex value.
  SAP 1,4,8C
  SAP 2,4,8C
Het recording level bij 19 cm/sec en NAB is voor beide kanalen dus de hexadecimale waarde 8C. Daar moet dus 40% vanaf. Berekenen gaat met de terminal:
  perl studercomm.pl -t

  Studercomm: Initializing port /dev/cuau3 to 9600,8,1,none... Okay
  Revox A810 found

  Studercomm, terminal mode: Type QUIT, EXIT or BYE to terminate.

  >hex 8c
  HEX 8C equals decimal number 140
  >dec 84
  DEC 84 equals hexadecimal number 54
  >SAP 1,4,54
  >SAP 2,4,54
  >
Met commando 'hex 8c' rekent het programma 8c om in de (decimale) waarde 140. Daarvan moet 40% af, dus 84. Commando 'dec 84' rekent de decimale waarde 84 om in de hexadecimale waarde 54. Die waarde schrijven we met de SAP-commando's voor de kanalen links en rechts naar de tape deck. We zijn nu klaar voor de opname.

Wanneer de opname gemaakt is moet het opname niveau van de A810 weer teruggezet worden. Daarvoor kunnen we het eerder gemaakt bestand gebruiken.

  perl studercomm.pl -b A810-123456-current-set-201804271130.txt

Foutmeldingen en mogelijke oorzaken.

Hierna een overzicht van de meestvoorkomende problemen tijdens de installatie van het script.

Ook andere fouten zijn mogelijk. Het script is niet alleen bedoeld voor gebruik met tien verschillende modellen, ieder model kent ook weer verschillende software-versies. Mocht u met zo'n fout te maken krijgen, dan kunt u bijdragen door het probleem te melden. U vindt mijn mail adres op deze pagina. Daarbij helpt een goede omschrijving van het probleem, aangevuld met een kopie van het foutieve uitvoerbestand. Een exemplaar van het debugbestand studercomm.dbg (met de data-overdracht, zie config-bestand) is daarbij ook zeer welkom.




Laatst gewijzigd op 8 december 2019.