scene.org File Archive

File download

<root>­/­resources­/­music­/­trackers/drtrack_exe.zip

File size:
364 572 bytes (356.03K)
File date:
2024-08-05 17:23:21
Download count:
all-time: 0

Preview

  • DRT.CFG 694B
  • DRT.EXE 47.96K
  • DRT.HLP 22.91K
  • DRT.htm 108.75K
  • DRT.TXT 101.14K
  • DRTSETUP.EXE 29.69K
  • JIMI.MOD 250.64K
  • PRELUDE.MOD 21.73K

file_id.diz

                                Dr. Track 1.45
                                  ----------

      Un editor/player di MOD per la SoundBlaster e la SoundBlaster Pro
                  CopyRight (c) 1991-1993 Alessandro Scotti



                                Manuale d'uso
                                -------------


   [DRT_INTRO]
                               1. Introduzione

   1.1. Cos'è il Sound Tracker

     Nell'Amiga  la  parte  sonora  consiste in (ben) quattro DAC ad 8 bit,
   funzionanti in DMA.
     Ciò significa che non è possibile far suonare ad Amy una certa nota se
   non  si  dispone  di  un  sample  da  inviare al DAC (o se non si usa un
   apposito software di emulazione). In compenso, questo metodo permette di
   riprodurre quasi tutti  gli  strumenti,  basta  infatti  campionarli  ed
   ottenere  i  corrispondenti  sample  per  il  DAC.  Inoltre, variando la
   velocità di riproduzione, è possibile ottenere suoni di diverse  altezze
   che  comprendono  non  solo le note della scala musicale, ma anche molte
   "posizioni" intermedie le quali vengono  utilizzate  nella  pratica  per
   ottenere particolari effetti come il portamento o il vibrato.
     La  grande  potenza  del sistema precedente si paga però in termini di
   facilità  d'uso,  del  resto  senza  appropriati  strumenti  hardware  e
   software non è nemmeno possibile creare dei sample!
     Per  questo  motivo  sono  stati  scritti   numerosi   programmi   che
   semplificano  enormemente  la gestione dei sample e dei DAC e permettono
   la creazione di vere e proprie  "colonne  sonore".  Tra  questi  il  più
   celebre è senz'altro il Sound Tracker che, nato per uso interno ad opera
   di un gruppo di "hacker", è stato successivamente rilasciato al pubblico
   dominio  insieme ad un certo numero di dischetti contenenti centinaia di
   sample pronti per l'uso.

   1.2. Cos'è il Dr. Track

     Passando su un PC le cose peggiorano sensibilmente.  Il  suo  "beeper"
   non  è  stato  certo  studiato  per un uso professionale nel campo della
   musica, anche se è possibile  ottenere  discreti  risultati  manipolando
   opportunamente  quel  poco  messo a disposizione. Ma per andare al di là
   della semplice riproduzione di un sample ci vogliono macchine  piuttosto
   veloci  ed  in  ogni  caso  il  risultato  non  è entusiasmante in senso
   assoluto.
     Aggiungendo  un  po'  di  hardware,  nel  nostro caso una bella scheda
   SoundBlaster, si ha un enorme miglioramento, ma di fronte ai quattro DAC
   dell'Amiga anche la SB, col suo unico canale, è costretta ad arrendersi.
     C'è  bisogno  quindi  di  un  programma  che  simuli  i quattro canali
   di Amy e li mixi in tempo reale per inviarli al DAC della Sound Blaster.
     Come si può  immaginare,  considerando  anche  che  il  Sound  Tracker
   permette  l'uso  di numerosi comandi che vanno a modificare il pitch, il
   volume e la sequenza delle note da riprodurre, la  mole  di  calcoli  da
   svolgere è notevole.
     Dr.  Track  fa  tutto  questo,  ma  anche  qualcosa  in  più.  Oltre a
   riprodurre i moduli del Sound Tracker leggendoli direttamente  nel  loro
   formato  originale,  permette infatti di modificarli a piacere o crearne
   di nuovi, nonch‚ di utilizzare sample (cioè  strumenti)  creati  con  la
   SoundBlaster o estratti da moduli già esistenti.
     Prima  di vedere in dettaglio come si svolgono queste operazioni, sarà
   però opportuno  introdurre  le  idee  che  stanno  alla  base  di  molti
   programmi  di questo tipo, ovvero la distinzione tra una composizione in
   fase di sviluppo ed una già ultimata.

     Nota: l'avvento della SoundBlaster Pro, che mette a  disposizione  due
   canali da 8 bit (stereo), ha migliorato la situazione. Attento Amy....

   1.3. Dai "song" ai "moduli" e viceversa

     I moduli (d'ora in poi sarà implicito il riferimento al SoundTracker o
   al Dr. Track, dato che quest'ultimo usa lo stesso formato) costituiscono
   il risultato finale dell'opera del compositore. Essi contengono non solo
   tutte le note da suonare, come un normale spartito,  ma  anche  tutti  i
   dati  per  gli strumenti utilizzati, in poche parole tutto ciò che serve
   per l'esecuzione del brano.
     E'  importante  osservare che note e strumenti sono due cose distinte:
   la riproduzione avviene leggendo le note volta per volta, e lo strumento
   ad esse associato viene opportunamente manipolato in modo da generare la
   frequenza desiderata, contrariamente a quanto avviene  per  esempio  nei
   file .VOC dove i dati vengono inviati direttamente al DAC. Del resto con
   uno  strumento  (cioè  con  un sample, in questo contesto le parole sono
   sinonimi) si deve poter suonare qualsiasi nota!
     Ma  torniamo  ai  nostri  moduli.  Lo svantaggio più grande è che essi
   occupano molto spazio su disco, cosa dovuta soprattutto al fatto che gli
   strumenti  non  percussivi tendono ad essere spesso piuttosto lunghetti.
   Del resto una delle prime cose da farsi  quando  si  inizia  a  scrivere
   musica  è  proprio  quella di crearsi una propria libreria di strumenti,
   creandoli con la SoundBlaster o "rubandoli"  da  moduli  già  fatti.  In
   questo  caso,  evidentemente,  dopo  aver creato un modulo si avranno su
   disco almeno due copie dei sample, una di "libreria" e  una  nel  modulo
   stesso.
     Per  ovviare  a  questo  inconveniente  alcuni  programmi,   tra   cui
   naturalmente  il  Dr.  Track  (non  sarei qui a parlarvene altrimenti!),
   permettono di salvare i dati in un  altro  formato  chiamato  usualmente
   "song" (forse "project" è un termine più appropriato).
     Un song contiene solo le note ed i NOMI  dei  sample,  ma  non  spreca
   inutilmente  spazio  per  i dati di questi, li legge invece da disco (in
   genere da floppy, dove avrete creato e catalogato la  vostra  collezione
   di strumenti) rintracciandoli proprio grazie ai nomi.
     Di  come  si usano i song in Dr. Track parleremo poi, per il momento è
   sufficiente ricordare ancora come il loro uso  permetta  di  risparmiare
   spazio e parte del tempo speso nelle operazioni di I/O.

   1.4. Amiga vs PC

     Cercare  di battere Amiga nel campo della grafica o del sonoro, con un
   normale PC, è una battaglia persa in partenza. Sono  troppe  infatti  le
   facilitazioni   che  il  primo  offre  al  programmatore  mettendogli  a
   disposizione un hardware molto potente e la possibilità di  lavorare  su
   una macchina "standard": gli Amiga sono praticamente tutti uguali, i PC,
   purtroppo, no.
     Certo un 386 con VGA e SoundBlaster può senz'altro dire la sua, ma non
   tutti  ce  l'hanno e soprattutto, fatto alquanto rilevante, la mia CPU è
   un 286 a 6 Mhz.
     In casi  come  questi  bisogna  sacrificare  qualcosina,  cercando  di
   arrangiarsi con quel che resta. Dunque ciao grafica in alta risoluzione,
   troppo  lenta  e se vogliamo anche un po' dispersiva (questa non la beve
   nessuno - N.d.A.). Pensate un po' che l'Amiga neanche ce l'ha un vero  e
   proprio  modo testo, e invece noi abbiamo una bellissima modalità 80x25!
   E poi quel cursore del mouse che sta sempre in mezzo allo  schermo,  che
   orrore! Via anche quello!
     Vi chiederete, legittimamente, che diamine resta. Niente paura,  anche
   il  modo testo va più che bene e se magari avete anche una EGA o una VGA
   un paio di chiamate al BIOS miglioreranno l'uso dei colori permettendovi
   di apprezzare Dr. Track in tutto il suo splendore (ehm... ehm... ahem)!
     C'è poi il lato musicale che non va  trascurato.  Il  fatto  di  dover
   mixare  quattro  canali in uno solo comporta la perdita di alcuni bit di
   informazione, inoltre  vengono  persi  interi  byte  nell'operazione  di
   "resample"  dei  dati,  necessaria  per far suonare i sample a frequenze
   diverse.
     A questi problemi non c'è soluzione. Le frequenze acute sono le  prime
   ad  andarci  di  mezzo  e  per  ottenere  risultati apprezzabili bisogna
   "pompare"  la  SoundBlaster  fino  al limite delle sue capacità, la qual
   cosa ovviamente comporta un aumento  dei  dati  da  elaborare  (bene)  e
   quindi del tempo macchina necessario (male).
     Gigante  pensaci  tu: la gestione del suono, ed in effetti anche molte
   altre parti del programma, è stata scritta interamente in Assembly  ("ci
   penso  io").   Vi  risparmio  la  descrizione delle penose ore trascorse
   davanti alla tastiera, il risultato è  che  Dr.  Track  è  in  grado  di
   mandare la SB alla sua massima velocità già su un 286 a 6 Mhz, ed avanza
   anche il tempo per fare uno shell  al  DOS  e  lanciare  magari  qualche
   giochino (o magari anche Windows 3, yeah, non è un errore di battitura!)
   con la musica in background. Light speed junky.

     E' arrivato ora il momento di guardare più da vicino  le  varie  parti
   che compongono un modulo o un song.


                       2. Dentro i moduli (prima parte)

   [DRT_STRUMENTI]
   2.1. Gli strumenti

     Uno  strumento  è  essenzialmente  una  sequenza di byte campionata da
   qualche  fonte  (lo strumento vero, presumibilmente).
     Prescindendo  dalla  differenza  di timbro, tra gli strumenti reali si
   hanno in genere due fondamentali tipi di risposta all'esecuzione di  una
   nota: premendo il tasto di un pianoforte e tenendolo premuto il suono si
   affievolisce  lentamente, mentre facendo la stessa cosa con un organo il
   suono permane finch‚ non si toglie il dito dal tasto.
     Per  gestire  entrambe le situazioni deve essere possibile quindi dire
   al programma che una parte del sample va ripetuta  indefinitamente:  nel
   seguito questa parte verrà a volte chiamata "repeat".
     E'  da  notare che tale distinzione è puramente astratta, in effetti i
   dati  di  uno  strumento  costituiscono  un'unica   sequenza   di   byte
   consecutivi  i  quali  possono  essere  numerati  a partire da zero fino
   all'ultimo byte che vale (lunghezza_del_sample - 1). Il numero associato
   ad ogni byte si chiama "offset" del byte in questione e  ne  rappresenta
   la distanza dal primo byte.

                        ÚÄÄÄÄÄÄÄ parte da ripetere ÄÄÄÄÄÄÄ¿
                        ³                                 ³
      iiiiiiiiiiiiiiiiiirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrfffffffffffff
                        ³
                        À primo byte da ripetere

     Facendo riferimento alla figura, il sample verrebbe eseguito così:
   - parte i
   - parte r
   - parte f
   - parte r indefinitamente, fino al verificarsi di qualche altro evento.

     Dunque  la  prima  volta  viene  riprodotta l'intera sequenza di byte,
   mentre le volte successive viene utilizzata solo la parte di repeat.
     Come si  può  osservare, per  individuare  univocamente  la  parte  da
   ripetere  è  necessario conoscere due cose: dove inizia (ovvero l'offset
   del suo primo byte) e quanto  è  lunga.  Questi  due  parametri  vengono
   chiamati rispettivamente "repeat start" e "repeat length".
     Abbiamo  risolto  il problema dell'organo e anche quello dei preset di
   numerosi synth, ma ora c'è quello del pianoforte! Quest'ultimo  infatti,
   come  del resto la maggior parte degli strumenti, non ha alcuna parte da
   ripetere!
     Ma stavolta la soluzione è facile:  in  questi  casi  "repeat  length"
   assume  per  convenzione  il  valore  due  (attenzione,  non  zero!), ad
   indicare che il sample va eseguito una sola volta e messo poi  a  tacere
   ("one-shot sample").

     L'ultimo  parametro che riguarda un sample è il suo volume di default,
   che  è  un  numero  compreso  tra  1  e  64.  Si tratta del volume usato
   normalmente in fase di  riproduzione  a  meno  di  non  usare  specifici
   comandi per cambiarlo.  Aggiustando opportunamente il valore  di  questo
   parametro  è  possibile  dosare  in  maniera  ottimale  le  varie  voci,
   tenendone magari alcune in sottofondo e facendo risaltare invece  quelle
   che realizzano il motivo principale della composizione.

   [DRT_NOTE]
   2.2. Le note

     Qui finalmente le cose cominciano a  farsi  interessanti.  Nel  nostro
   ambiente  indichiamo  col  nome  di  "nota" un insieme costituito da tre
   parti: la nota vera e propria, lo strumento da utilizzare  per  suonarla
   e, facoltativamente, uno dei comandi che permettono di modificare alcuni
   parametri.

     La  nota  vera  e  propria  viene  rappresentata   come   una   coppia
   nome-ottava,  con  i nomi in notazione anglosassone. In questa notazione
   le sette note fondamentali vengono indicate con una  lettera  dalla  "A"
   alla  "G":  la  figura  seguente  illustra  la corrispondenza tra queste
   lettere ed i nomi italiani, enormemente  più  belli  ma  un  po'  troppo
   lunghi per essere usati in programmi di questo tipo.


              C       D       E       F       G       A       B
              Do      Re      Mi      Fa      Sol     La      Si

     L'ottava si indica semplicemente con un numero da uno  a  tre,  quindi
   alcuni esempi di note possono essere:

   C-1, do della prima ottava (il trattino è solo un separatore);
   F#2, fa diesis della seconda ottava;
   B-3, si della terza ottava.

     Accando  alla  nota  viene  indicato  lo  strumento.  Il  SoundTracker
   permette  di avere al massimo trentuno strumenti in memoria, numerati da
   1  a  31.  Per  ovvi  motivi di spazio all'interno di una nota non viene
   usato il nome del sample ma il corrispondente numero.
     Potremmo avere allora qualcosa come:

   E-2 05

   per  indicare  che  bisogna  suonare  un  mi della seconda ottava con il
   quinto strumento in memoria.

   [DRT_FRAME]
   2.3. I "frame"

     Un frame non è altro che un insieme di quattro note (tante quanti sono
   i canali disponibili) da suonare contemporaneamente.
     Queste quattro note vengono scritte su una stessa  riga  per  indicare
   appunto che devono essere eseguite simultanamente, così per  esempio  il
   frame

                     D-2 01    F#2 01    A-2 01    C-3 01

   produce un perfetto accordo (di re maggiore settima).
     Come si può osservare  c'è  una  certa  differenza  con  la  notazione
   musicale  standard  nella  quale gli accordi si sviluppano in verticale,
   differenza dovuta essenzialmente a motivi di visualizzazione.

   [DRT_PATTERN]
   2.4. I "pattern"

     Il  concetto  di pattern è l'analogo del concetto di battuta o misura.
   Un pattern è costituito  da  64  frame,  i  quali  vengono  eseguiti  in
   successione.
     Potremmo avere per esempio

                     D-3 01    C-2 02    D-2 02    F#2 02
                     A-3 01    ... ..    ... ..    ... ..
                     F#3 01    ... ..    ... ..    ... ..
                     A-3 01    ... ..    ... ..    ... ..
                     D-3 01    A#1 02    D-2 02    G-2 02
                     A#3 01    ... ..    ... ..    ... ..
                     G-3 01    ... ..    ... ..    ... ..
                     A#3 01    ... ..    ... ..    ... ..
                     ecc.

   che è un brevissimo frammento tratto da una passacaglia di H„ndel.
     Vediamo come si legge. Il primo frame è

                     D-3 01    C-2 02    D-2 02    F#2 02

   e  produce  un  accordo  (ancora  di  re settima) sulle ultime tre voci,
   mentre la prima voce, con un diverso strumento, inizia il canto  con  un
   re  della  terza  ottava. Queste quattro note, come detto prima, vengono
   eseguite all'unisono.
     Il frame successivo è

                     A-3 01    ... ..    ... ..    ... ..

   che continua con un la il canto sulla prima  voce.  Ma  che  fine  hanno
   fatto  le  altre tre voci? Semplice, visto che vogliamo tenere l'accordo
   su tutte le prime quattro note del canto lasciamo in  "bianco"  i  campi
   corrispondenti  alle  note delle ultime traccie, permettendo al suono di
   proseguire  indisturbato  (se  manca  una  nota infatti il suono di quel
   canale non viene interrotto, ma viene  continuata  l'esecuzione  di  una
   eventuale nota precedente).
     Questo è precisamente il modo in cui  si  ottengono  note  di  diversa
   lunghezza.
     Vale la pena di osservare che suonare un do che dura quattro secondi è
   ben  diverso  che  suonare  quattro  do  consecutivi  della durata di un
   secondo  ciascuno,  dato  che  in  genere  le  caratteristiche del suono
   variano con lo scorrere del tempo (se per esempio il suono cominciasse a
   "vibrare"  dopo  tre  secondi  ce  ne  potremmo accorgere solo nel primo
   caso).
     Dovrebbe essere chiaro a questo punto anche il modo in cui  verrebbero
   interpretati i frame successivi, ad ogni modo la cosa migliore da fare è
   lanciare Dr. Track, caricare qualche sample e cominciare a  provare:  il
   programma è stato strutturato in modo  tale  da  facilitare  al  massimo
   questo  tipo  di  esperimenti e permette di verificare immediatamente il
   risultato del proprio lavoro.

   [DRT_ORDER]
   2.5. L'"order list"

     In  un  modulo è possibile avere fino a 64 pattern differenti, i quali
   non vengono  eseguiti  in  successione,  ma  in  una  sequenza  definita
   dall'utente.
     In  altre  parole,  c'è  una  lista che contiene l'ordine in cui vanno
   eseguiti i vari pattern, e ciascun pattern può comparire quante volte si
   vuole in questa lista, in modo da non dover sprecare tempo e  spazio con
   parti del brano che si ripetono.
     Il numero di entrate che può contenere l'"order" (tralasciamo d'ora in
   poi la parola "list") è pari a 128.
     In  Dr.  Track  i  pattern vengono numerati da 1 a 64, ed il pattern 0
   viene usato per chiudere la lista. Per esempio un order come:

                              1 1 2 3 4 1 2 5 0

   fa sì che il brano termini dopo che è stato eseguito il  pattern  numero
   5  (a  questo  punto Dr. Track ricomincia dal primo pattern nella lista,
   dato che molti moduli vanno in "loop" in questo modo).
     A differenza dei pattern gli elementi dell'order si contano a  partire
   da  00h  fino  ad  arrivare  a  7Fh,  comunque  è  inutile  conoscere  i
   corrispondenti valori decimali perché ovviamente  gli  elementi  vengono
   visualizzati   nella   sequenza   corretta  e  quindi  un  certo  numero
   esadecimale può  essere  pensato  senza  problemi  come  il  "nome"  del
   corrispondente pattern nella lista.

   [DRT_TEMPO]
   2.6. Il tempo

     Last  but  not  least, questo importantissimo argomento costituisce un
   presupposto essenziale per sfruttare  a  fondo  le  caratteristiche  del
   player nonch‚ i comandi, che esamineremo nel prossimo capitolo.
     Il  SoundTracker basa le sue temporizzazioni su un clock di 50 Hz, che
   per l'Amiga sarebbe poi quello del PAL (in effetti negli U.S.A. ci  sono
   un  po'  di  problemi ad usare il SoundTracker: dato che il loro sistema
   video si basa su un clock di 60 Hz l'esecuzione risulta accelerata).
     Ciò significa che al massimo della velocità  può  venire  eseguito  un
   frame ogni cinquantesimo di secondo. Si tratta di una velocità piuttosto
   elevata,  tale  da far venire il mal di testa a chiunque, e non mi è mai
   capitato di vederla usata n‚ di doverla usare.
     E'  dunque opportuno nella maggior parte dei casi aumentare un pochino
   il tempo che trascorre tra l'esecuzione di un certo frame  e  di  quello
   successivo.
     Ciò può  essere  realizzato  in  due  modi:  il  primo  modo  consiste
   nell'aumentare  la  durata  delle note facendo  uso  di  frame  "nulli",
   il secondo nel cambiare la velocità di riferimento.

                     D-3 01    C-2 02    D-2 02    F#2 02
                     ... ..    ... ..    ... ..    ... ..
                     ... ..    ... ..    ... ..    ... ..
                     D-3 01    A#1 02    D-2 02    G-2 02
                     ecc.

   Nell'esempio  qui  sopra la presenza di due frame vuoti aumenta il tempo
   che intercorre tra l'esecuzione del primo e del secondo frame.  Se  tale
   sequenza viene eseguita alla velocità di un frame ogni cinquantesimo  di
   secondo   allora   il  secondo  frame  viene  eseguito  esattamente  tre
   cinquantesimi di secondo dopo il primo.
     Se però portassimo a tre la velocità di riferimento (un frame ogni tre
   cinquantesimi  di  secondo)  potremmo  ottenere  lo   stesso   risultato
   scrivendo:

                     D-3 01    C-2 02    D-2 02    F#2 02
                     D-3 01    A#1 02    D-2 02    G-2 02

   il che ci farebbe risparmiare anche un po' di spazio.

     Possiamo  ora  definire  facilmente  la  velocità  di esecuzione di un
   brano: essa rappresenta la durata di un singolo frame  in  cinquantesimi
   di secondo e può variare da 1 a 15 (in esadecimale, da 01h a 0Fh).
     Naturalmente non c'è bisogno di farsi ogni volta i calcoli, basta fare
   un paio di prove e trovare "ad orecchio" la velocità più adatta al brano
   che si sta scrivendo, tuttavia la conoscenza di questi meccanismi  è  di
   grande  aiuto  nella  realizzazione di particolari effetti e nell'uso di
   alcuni comandi.


                      3. Dentro i moduli (seconda parte)

     L'argomento  che  stiamo  per  trattare  può essere tralasciato in una
   prima lettura, ma siete avvisati: se si è meritato  un  capitolo  intero
   una ragione deve esserci!

   [DRT_COMANDI]
   3.1. I comandi

     Ehi,  conosciamo  tutti la notazione esadecimale, vero? Sì? Benissimo,
   ci servirà tra poco.

     Poter suonare a quattro voci con strumenti campionati è già di per  s‚
   una cosa notevole, ma la versatilità del sistema aumenta enormemente con
   un uso appropriato dei comandi disponibili, che permettono di realizzare
   un gran numero di "effetti".
     Un  comando  viene  indicato  con  una   cifra   esadecimale,   ovvero
   utilizzando  i  numeri dallo "0" al "9" e le lettere dalla "A" alla "F".
   Ad ogni comando è associato un byte di  informazione  ("infobyte"),  che
   contiene  gli  eventuali parametri necessari e che viene anch'esso sempre
   indicato in esadecimale.
     Qui di seguito sono elencati e spiegati in dettaglio tutti  i  comandi
   riconosciuti dal Dr. Track, in ordine di codice.

   [DRT_ARPEGGIO]
*  "0": Arpeggio ("Arpeggio")

     Si  tratta  di una cosa un po' strana ma a  volte  utile. I due nibble
   dell'infobyte  vengono  sfruttati  per  individuare,  oltre  alla   nota
   principale,  altre  due  note. Queste tre note vengono suonate allora in
   rapidissima successione, con un effetto più o meno simile ad un trillo.
     Più precisamente, il valore di ogni nibble è  pari  alla  distanza  in
   semitoni della corrispondente nota dalla nota principale.
     Non ci siamo, eh? Beh, ho cercato di fare del mio meglio, ma più delle
   parole un esempio potrà chiarire il tutto.

     Consideriamo la seguente nota:

          Ú comando
          ³
   C-2 06 047
           ÄÂ
            À byte di informazione

     La nota principale è un do della seconda ottava,  ma  noi,  usando  il
   comando  "0", vogliamo creare un arpeggio con altre due note. La prima è
   quella  associata  alla  parte  alta  dell'infobyte,  e   quindi   dista
   esattamente quattro semitoni dal C-2 di riferimento. Si tratta dunque di
   un E-2, ovvero di un mi della seconda ottava, dato che a partire dal C-2
   abbiamo la seguente successione di semitoni:


   + 0  + 1  + 2  + 3  + 4  + 5  + 6  + 7  + 8  + 9  + A  + B  + C  + D
   C-2  C#2  D-2  D#2  E-2  F-2  F#2  G-2  G#2  A-2  A#2  B-2  C-3  C#3 ...

     A questo punto è chiaro anche che la seconda nota ausiliaria è G-2,  e
   quindi abbiamo creato un bell'arpeggio do-mi-sol. Dato che la  frequenza
   con la quale le note cambiano è piuttosto elevata (1/50-esimo di secondo
   per ogni nota) non si riescono a percepire distintamente le varie note e
   ciò  può essere utile per simulare accordi o anche "acciaccature" e cose
   del genere.

     Per  suonare  una  nota  così com'è basta porre a zero l'infobyte, per
   esempio

   A-1 03 .00

   suona semplicemente come un la della prima ottava. Avrete  anche  notato
   che  il comando "0" è stato indicato con un punto, questo perché le note
   che non hanno alcun comando associato sono in genere  la  maggioranza  e
   questa  rappresentazione  assolve  al  duplice  compito  di rendere meno
   pesante per l'utente la visualizzazione (lo schermo è meno "pieno") e di
   evedenziare le note che al contrario hanno associato un comando.

   [DRT_PORTUP]
*  "1": Portamento verso frequenze più alte ("Portamento up")

     Insieme al suo complementare, il comando "2", si tratta di  uno  degli
   effetti in assoluto più sfruttati.
     Esso consiste nell'aumentare la frequenza della nota correntemente  in
   riproduzione,  con un aumento più o meno accentuato a seconda del valore
   contenuto nell'infobyte.
     Nell'implementazione  originale  l'infobyte  può  contenere  un numero
   compreso tra 01h e FFh, ma Dr. Track, per motivi di velocità, "limita" a
   3Fh  il  massimo  valore  possibile  (in  effetti  non  è   una   grande
   limitazione, dato  che  nella  pratica  è  già  raro  incontrare  valori
   superiori a 0Fh).
     Una cosa che vale la pena di sottolineare è che questo tipo di comandi
   viene  comunque  eseguito  una  volta  ogni  cinquantesimo  di   secondo
   indipendentemente  dalla  velocità  di  esecuzione,  il  che consente di
   ottenere un risultato molto "fluido"  evitando  sbalzi  troppo  bruschi.
   Ancora una volta facciamo un esempio, considerando la nota:

   C-2 01 103

     Supponiamo  che  la  velocità di esecuzione sia 3, ovvero l'esecuzione
   della  precedente  nota  dura  3  50-esimi   di   secondo.   Nel   primo
   cinquantesimo  la  frequenza  del suono è quella corrispondente ad un do
   della  seconda  ottava  (attenzione,  questo  non  significa che la nota
   emessa corrisponde proprio ad un do della  seconda  ottava,  perché  ciò
   dipende dalla frequenza di campionamento del corrispondente sample), nel
   secondo e nel terzo cinquantesimo invece tale frequenza viene  aumentata
   tenendo  conto dell'infobyte (a numeri più alti corrispondono incrementi
   maggiori) e quindi alla fine dei tre cinquantesimi la nota di  partenza,
   C-2,  si sarà trasformata in qualcos'altro, non necessariamente un'altra
   nota!
     Variando la velocità del portamento si ha  quindi  la  possibilità  di
   raggiungere frequenze che non corrispondono a nessuna delle normali note
   della  scala  musicale,  e  quindi  di  simulare  per  esempio  un basso
   "fretless",  uno "scratch" o la "pitch-wheel" presente in quasi tutte le
   tastiere in commercio.
     Per continuare l'effetto del portamento sulla stessa nota è necessario
   ripetere il comando nei frame successivi, per esempio:

   C-2 01 103
   ... .. 103
   ... .. 103

     Ancora una volta, la pratica vale più di molte parole.

   [DRT_PORTDOWN]
*  "2": Portamento verso frequenza più basse ("Portamento down")

     E' la stessa cosa del portamento up tranne per il fatto che si ha  una
   diminuzione  della  frequenza,  quindi lo spostamento avviene verso note
   più "basse".

   [DRT_TONEPORT]
*  "3": Portamento verso una nota ("Tone portamento")

     Il concetto rimane lo stesso  dei  due  comandi  precedenti,  però  in
   questo  caso  è  possibile  dire  al  programma  di  fermarsi  dopo aver
   raggiunto una determinata nota.
     Quest'ultima viene specificata come se fosse una nota da  suonare,  ma
   non  viene  eseguita e costituisce in pratica una estensione del byte di
   informazione. Dato che un comando ha effetto solo nel frame  in  cui  si
   trova,  per  continuare  l'effetto  di  portamento  nei frame successivi
   bisogna continuare ad usare il  comando  "3"  senza  parametri  fino  al
   raggiungimento  della  frequenza  specificata all'inizio, dopo di che il
   comando non ha più effetto (quindi non  serve  calcolarsi  quante  volte
   bisogna usare il comando, eventualmente basta dare qualche ulteriore "3"
   di sicurezza).
     Consideriamo la seguente traccia:

   C-2 01 .00
   ... .. ...
   ... .. ...
   E-2 01 305
   ... .. 300
   ... .. 300

     Quando il programma incontra la nota

   E-2 01 305

   non la esegue, bensì inizia ad alzare la frequenza del C-2 a velocità 5.
   Nei  frame successivi questo effetto continua finch‚ non viene raggiunta
   la frequenza corrispondente a E-2, sempre supponendo di usare il comando
   "3".
     Nel "tone portamento" non c'è neanche il problema  della  "direzione",
   la variazione di frequenza avverrà infatti automaticamente verso  l'alto
   o verso il basso a seconda della nota da raggiungere.

   [DRT_VIBRATO]
*  "4": Vibrato ("Vibrato")

     L'effetto del vibrato consiste nel fare oscillare con un certo periodo
   il valore della frequenza di output.
     L'infobyte  contiene  due parametri, entrambi nel range da 0h a Fh. Il
   primo nibble indica la velocità del vibrato, il secondo l'ampiezza.
     Variare la velocità del vibrato significa variare il periodo  di  ogni
   oscillazione:  quanto  più  grande  è  la  velocità tanto più breve è il
   periodo.
     Il  secondo  parametro  governa invece l'ampiezza dell'oscillazione, e
   quindi rende l'effetto più o meno "vibrante".
     Dato che il tutto è piuttosto difficile da spiegare senza  addentrarsi
   un  po'  troppo  nel  campo  dell'acustica, vi esorto a sperimentarlo di
   persona.
     Come al solito è possibile continuare l'effetto  di  vibrato  dopo  il
   primo  frame  seguitando ad usare il comando "4" senza parametri, oppure
   si possono cambiare "al volo" i parametri per simulare anche un  effetto
   di distorsione del suono. Solito esempio:

   F#3 04 462
   ... .. 400
   ... .. 400

   dove la velocità del vibrato è 6 e l'ampiezza 2.

   [DRT_VOLSLIDE]
*  "A": Variazione di volume ("Volume slide")

     Serve  per  diminuire  o  aumentare  il  volume  a  piccoli  passi. Il
   meccanismo è lo stesso del portamento (una variazione ogni cinquantesimo
   di  secondo)  e  l'infobyte  contiene  la  quantità   di   cui   bisogna
   incrementare  o  decrementare  il  volume corrente. Per non sprecare due
   comandi la velocità della variazione è compresa tra 0h ed  Fh,  e  porla
   nel nibble alto significa aumentare il volume, mentre porla  nel  nibble
   basso significa diminuirlo.
     Ovviamente  non è possibile scendere al di sotto del valore 0 o andare
   al di sopra di 64.
     Alcuni esempi:

   1) B-1 25 A01
      ... .. A01
      ... .. A01

   2) G-2 18 A20
      ... .. A20
      ... .. A20

     Supponendo di suonare a velocità tre  l'esempio  numero  uno  verrebbe
   eseguito  esattamente  così:  nel  primo  cinquantesimo di secondo viene
   prodotta la frequenza corrispondente a  B-1  con  il  sample  numero  25
   usando  il  volume  di  default  di questo sample, nei due cinquantesimi
   seguenti  il  volume  viene  decrementato   di   una   unità   ad   ogni
   cinquantesimo;  nel  frame  successivo  non viene eseguito alcun comando
   durante il primo  cinquantesimo,  mentre  durante  i  due  cinquantesimi
   seguenti  il  volume viene ancora decrementato di una unità. Dato che il
   terzo frame è identico al secondo si ha alla  fine  una  diminuzione  di
   volume di sei unità in tutto (a meno che nel frattempo il volume non sia
   andato a zero).

     Il  secondo esempio è simile al primo, ma questa volta il volume viene
   incrementato a passi di due unità, sicch‚ dopo il  terzo  frame  esso  è
   aumentato  di  dodici unità, sempre che non abbia raggiunto prima il suo
   valore massimo che è 64.

     Se  entrambi  i  nibble  dell'infobyte sono diversi da zero allora c'è
   qualcosa che non va e il comando potrebbe  essere  eseguito  in  maniera
   diversa dai vari player di moduli in circolazione (parliamo di Amiga più
   che  di  PC) a seconda che considerino per primo il nibble alto o quello
   basso (se può interessarvi, Dr. Track si comporterà come il SoundTracker
   originale).

     Nella  pratica  questo  comando  viene  spesso  usato  per  realizzare
   dissolvenze  o  entrate  in cui il volume va pian piano crescendo fino a
   raggiungere il valore  desiderato  (avrete  sicuramente  sentito  questo
   effetto applicato al rumore della folla nei dischi "live").

   [DRT_JUMP]
*  "B": Vai al pattern... ("Pattern jump")

     Con  questo  comando  è  possibile alterare l'ordine di esecuzione dei
   pattern (contenuto appunto nella "order list") forzando un "salto" ad un
   determinato pattern.
     L'infobyte contiene  l'elemento  dell'order  con  il  quale  si  vuole
   proseguire l'esecuzione. Attenzione, questo numero non è il numero di un
   pattern,  perché  uno  stesso  pattern  può essere usato più volte in un
   brano e quindi la corrispondenza non sarebbe univoca,  ma  si  riferisce
   proprio ad un elemento dell'order.
     Supponiamo di aver scritto la colonna sonora di un gioco nella quale i
   pattern 1 e 2 costituiscono l'introduzione, e quindi vanno eseguiti solo
   una  volta,  mentre  i  pattern  3, 4, 5 e 6 contengono la musica vera e
   propria che va  ripetuta  ciclicamente.  Il  nostro  order  sarà  allora
   (scriviamolo in verticale):

     00h  1
     01h  2
     02h  3
     03h  4
     04h  5
     05h  6
     06h  0

     Per ottenere la ripetizione sarà sufficiente inserire il comando

   B02

   nell'ultimo  frame  del  pattern 6, al che l'esecuzione riprenderà dalla
   posizione 02h dell'order, e cioè dal pattern 3.
     Per evitare problemi di  temporizzazione  il  frame  che  contiene  il
   comando  di  salto  viene  eseguito  completamente  e solo al momento di
   leggere il frame successivo si ha il "salto" vero e proprio.

   [DRT_SETVOLUME]
*  "C": Nuovo volume ("Set volume")

     C'è poco da dire, permette di cambiare il valore corrente  del  volume
   per un determinato canale ed ha effetto immediato.
     L'infobyte contiene il valore a cui settare il volume,  nel  range  da
   00h  a FFh (poich‚ in effetti il massimo volume è 40h valori superiori a
   questo hanno lo stesso risultato).
     Con  l'uso  ripetuto  di questo comando si possono ottenere effetti di
   "tremolo" cambiando continuamente il volume, come qui sotto:

   C-2 01 C40
   C-2 01 C10
   C-2 01 C40
   C-2 01 C10
   ecc.

   [DRT_BREAK]
*  "D": Interrompi pattern ("Pattern break")

     E'  simile  al  comando  "B"  di  salto,  solo  che  in  questo   caso
   l'esecuzione  riprende dal successivo pattern nell'order. L'infobyte non
   viene quindi preso in considerazione e  può  assumere  qualsiasi  valore
   (quello consigliato comunque è 00h).
     Può  essere  utile  in  pattern  di introduzione che non devono essere
   suonati interamente (per esempio un pattern potrebbe  contenere  solo  i
   rituali  quattro  colpi di bacchetta) oppure per regolare il tempo della
   composizione, inteso nel senso di schema metrico-ritmico. Questo infatti
   è uno dei punti deboli del metodo dei pattern: dato che essi sono divisi
   in 64 frame, sembra di lavorare sempre su  un  tempo  di  4/4  o  2/4  o
   simili.  E  se  invece volessimo scrivere un valzer, un bel 3/4?  In tal
   caso ci viene un aiuto il comando "D": inserendo per  esempio  un  break
   nel  quarantottesimo  frame di ogni pattern (ovvero nel frame numero 47)
   il risultato finale sarà di  lavorare  con  pattern  di  48  frame,  che
   possono essere divisi in tre (sei) gruppi da 16 (8).

*  "E": Controllo LED Amiga ("Set filter")

     Ha  effetto  solo  sull'Amiga  dove  controlla  l'intensità di un led.
   Viene direttamente sconsigliato anche dagli autori del SoundTracker (che
   ce l'hanno messo a fare allora), ragion per cui non ce ne occupiamo.

   [DRT_SETSPEED]
*  "F": Nuova velocità ("Set speed")

     Cambia la velocità di esecuzione. L'infobyte deve essere compreso  tra
   00h e 0Fh, ed in ogni caso solo la parte bassa è significativa.
     Questo comando ha validità per l'intero song ed è sufficiente porlo in
   una nota qualsiasi di un frame. Ripetizioni dello stesso comando su  più
   note dello stesso frame sono inutili e possono causare confusione.
     Dato  che  abbiamo già parlato a lungo della velocità di esecuzione di
   un brano passiamo immediatamente a  qualcosa  di  nuovo,  senza  perdere
   tempo prezioso.


                           4. L'ambiente di lavoro

     E  siamo giunti finalmente a vedere come si possono mettere in pratica
   tutte le nozioni apprese fino ad ora. Con il Dr. Track, naturalmente.

   4.1. Struttura del programma

     Nel Dr. Track ci sono due ambienti principali: l'editor dei pattern  e
   l'editor dei sample. Tutte le funzioni del programma sono accessibili da
   una  di  questi  due  ambienti  oppure  tramite apposite finestre che si
   apriranno al momento opportuno.
     Caratteristiche fisse sono la riga di copyright, che si trova in alto,
   e la status-line, in basso, nella quale viene evidenziato  lo  stato  in
   cui si trova correntemente il programma e/o i principali comandi validi.
   In  moltissime situazioni è possibile ottenere una schermata di help che
   fornisce i comandi possibili e le spiegazioni del caso,  in  altre  tali
   informazioni vengono fornite direttamente dalla status-line.
     Come  in  quasi  tutti  i  miei programmi non ci sono menu, e tutte le
   funzioni sono accessibili premendo un tasto o una combinazione di tasti.
     Dopo questa  breve  premessa  cominciamo  ad  esplorare  il  programma
   partendo proprio dall'ambiente principale, l'editor dei pattern.

   4.2. Il "song editor"

     La  schermata  principale del programma è divisa in tre finestre, dato
   che ho la maniacale fissazione di "incorniciare"  tutto  ciò  che  sullo
   schermo fa gruppo a s‚, ed è stilizzata nella figura qui sotto:

        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
        ³               3                ³         1. pattern editor
        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
          ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄÄÄ¿
          ³                     ³  ³   ³           2. order editor
          ³                     ³  ³   ³
          ³          1          ³  ³ 2 ³
          ³                     ³  ³   ³           3. status window
          ³                     ³  ³   ³
          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÄÄÙ

   [DRT_EDITPATTERN]
   4.2.1. Il "pattern editor"

     Dato che un pattern è lungo 64 frame e che lo schermo contiene  invece
   solo  25  righe,  è  possibile  visualizzare contemporaneamente solo una
   parte  dei  frame di un pattern. Dr. Track ne visualizza 16 per volta, e
   poich‚  i  frame sono numerati da 0 a 63 questo numero viene mostrato in
   corrispondenza di ogni frame per far capire quali dei 64 frame totali si
   trovano effettivamente sul video.
     A loro volta questi 16 frame sono divisi in  quattro  colonne,  ognuna
   corrispondente  ad  un diverso canale ("traccia"). Con i tasti cursore è
   possibile muoversi all'interno di una traccia e spostarsi da una traccia
   all'altra:

   [Left]   : sinistra
   [Right]  : destra
   [Up]     : frame precedente
   [Down]   : frame successivo
   [PgUp]   : pagina precedente
   [PgDn]   : pagina successiva
   [^Left]  : traccia precedente
   [^Right] : traccia successiva
   [^PgUp]  : inizio pattern
   [^PgDn]  : fine pattern
   [^Home]  : inizio schermo
   [^End]   : fine schermo

   [Ins]    : inserisci nota
   [Del]    : cancella nota
   [^Y]     : azzera nota (equivalente a [Del] seguito da [Ins])
   [^F1]    : decrementa il valore del sample di default (anche [F9])
   [^F2]    : incremente il valore del sample di default (anche [F10])
   [^F3]    : decrementa velocità globale
   [^F4]    : incrementa velocità globale

   [+]      : pattern successivo
   [-]      : pattern precedente
   [TAB]    : "order editor"

     Per  immettere  le  note  la  tastiera viene considerata come se fosse
   quella  di  un  pianoforte  (con molta, molta immaginazione...), con due
   ottave disponibili:

    1 2   5 6 7
   q w e r t y u i
    s d   g h j
   z x c v b n m ,

     Poich‚  in  totale  ci  sono  tre ottave, la prima (zxc...) può essere
   usata in combinazione con il tasto  [Shift]  per  accedere  alla  terza.
   Normalmente  il  tasto  [z]  corrisponde a C-2, [q] a C-3 e [Shift][z] a
   C-1, ma è possibile cambiare ciclicamente questi valori  premendo  [^H].
   L'ottava   "base"  corrente  viene  visualizzata  nella  finestra  delle
   informazioni.
     Quando si immette una nota viene aggiornato  anche  il  corrispondente
   strumento, usando il corrente valore di default.

     I sample ed  i  comandi  vengono  immessi  semplicemente  portando  il
   cursore  nel  corrispondente  campo e scrivendo il valore desiderato. Il
   cursore verrà automaticamente  spostato  nel  campo  dove  il  programma
   ritiene sia più probabile il successivo input.

   [DRT_EDITBLOCK]
     Una utilissima possibilità consiste nel  poter  "marcare"  blocchi  di
   note  che  potranno  poi essere copiati, spostati o cancellati. A queste
   funzioni si accede come al solito usando la tastiera in combinazione con
   [Ctrl]:

   [^B] : marca inizio/fine blocco di note
   [^T] : marca una intera traccia
   [^L] : marca inizio/fine blocco di frame
   [^P] : marca l'intero pattern
   [^U] : annulla l'effetto dei comandi precedenti ("unmark")
   [^C] : copia blocco (modo "insert")
   [^O] : copia blocco (modo "overwrite")
   [^M] : muovi blocco
   [^D] : cancella blocco

     Il seguente gruppo di comandi ha  effetto  su  tutte  le  note  di  un
   blocco:

   [^A] : aggiungi semitono
   [^S] : sottrai semitono
   [^V] : setta il campo sample al valore corrente
   [^W] : azzera nota

     Per esempio marcando un blocco ed usando [^A] tutte le note del blocco
   vengono  trasposte  di  un semitono verso l'alto (C-2 diventa C#2 e così
   via).

   [DRT_EDITMACRO]
     Capita a volte di dover ripetere noiose sequenze di note o di comandi,
   supponiamo per esempio di voler usare il comando "C" su tutte le note di
   una traccia per creare una specie di effetto "tremolo":

   C-2 01 C40
   ... .. C10
   ... .. C40
   ... .. C10
   ecc.

     Questa  lunga  operazione può essere eseguita in un attimo facendo uso
   di "macro-comandi". Dr. Track è infatti  in  grado  di  memorizzare  una
   sequenza  di  tasti e di associarla poi ad un singolo tasto, premendo il
   quale la sequenza "registrata" in precedenza viene  riprodotta  come  se
   l'utente la stesse nuovamente digitando sulla tastiera.
     La  registrazione  viene attivata con [^R]: il programma vi chiederà a
   quale tasto volete associare la  "macro"  (sono  validi  i  dieci  tasti
   compresi  tra  [Alt][0]  e  [Alt][9])  e  se  non  uscite  con  [ESC] la
   registrazione ha  inizio,  segnalata  da  un  apposito  messaggio  nella
   finestra informazioni.
     Il  processo  termina  quando il buffer è pieno oppure premendo ancora
   [^R], in entrambi i  casi  l'indicazione  "Macro:  Rec"  scompare  dallo
   schermo e la macro è pronta per essere utilizzata.
     Le macro sono attive solo dentro il  "pattern  editor".  Passando  nel
   "sample  editor"  o  usando  altre  funzioni  ("line editor", ecc.) esse
   vengono "sospese"  e  ripristinate  quando  si  ritorna  all'editor  dei
   pattern.
     Oltre all'esempio precedente sono molti i casi in cui le macro tornano
   comode,  ed  il  loro  utilizzo  permette di risparmiare veramente molto
   tempo.

     In  aggiunta  alla  possibilità di muoversi nel pattern usando i tasti
   cursore,  appositi  comandi  permettono  di   velocizzare   al   massimo
   l'inserimento delle note:

   [Alt][F1] : salta al frame 00
   [Alt][F2] : salta al frame 16
   [Alt][F3] : salta al frame 32
   [Alt][F4] : salta al frame 48

   [^F5]     : autojump a 1
   [^F6]     : autojump a 2
   [^F7]     : autojump a 4
   [^F8]     : autojump a 8
   [^J]      : attiva/disattiva autojump

     Quando   si   inserisce   una   nota,  il  cursore  viene  posizionato
   automaticamente nel  campo  nota  del  frame  seguente,  allo  scopo  di
   permettere l'inserimento di una sequenza di note senza dover togliere le
   mani  dalla  tastiera  per  usare i tasti cursore. Questa caratteristica
   viene chiamata "autojump". Dato che il valore del "salto" non  è  fisso,
   la  funzione  torna  utile  anche per note che durano più di un frame, e
   comunque può essere disattivata con [^J].

     Premendo [TAB] si accede all'"order editor", che andiamo ad esaminare.

   [DRT_EDITORDER]
   4.2.2. L'"order editor"

     Abbiamo già visto cos'è l'"order list" e come funziona, in breve  essa
   contiene la sequenza dei pattern da suonare.
     Al  solito,  i  tasti cursore permettono di muoversi all'interno della
   lista:

   [Up]    : entrata precedente
   [Down]  : entrata successiva
   [PgUp]  : pagina precedente
   [PgDn]  : pagina successiva
   [Home]  : cerca il primo pattern nullo (verso l'inizio)
   [End]   : cerca il primo pattern nullo (verso la fine)
   [^PgUp] : inizio lista
   [^PgDn] : fine lista

   [TAB]   : "pattern editor"
   [ENTER] : edita il pattern nella posizione corrente della lista

     Una lista vuota si presenta come segue:

                                ÉÍÍÍÍÑÍÍÍÍÍ»
                                º 00 ³ ..0 º
                                º 01 ³ ..0 º
                                º 02 ³ ..0 º
                                º 03 ³ ..0 º
                                :    ³     :
                                º 7D ³ ..0 º
                                º 7E ³ ..0 º
                                º 7F ³ ..0 º
                                ÈÍÍÍÍÏÍÍÍÍͼ

     La prima colonna individua gli elementi della lista, numerati da 00h a
   7Fh (127 in decimale), mentre la seconda contiene i numeri  dei  pattern
   da suonare.
     I  pattern  sono  numerati  da 1 a 64, ed il pattern 0 viene usato per
   indicare la fine della lista.

     L'inserimento   dei   pattern   da   eseguire   avviene  semplicemente
   posizionandosi su un elemento della lista  e  scrivendo  il  numero  del
   pattern da eseguire in quella posizione.
     Dopo ogni input  Dr.  Track  posiziona  il  cursore  sulla  successiva
   entrata,  in  una posizione scelta secondo un criterio "probabilistico".
   Se la scelta operata dal programma non coincide  con  la  vostra  potete
   comunque  usare  i  tasti  [Left]  e  [Right],  oltre  a quelli visti in
   precedenza, per portare il cursore in qualsiasi punto della lista.

     Premendo [TAB] si ritorna all'editor dei pattern nel punto  esatto  in
   cui  lo si era lasciato, mentre uscendo con [ENTER] verrà selezionato il
   pattern su cui si trova il cursore nella lista.

   [DRT_PLAYER]
   4.2.3. Il "player"

     In  fase  di  editing  è molto utile sentire immediatamente le singole
   note, perché ciò permette di accorgersi subito di eventuali errori nella
   scelta del sample o della nota stessa. Questa funzione prende il nome di
   "editsound" e può essere abilitata o  disabilitata  a  piacere  premendo
   [Ctrl][E].
     Dato  che  a  volte  ci sono sample che vanno avanti all'infinito e la
   cosa a lungo andare dà un po'  fastidio,  si  puo  far  tacere  la  nota
   corrente premendo [^K] o [\] ("backslash").
     Infine con [Space] si suona la nota su cui si trova il cursore.

     La  riproduzione  di  un  pattern  o  di  un  intero song viene invece
   attivata con [Alt][P]. Se ci si  trova  nell'editor  dei  pattern  viene
   eseguito il pattern corrente, mentre premendo [Alt][P] nell'order editor
   verrà suonato l'intero song a partire dalla posizione su cui si trova il
   cursore fino ad incontrare un pattern nullo.

     A  fini  di  "debugging"  si  può  far stare zitto un canale qualsiasi
   premendo i tasti da [F5] a [F8]: il canale viene messo a tacere ma viene
   comunque tenuto in sincronia con gli altri (i  suoi  dati  vengono  cioè
   calcolati, ma riprodotti a volume zero).

     I  tasti  [F3]  e  [F4]  permettono  di decrementare e incrementare il
   volume  di  riproduzione,  mentre  in  fase  di  riproduzione   [Alt][F]
   effettua una dissolvenza portando il volume a zero.

     In  fase di "playing" nello schermo si  attivano  diversi  indicatori.
   All'interno  del  pattern  in  esecuzione  viene  evidenziato  il  frame
   corrente  mediante  una  apposita barra, mentre un'altra barra individua
   tale pattern all'interno della order list. Inoltre si accendono  quattro
   file  di  "led",  una  per  ogni  canale,  che  mostrano il volume delle
   corrispondenti traccie. Il volume evidenziato non è il volume reale,  ma
   una sua approssimazione calcolata in base alle note eseguite e al volume
   ad  esse  associato. Lo scopo non è tanto estetico, quanto quello di far
   vedere, visto che sulla SoundBlaster che  è  mono  non  si  possono  far
   sentire,  gli effetti di stereofonia presenti in molti moduli scritti su
   Amiga.
     Infine la finestra informazioni viene anch'essa  aggiornata  in  tempo
   reale  mostrando  il  numero del pattern in esecuzione e la velocità del
   brano.
     Voglio ancora spendere due parole sulla  barra  che  mostra  il  frame
   corrente. In programmi di questo tipo è consuetudine tenere fissa questa
   barra e far scrollare l'intero pattern: dopo aver fatto qualche prova mi
   sono  reso  conto  che seguire lo svolgimento del brano, già difficile a
   velocità sei, diventa impossibile  a  velocità  inferiori.  Per  evitare
   dunque  inutili  mal di testa ho preferito tenere fisso il pattern e far
   muovere la barra, e dopo aver usato per un po' di tempo il programma  mi
   sono  convinto  che  questa  scelta  raggiunge  effettivamente  lo scopo
   prefisso, tanto più che passando in modalità EGA a 43  linee  (50  linee
   per la VGA) si hanno sul video 32 frame per volta, mezzo pattern!

   [DRT_RECORDING]
   4.2.4. Registrando in tempo reale...

     Suonare "sopra" un song e registrare le note prodotte  è  facilissimo.
   Basta infatti portare una traccia in modo "Rec" e far partire il player:
   tutte  le  note immesse da tastiera saranno registrate su quella traccia
   in  tempo  reale. Oh, beh, non è tanto "reale" dopotutto! Ho fatto tutto
   il possibile  per  mantenere  input  e  output  in  "sincronia",  ma  la
   perfezione  in  questo  caso  non  si  può raggiungere perché i dati per
   l'output devono essere calcolati PRIMA di  mandarli  alla  SoundBlaster,
   per cui se suonate insieme alle note è già troppo tardi. Lo sfasamento è
   comunque minimo e con un po' di pratica diventa facile mettere tutte  le
   note al posto giusto.
     La  selezione  della  traccia  per l'input avviene premendo [F5]..[F8]
   insieme al tasto [Alt], dunque [Alt][F5] seleziona la  prima  traccia  e
   [Alt][F8]  l'ultima. Sulla traccia scelta si accende in rosso la scritta
   "Rec"  per  confermare  l'input,  per disattivare il modo "record" basta
   premere  ancora  [Alt][F5]..[Alt][F8] a seconda del canale correntemente
   in "Rec".
     Notate che anche se avete disattivato  prima  uno  o  più  canali  con
   [F5]..[F8],   quando   un   canale   si   trova   in  modo  "Rec"  viene
   automaticamente riattivato.
     Al momento in cui sto scrivendo queste righe non sono ancora  riuscito
   a  far  funzionare la MIDI insieme al DAC, la cosa mi rattrista ma ormai
   le ho provate quasi tutte e comincio a rassegnarmi... ma quanto  sarebbe
   stato bello poter usare una tastiera con i suoni campionati!

   [DRT_IO]
   4.2.5. Input e output

     I comandi fondamentali sono cinque:

   [Alt-L] : legge un modulo o un song da disco
   [Alt-M] : costruisce un modulo (compatibile SoundTracker 2.5)
   [Alt-R] : legge un singolo pattern da disco
   [Alt-S] : salva i pattern in formato "song"
   [Alt-W] : salva un singolo pattern

     Con  [Alt-L]  (cioè  [Alt][L])  è possibile caricare da disco un song,
   in formato Dr. Track, oppure un modulo in formato SoundTracker fino alla
   versione 2.5. Il  programma  è  in  grado  di  riconoscere  da  solo  la
   differenza  tra  un  song  e  un modulo, nonch‚ tra le varie versioni di
   moduli (quelli "vecchi" per esempio contengono  al  massimo  15  sample,
   quelli  "nuovi"  31).  Anche i moduli prodotti su Amiga col NoiseTracker
   dovrebbero essere letti correttamente (l'estensione standard è .NST,  ma
   in  giro  se  ne  trovano  parecchi,  riconoscibili  a  volte per un bug
   presente nel NT nella gestione dei sample in formato IFF, rinominati  in
   .MOD),  anche  se  il  NT estende l'insieme dei comandi del SoundTracker
   aggiungendone due ("volume portamento" e "volume vibrato")  che  per  la
   totale  assenza di materiale su cui lavorare non sono stati implementati
   in Dr. Track.
     Versioni del SoundTracker superiori alla 2.5  salvano  i  dati  in  un
   formato  completamente  diverso, orientato alla traccia piuttosto che al
   singolo pattern, e non sono direttamente supportate  dal  programma.  E'
   naturalmente possibile convertire i moduli da un formato all'altro, però
   dal ST 2.6 in su i sample possono essere lunghi fino a 128K (eventualità
   rara,  d'accordo,  ma  non  da  escludere)  mentre il Dr. Track supporta
   sample di al massimo 64K. Per questo motivo ho preferito  non  includere
   direttamente  nel  programma  la  routine  di  conversione,  che avrebbe
   sprecato memoria per essere usata pochissimo senza nemmeno garantire  al
   100%  il  risultato (!): essa sarà rilasciata eventualmente come utility
   da lanciare al prompt del DOS.

     Su [Alt-M] c'è poco da dire:  i  pattern,  l'order  list  e  i  sample
   presenti  in  memoria  vengono  "fusi"  insieme  producendo un modulo in
   formato SoundTracker 2.5 (a 31 strumenti).  Nella  versione  "demo"  del
   programma  invece  si  apre  una  bella  finestrella  in cui si rammenta
   appunto che, essendo un "demo", il  programma  non  salva  i  moduli  (e
   nemmeno i song).

     Dato  che a volte può essere utile trasferire dei pattern da un modulo
   ad un altro, oppure tenere da parte  qualche  pattern  da  riusare,  Dr.
   Track  permette  di  salvare  su  disco  anche  un  singolo  pattern  (e
   naturalmente di rileggerlo). I tasti per queste funzioni  sono  [Alt][R]
   (legge un pattern da disco sostituendolo al pattern corrente) e [Alt][W]
   (salva  il pattern corrente su disco). Oltretutto questo è l'unico modo,
   nella versione demo, di dare "persistenza" ai propri pattern (metodo non
   consigliato, meglio registrarsi...).

     Infine con [Alt][S] è possibile salvare tutte le informazioni relative
   alla propria  composizione  (pattern,  order,  nome,  ecc.)  in  formato
   "song".  In questo formato i pattern vengono compressi per occupare meno
   spazio ed i sample non sono direttamente salvati su disco,  essi  devono
   invece  essere  salvati  (UNA volta basta, se si fanno le cose per bene)
   con l'apposito comando del "sample editor".
     Dato che l'argomento "sample" è piuttosto importante ed è legato anche
   col discorso sui moduli e sui  song  ce  ne  occupiamo  in  un  apposito
   paragrafo.

     E' importante ricordare che il programma non può n‚ decidere  da  solo
   quali pattern salvare (troppo tempo) n‚ salvare tutti i pattern  (troppo
   spazio),  quindi  bisogna  dirglielo.   Come?  Semplice, per mezzo della
   order list.  Al momento di salvare un modulo o un song Dr. Track esamina
   la order list e salva tutti i pattern fino a quello col valore più alto.
   Se per esempio la lista contiene i pattern 1, 2,  3  e  8  il  programma
   salverà  TUTTI  i  pattern da 1 a 8. Questo comportamento non è forse il
   migliore che si possa  avere,  ma  come  al  solito  si  tratta  di  una
   "eredità" del SoundTracker.
     Se  l'order  list  è  vuota  salvare  un  modulo provoca un errore con
   relativo messaggio, mentre è permesso salvare song senza pattern  perché
   ciò è utile a volte per salvare liste di sample (appunto ciò  che  resta
   di un song senza pattern).

   [DRT_SONG]
   4.2.6. "Sample and song"

     Dicevamo che in un song i dati relativi ai sample non vengono salvati,
   al  loro  posto  vengono  invece salvati i NOMI dei corrispondenti file.
   Almeno questo avviene su Amiga, ma c'è qualche problema...
     Nel  sistema  operativo standard di Amiga i nomi possono essere lunghi
   fino a 22  caratteri,  possono  contenere  molti  caratteri  "strani"  e
   lettere  maiuscole e minuscole. In DOS abbiamo 8 miseri caratteri per il
   nome più 3 di estensione, sempre in maiuscolo, e qualche restrizione sui
   possibili caratteri da usare.
     Chiaramente 22 caratteri possono bastare per descrivere un  sample  in
   maniera  abbastanza esauriente. In genere le prime lettere sono qualcosa
   del tipo "ST-xx: " dove "xx" sta per un numero da 01 a 99, e individuano
   il disco su cui si trova il file desiderato. Il nome  quindi  serve  sia
   per  identificare  il  file, sia per descrivere il tipo di suono in esso
   contenuto, ad esempio "ST-60: ClosedHiHat".
     In DOS le cose cambiano e poich‚ i 22 caratteri  di  cui  sopra  vanno
   anche  a  finire  nei moduli non se ne può proprio fare a meno e bisogna
   salvarli da qualche parte per poterli recuperare al momento  giusto.  Il
   nome del file però, a questo punto, va gestito in un'altra maniera.

     Una possibile soluzione consiste nel costruire un indice per i sample:
   il nome  da  22  caratteri  individua  un  elemento  all'interno  di  un
   database,  e  tale  elemento contiene poi le informazioni necessarie per
   risalire al file. L'enorme svantaggio di questo sistema  sta  nel  fatto
   che  non  è  più possibile gestire direttamente i file da DOS, in quanto
   per spostare un file  bisogna  contemporaneamente  aggiornare  l'indice:
   bisogna cioè usare un apposito programma.

     La  soluzione  adottata  in  Dr.  Track  utilizza  invece un approccio
   completamente diverso al problema.  Il nome originale di un sample viene
   salvato  insieme  agli  altri  dati (volume, ecc.) e non va a finire nel
   song, al suo posto viene usato invece il PATH del file  che  contiene  i
   dati di cui sopra.

     Facciamo  qualche  esempio per vedere meglio come funzionano le cose e
   come bisognerebbe organizzare la propria libreria di strumenti.
     Iniziamo proprio dal sample precedente, "ST-60: ClosedHiHat". Tolta la
   stringa "ST-60: ", che non ci interessa, rimane "ClosedHiHat", ovvero un
   nome lungo 11 caratteri. Verrebbe quasi voglia di salvare il  file  come
   CLOSEDHI.HAT  ma  un  esame più accurato rivela che non si tratta di una
   idea molto buona, è assai meglio classificare i propri sample usando per
   ognuno di essi una stessa estensione, che in Dr.  Track  è  per  default
   ".SMP".
     Ci  sono  rimasti  dunque solo i primi otto caratteri del nome, troppo
   pochi!  E  qui  bisogna  cominciare  il  vero  e   proprio   lavoro   di
   "classificazione".   A   che   "classe"   di   strumenti  appartiene  un
   "ClosedHiHat"? Dato che si tratta  di  parte  di  una  normale  batteria
   potremmo  per  esempio  classificarlo  sotto  la voce "BATTERIA", oppure
   "DRUMS".  E  dato che nelle centinaia di moduli disponibili nel circuito
   PD si trovano decine di "piatti", aperti, chiusi, ecc.  possiamo  magari
   voler  creare  una  apposita sottoclasse di "DRUMS" e chiamarla "HIHAT".
   Ora non c'è più bisogno di tenere "HiHat" nel nome del  file,  dato  che
   il  nome  della  classe di appartenenza individua già chiaramente questo
   tipo di strumento, potremmo chiamare il file semplicemente  "Closed".  O
   anche "C", usando "C"  per  "Closed"  e  "O"  per  "Open".  I  caratteri
   rimanenti possono allora essere usati per fornire ulteriori indicazioni:
   "C_good", "O_soft", "Closed_2", "Closed_3", ecc.
     Ma dove vanno a finire i nomi delle classi? Semplice! Le nostre classi
   infatti  non  sono  altro  che sottodirectory di un disco! Supponendo di
   aver usato l'unità A: per la libreria  dei  sample  avremmo  dunque  che
   "ClosedHiHat"  corrisponde al file A:\DRUMS\HIHAT\CLOSED.SMP. E' proprio
   questo path che va a finire nei song,  esso  individua  univocamente  un
   file all'interno di un certo disco, è sufficientemente descrittivo e può
   essere tranquillamente gestito in ambiente DOS.
     Ancora  un  esempio,  stavolta  "operativo", sui sample. Supponiamo di
   aver creato la seguente libreria:

   A:\
     DRUMS\
       HIHAT\
         CLOSED.SMP
         CLOSED_2.SMP
         OPEN.SMP
         OPEN_2.SMP
       BASSDRUM\
         SOFT.SMP
         HARD.SMP
       SNARE\
         SOFT.SMP
         HARD.SMP
         VERYHARD.SMP
       PERCO\
         BONGO.SMP
         TOM.SMP
         CLAPS.SMP
     GUITARS\
       ELECTRIC.SMP
       HARDROCK.SMP
       CLASSIC.SMP

     Prima di creare un song scegliamo gli strumenti, diciamo che ci  serve
   un  "SoftBassDrum"  ed  un  "SoftSnareDrum"  per  la  batteria,  ed  una
   "Electric Guitar" per il canto.
     Dopo aver letto i corrispondenti file da disco,  Dr.  Track  memorizza
   anche  la  relativa  directory,  ovvero  come  si  è  detto il loro path
   completo, avremo cioè:

   A:\DRUMS\BASSDRUM\SOFT.SMP
   A:\SNARE\SOFT.SMP
   A:\GUITARS\ELECTRIC.SMP

     I loro nomi "originali", quelli che andranno a finire in un  eventuale
   modulo,  sono  contenuti  all'interno  di  questi  file,  così  come  le
   informazioni relative al volume, al repeat start, al repeat length ed  i
   dati stessi del sample.

     Adesso  scriviamo  qualche nota e salviamo il tutto in formato "song",
   dopo di che togliamo il floppy dal drive A:  e  rileggiamo  il  song  da
   disco.  Dopo  aver inutilmente provato a leggere dall'unità A: Dr. Track
   proporrà un messaggio del tipo:

          Il sample A:\DRUMS\BASSDRUM\SOFT.SMP non è stato trovato.
         Premere ENTER per riprovare o "S" per "saltare" questo file.

     Anche se avevate messo il floppy nel cassetto da chissà  quanto  tempo
   non  sarà difficile per voi ritrovarlo se sull'etichetta sono presenti i
   nomi  perlomeno  delle  directory  principali.  Inserendo  il  floppy  e
   premendo  ENTER  la  lettura  procede  quindi  normalmente  e  dopo aver
   caricato i pattern vi ritroverete nella stessa situazione del momento in
   cui avete salvato il song.

     Adesso però vi è venuta voglia di riclassificare i  "BASSDRUM"  e  per
   qualche  motivo  SOFT.SMP  è diventato SOFT_1.SMP. Se caricate il sample
   singolarmente non c'è alcun problema per  il  suo  uso  successivo,  dal
   momento che il path diventa automaticamente

   A:\DRUMS\BASSDRUM\SOFT_1.SMP

   (questo comportamento è il nocciolo della questione), ma se  tentate  di
   rileggere  il  song  di  prima  ottereste  lo  stesso messaggio senza la
   possibilità di fornire al programma il file  corretto.  In  questo  caso
   niente  paura,  "S"altate  il  file  e dopo che il programma ha letto il
   resto caricate il sample al posto giusto. Dal prossimo [Alt][S] le  cose
   ricominceranno a funzionare come si deve!

     Naturalmente  nessuno  vi  obbliga a crearvi delle librerie su floppy,
   potete benissimo usare il vostro hard-disk oppure, in fase di  sviluppo,
   salvare  i  sample  in  una  directory  di  default. In questa directory
   generalmente è  inutile  classificare  i  sample,  perché  difficilmente
   si  hanno  conflitti di nome, ed il principale motivo della sua presenza
   sta nel fatto che in questo modo è possibile tenere su hard-disk tutti i
   sample correntemente usati senza doverli caricare da floppy ogni volta e
   senza dover creare delle librerie sul vostro disco rigido dove lo spazio
   è sempre troppo poco (se avete un HD da 120  Mb  create  pure  tutte  le
   librerie che volete, il mio però è da 20 Mb e allo spazio sono costretto
   a starci attento...).

     Un'ultima osservazione importante: per motivi di spazio  la  directory
   cui  appartiene  un sample non può essere più lunga di 32 caratteri. Non
   si  tratta  di  una  grande limitazione, se si pensa che tra directory e
   nome ci sono ben 44 caratteri disponibili per individuare  un  file,  ma
   bisogna comunque tenerne conto perché nomi più lunghi del lecito vengono
   ricondotti alla "normalità", con conseguente perdita di informazioni.

   [DRT_SAMPLELIB]
   4.2.7. Librerie di sample

     Oltre  al  metodo  precedente,  c'è  un  altro modo per individuare le
   directory  che  contengono  i  sample.   Più  precisamente  è  possibile
   assegnare  un  nome ad una certa directory, ed accedervi tramite il nome
   scelto.
     Per   esempio  possiamo  assegnare  il  nome  "Bassi  elettrici"  alla
   directory C:\DRT\SAMPLES\ELECBASS e usare poi  il  nuovo  nome  sia  per
   caricare  dei  sample  dal  "sample  editor",  sia  nei  song, usando il
   carattere "=" come prefisso.

     Nel sample  editor  è  possibile  selezionare  una  libreria  premendo
   [Alt][B],  nel  qual caso la selezione del file avverrà poi direttamente
   dalla directory corrispondente alla libreria scelta.
     Il comando [Alt][B] è attivo anche in fase di edit della directory  di
   un  sample:  in questo caso il nome della libreria scelta, preceduto dal
   carattere "=", verrà scritto al posto  della  directory  e  interpretato
   successivamente in caso di lettura di un song (es. "=Bassi elettrici").

     Questo  nuovo meccanismo aumenta notevolmente l'elasticità del formato
   song,  anche  perché  configurare  la  propria libreria è semplicissimo.
   Basta infatti munirsi di un normale editor  ASCII  ed  editare  il  file
   DRT.LIB  (eventualmente  creandolo se non esiste) scrivendo su ogni riga
   il nome della directory e, separato da almeno uno  spazio,  il  nome  ad
   essa associato. Un esempio potrebbe essere:

   ;***
   ;*** Esempio di DRT.LIB
   ;***
   c:\drt\samples               Default
   c:\drt\samples\synth         Tappeti synth
   d:\perco                     Percussioni, batterie

   e così via, facile no?
     Come  avrete notato il carattere ";" indica che la corrispondente riga
   contiene un  commento:  in  questo  caso  la  riga  viene  semplicemente
   ignorata e il programma passa immediatamente ad esaminare la successiva.
     Non  c'è  limite  al  numero  di  elementi che la lista può contenere,
   tranne quello imposto dalla RAM disponibile, così come  non  c'è  limite
   per  la  lunghezza della directory (a dire il vero deve essere lunga  al
   massimo 255 caratteri, ma il DOS si ferma molto prima). I corrispondenti
   nomi,  invece, possono essere lunghi al massimo 31 caratteri, in modo da
   poter mantenere la compatibilità con i formati DTS e SMP adottati  nelle
   precedenti versioni del programma.

   [DRT_EDITMISC]
   4.2.7. Altri comandi...

     C'è qualche funzione rimasta esclusa dai paragrafi precedenti: per non
   far torto a nessuno ne parliamo ora.

   [Alt-C] : cancella i pattern dalla memoria
   [Alt-D] : mostra una finestra con alcune informazioni
   [Alt-E] : commuta il modo a 43/50 linee su scheda EGA/VGA
   [Alt-I] : attiva l'editor dei sample
   [Alt-O] : shell al DOS
   [Alt-V] : controllo mixer (solo SoundBlaster Pro)
   [Alt-X] : esce dal programma

   [^N]    : cambia il nome del song (cioè il titolo)
   [^F]    : cambia il nome del file su cui si sta lavorando

     A  proposito  di  [Alt][C]  c'è da dire che vengono cancellati tutti i
   pattern presenti in memoria, l'order list ed  in  genere  tutti  i  dati
   riguardanti  il  song  (titolo, velocità, ecc.), ma non i sample. Questi
   devono essere eventualmente  cancellati  con  un  apposito  comando  nel
   "sample editor".

     Con [Alt][E], se si possiede una scheda EGA o VGA,  viene  selezionato
   il  modo  testo con 43 (EGA) o 50 (VGA) linee. Si tratta di una modalità
   video veramente utile perché permette  di  avere  su  video  una  grande
   quantità  di  informazioni,  per  esempio  nel  caso della VGA il sample
   editor sarà in grado di mostrare la lista completa dei 31 strumenti  (24
   in EGA, 12 nel modo standard a 25 linee). Inoltre in modo VGA 50 linee i
   nomi abbreviati (15 caratteri) dei primi 28 sample vengono  visualizzati
   nel  pattern  editor,  in  modo  da permettere una selezione più agevole
   degli strumenti.

     [Alt][O] permette di uscire temporaneamente al DOS per lanciare magari
   qualche  altro  programmino.  Tutti i dati vengono mantenuti in memoria,
   quindi  la  memoria  disponibile  nello  shell  è variabile ed è massima
   quando non ci sono sample caricati. E'  possibile  "shellare"  anche  in
   fase  di  riproduzione, con la musica  in  background.  In  questo  caso
   ovviamente  il  PC  risulta un po' rallentato, inoltre dato che comunque
   l'esecuzione avviene in background possono esserci problemi con:

   - programmi che usano il DAC della SoundBlaster (da non usare);
   - programmi  che  portano  spesso  la  CPU  in  modo protetto o virtuale
     (386),  come  Windows  3.x  o alcuni gestori di memoria (EMM386, QEMM,
     ecc.);
   - programmi che usano pesantemente l'interrupt del timer di sistema  per
     i loro scopi.

     I  maggiori  problemi  si  riscontrano di solito con CPU di tipo 386 o
   486, perché in genere su  questo  tipo  di  macchine  vengono  istallati
   particolari  device  driver di gestione della memoria che portano spesso
   la CPU in modo protetto: in questi casi il suono può risultare  distorto
   a causa del non perfetto funzionamento dell'IRQ usato per il clock.

     Se avete una SoundBlaster Pro  [Alt][V]  vi  permette  di  controllare
   alcuni  importanti  parametri:  il  volume  di  riproduzione,  il filtro
   passa-basso in uscita e il modo stereo. Per cambiare volume basta  usare
   i  tasti cursore [Up], [Down], [Home] ed [End] o direttamente i tasti da
   [0]  a  [7].  I  tasti  [Tab],  [Left]  o  [Right]  servono  invece  per
   selezionare  il  volume  "master"  (che  agisce  globalmente su tutta la
   scheda) o  "DAC"  (solo  sul  DAC).  Premendo  [F]  si  può  attivare  o
   disattivare  il filtro in uscita mentre con [S] si passa dal modo stereo
   a quello mono e viceversa. Osservate che il modo mono ottenuto in questo
   modo ha qualità decisamente superiore a  quello  che  può  ottenere  una
   SoundBlaster "normale".
     Nota: potrete forse osservare che attivando o disattivando il filtro i
   canali  destro  e sinistro del DAC si invertono. Si tratta di un curioso
   comportamento della SoundBlaster Pro che ancora non riesco a spiegare...

   Il  titolo  del  song  o  del  modulo ed il nome del corrispondente file
   possono essere editati  con  [^N]  e  [^F]  rispettivamente,  niente  di
   particolare da dire a riguardo,  dato  che  nel  prossimo  paragrafo  si
   parlerà proprio del funzionamento dell'editor di linea.

   [DRT_EDITLINE]
   4.3. Il "line editor"

     Quanti  editor  ci  sono!  L'editor  di linea non possiede una propria
   posizione fissa sullo schermo e viene richiamato ogni volta che  ci  sia
   da  inserire  o modificare una stringa di caratteri, per esempio il nome
   di un file o il titolo del song.
     Il suo funzionamento è piuttosto intuitivo  e  richiede  solo  qualche
   parola  per  spiegare  alcune  funzioni  "nascoste".  Infatti non solo è
   possibile  usare  come  di  consueto  i  normali  tasti di edit ([Left],
   [Right], [Home], [End],  [Del],  [BackSpace],  ecc.)  ma  anche  qualche
   comando aggiuntivo:

   [^Left]  : sposta il cursore sulla parola a sinistra
   [^Right] : sposta il cursore sulla parola a destra
   [^Home]  : cancella tutti i caratteri a sinistra del cursore
   [^End]   : cancella tutti i caratteri dal cursore in poi

     Quando viene attivato su una stringa esistente il line editor provvede
   a stamparla in  reverse  per  avvertire  l'utente:  a  questo  punto  la
   pressione  di  un  carattere  valido,  per  es. una lettera, cancella la
   stringa corrente e inizia l'inserimento di una nuova stringa, mentre  la
   pressione  di  un tasto di "edit", per es. un tasto cursore, permette di
   modificare la stringa esistente.

     Premendo [ESC] l'operazione viene annullata (la  stringa  riassume  il
   valore  originario),  mentre  premendo  [ENTER] si conferma l'input e la
   stringa assume il nuovo valore. In entrambi  i  casi,  naturalmente,  si
   esce  dall'editor  di linea tornando al punto esatto dal quale lo si era
   attivato.

   [DRT_EDITSAMPLE]
   4.4. Il "sample editor"

     La  gestione  dei  sample  viene  realizzata  in  maniera  semplice ed
   interattiva per mezzo dell'editor dei sample, accessibile  con  [Alt][I]
   dal pattern editor.
     Lo schermo si divide in due finestre, come mostrato in figura.

        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
        ³                       ³               1. finestra di edit
        ³           1           ³
        ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
            ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
            ³               ³
            ³       2       ³                   2. finestra di selezione
            ³               ³
            ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

     Nella  finestra  2  viene  presentata  la lista dei sample presenti in
   memoria con associato il corrispondente numero da utilizzare nel pattern
   editor, è possibile muoversi a piacere nella lista con i tasti  cursore,
   cancellare, sostituire o salvare qualsiasi sample:

   [Alt-A] : salva tutti i sample
   [Alt-C] : cancella la lista (rimuove i sample dalla memoria)
   [Alt-E] : commuta il modo a 43/50 linee su scheda EGA/VGA
   [Alt-L] : legge un sample da disco
   [Alt-O] : shell al DOS
   [Alt-S] : salva un sample su disco

     I  parametri  del  sample  correntemente  selezionato  possono  essere
   modificati nella apposita finestra 1,  alla  quale  si  accede  premendo
   [ENTER]  o  [TAB].  Notate  che  nel caso cerchiate di editare un sample
   "vuoto" viene attivata automaticamente la finestra di  "load",  cioè  il
   programma si comporta come se aveste premuto [Alt][L].

     In  fase  di  edit di un sample è possibile spostarsi tra i vari campi
   utilizzando i tasti cursore [Up] e [Down]: il  campo  selezionato  viene
   stampato in reverse per segnalare che può essere modificato. Nel caso si
   tratti di un campo "alfanumerico", vale a dire una stringa di caratteri,
   viene attivato l'editor di linea, mentre se è un campo numerico  si  può
   modificare con i seguenti tasti:

   [Left] o [-]  : decrementa
   [Right] o [+] : incrementa
   [^Left]       : decremento rapido
   [^Right]      : incremento rapido
   [Home]        : minimo valore
   [End]         : massimo valore

     Sia  nella  finestra di selezione che in quella di edit (a meno di non
   stare usando il "line editor") i sample possono essere ascoltati  usando
   la  tastiera con le stesse modalità viste in precedenza, con l'eccezione
   che premendo la barra  spaziatrice  si  interrompe  un  eventuale  suono
   attivo.  Inoltre  i cambiamenti operati sui campi numerici hanno effetto
   immediato  sull'eventuale  sample  in esecuzione, vale a dire che potete
   sentire  in  tempo  reale  i  risultati  delle   modifiche   effettuate.
   Implementare  questa  funzione mi è costato un po' di fatica ma nel caso
   di parametri "critici", come il "repeat start" e il "repeat length"  (ve
   li ricordate ancora?), si dimostra veramente impagabile.

     Per  questa volta la faccio breve e chiudo senza ulteriori commenti il
   paragrafo, del resto se non vi ricordate tutto c'è sempre l'help  pronto
   a darvi una mano...

   [DRT_DIRS]
   4.5. Le directory di Dr. Track

     Gli eseguibili, il file di help e quello di configurazione  dovrebbero
   essere   posti  tutti  nella  stessa  directory.  Il  programma  infatti
   cerca  questi  file  nella stessa directory da cui è stato lanciato e se
   non li trova non può rendere attive alcune funzioni.
     La "song directory" contiene per l'appunto  i  song,  i  moduli  ed  i
   pattern salvati dal programma. Essa viene  usata  come  default  per  la
   lettura e scrittura di questi "oggetti".
     La  "sample  directory" è invece la directory di default per i sample.
   Essa generalmente si trova su hard-disk e viene usata  per  tenervi  gli
   strumenti usati temporaneamente mentre si compone un song.

     In  altre  parole,  l'I/O  del  pattern editor si svolge attraverso la
   "song directory", mentre quello del "sample editor" mediante la  "sample
   directory".

   [DRT_CMDLINE]
   4.6. I parametri della command line

     Per  default  Dr.  Track  permette  di  lavorare  con un massimo di 64
   pattern diversi, che è il limite imposto dal SoundTracker, però  ne  può
   gestire  in  effetti  fino a 128. Questa possibilità non dovrebbe essere
   mai usata se si intende portare  i  propri  lavori  su  Amiga,  e  viene
   fornita  come un "plus" che non è realmente dovuto ad esigenze pratiche.
   Per attivare i modi alternativi di  funzionamento  bisogna  lanciare  il
   programma specificando lo switch /L.
     Tenete presente che allocare i pattern aggiuntivi ha un certo costo in
   termini di memoria, circa 1K per pattern, e diminuisce quindi la memoria
   disponibile durante uno shell e per il caricamento dei sample.

     Per  partire  direttamente in modo 43/50 linee, con una EGA o una VGA,
   si può usare lo switch /E.

     Con  /R si attiva il modo "relaxed" nel controllo dei moduli in input,
   il che permette di leggere alcuni moduli che altrimenti  non  verrebbero
   riconosciuti.  Questo  switch è da usare solo per caricare file che sono
   sicuramente moduli, altrimenti potrebbero accadere  effetti  collaterali
   imprevedibili, compreso l'"inchiodarsi" del sistema.

     Lo  switch  /X  si  permette  al  programma  di usare (se presente) la
   memoria  espansa,  il  che  fa  risparmiare  qualche  Kbyte  di  memoria
   convenzionale che torna sempre comodo.

     Si può attivare o disattivare l'uso della grafica mediante i parametri
   /G+  e  /G-.  La grafica è attiva per default e comunque solo con schede
   VGA o compatibili.

     Effettuando una shell al DOS il prompt dei  comandi  viene  modificato
   inserendo  all'inizio  i  caratteri  "[DRT] ". Questa opzione può essere
   attivata o disattivata a piacere con /D+ o /D-. Il default è /D+.

     I comandi /P- e /P+, infine, permettono rispettivamente di escludere o
   forzare l'uso della SoundBlaster Pro, in caso ci fossero problemi con la
   routine di auto-detect.

     Riassumendo la sintassi della command line è:

   DRT [/L] [/E] [/R] [/X] [/P[-|+]] [/G[-|+]] [/D[+|-]]

     Una breve schermata di help può essere richiamata con /? o /H, inoltre
   quasi  tutti  gli  switch  sono  preselezionabili utilizzando l'apposito
   programma di configurazione.

   4.7. La finestra di selezione file

     Questa finestra si apre ogni volta che si deve caricare un file (song,
   modulo, sample o pattern) da disco. Il suo  uso  è  piuttosto  intuitivo
   perciò ne parliamo brevemente mettendo in risalto le caratteristiche più
   "nascoste".
     Il menu "Directory" mostra la lista  delle  directory  e  delle  unità
   selezionabili,  per  attivarne una basta posizionarci sopra la barra con
   i tasti cursore e premere [Enter].
     Il menu "File" permette di effettuare la vera e propria selezione  del
   file, con le stesse modalità del menu precedente.
     Oltre  ai  tasti  cursore  è possibile selezionare velocemente un nome
   premendo  il  tasto  corrispondente al carattere iniziale, continuando a
   premere lo stesso tasto la barra si sposterà  sopra  tutti  i  nomi  che
   iniziano per quel carattere.
     Per  passare  dal  menu "File" a quello "Directory" e viceversa si usa
   semplicemente [Tab].
     Premendo [Alt-M] è possibile scegliere la "maschera" su cui si basa la
   lista dei file. E' possibile utilizzare più di una  maschera  usando  la
   virgola come separatore. Per esempio:

        *.MOD           seleziona tutti i file con estensione MOD
        *.MOD,*.DTS     seleziona tutti i file con estensione MOD o DTS

   In effetti la maschera "standard" per l'editor dei pattern è

        *.MOD,*.NST,*.DTS

   che permette di caricare un modulo SoundTracker o NoiseTracker oppure un
   "song"  creato  con  Dr.  Track (dopo la selezione il programma provvede
   automaticamente a riconoscere il tipo di file, qualunque sia il suo nome
   o la sua estensione).

     Quando bisogna scegliere un sample è disponibile il comando ausiliario
   [Alt-I] che commuta tra la lista di default (nome, dimensione, data)  ed
   una  in  cui  vengono visualizzati i nomi originali dei sample. Dato che
   queste informazioni vengono lette dentro i sample stessi, operazione non
   velocissima,  è meglio attivare la lista estesa solo quando si lavora su
   HD e disattivarla in caso di lettura da floppy.

   4.8. Supporto grafico

     Dr. Track lavora esclusivamente in modo testo,  però  con  un  piccolo
   trucco  è stato possibile utilizzare una limitata parte dello schermo in
   modo grafico (versione 1.40 o superiore, solo VGA).
     Questa finestra viene attualmente utilizzata in fase  di  riproduzione
   per visualizzare in tempo reale la forma d'onda inviata in uscita e, nel
   "sample editor", per disegnare il sample corrente.
     Poich‚ l'utilizzo del video BIOS è risultato impossibile per motivi di
   velocità,  ho  dovuto  riscrivere  in  modo  ottimizzato  la routine che
   aggiorna la finestra grafica. Solo i registri standard della VGA vengono
   utilizzati, ma se ci dovessero essere problemi  la  grafica  può  essere
   disabilitata con l'opzione /G- sulla command line.

   [DRT_TIPS]
                            5. L'arte del "modulo"

     Per  scrivere  dei  moduli  non  è  indispensabile  saper  suonare uno
   strumento o "conoscere la musica", però  il  fatto  di  non  partire  da
   "zero"  costituisce  indubbiamente  un vantaggio.  Ma per scrivere buoni
   moduli ci vuole soprattutto l'esperienza acquisita lavorando  per  conto
   proprio e "studiando" le composizioni altrui.
     Dato che un discorso sulla teoria musicale va oltre lo scopo di questo
   documento  vedremo  invece  qualche  "trucco"  che, oltre a poter sempre
   servire in pratica, illustra a dovere lo spirito dei moduli:  "non  dire
   che quattro voci sono poche finch‚ non le hai sfruttate al massimo".

   5.1. Il "tremolo"

     L'abbiamo  già  incontrato  in  qualche  esempio,  ma  dato che questo
   capitolo è il posto più naturale per l'argomento ne  riparliamo  un  po'
   più approfonditamente.
     Mentre  il  vibrato  comporta  una  variazione  di  "pitch", ovvero di
   frequenza, il tremolo consiste in una variazione di ampiezza, quindi  di
   volume.
     Bisogna osservare che la parola  "tremolo"  può  assumere  significati
   diversi   per   strumenti   diversi:  di  solito  significa  una  rapida
   ripetizione della stessa nota (nella chitarra si ha un grande esempio in
   "Recuerdos de la Alhambra" di Tàrrega) però nel pianoforte si usa spesso
   col  significato di "tremolo doppio", nel qual caso  ci  sono  due  note
   (distanti  fra  loro almeno una terza, altrimenti sarebbe un trillo) che
   si alternano rapidamente, spesso ad imitare il rullo dei timpani di  una
   orchestra.
     Per  l'organo  o l'armonium le cose cambiano ancora, ed il risultato è
   una  serie  di  rapide  interruzioni  del  suono  che  lo  rendono,  per
   l'appunto, tremolante.  E questo è ciò che vogliamo realizzare.

     Ci  viene incontro fortunatamente il comando "C" che regola il volume.
   Cambiando ripetutamente il volume  di  un  canale  l'effetto  tremolo  è
   presto realizzato:

   C-2 01 C40
   C-2 01 C10
   C-2 01 C40
   C-2 01 C10
   ecc.

     I valori naturalmente sono stati scelti a caso, così come è arbitrario
   il  fatto  di  ripetere  il  comando  (o  la  nota,  dipende dal tipo di
   strumento) ad ogni frame.

     Un  effetto  un po' più strano si potrebbe avere usando il comando "A"
   ("volume slide"):

   C-2 01 A02
   C-2 01 A20
   C-2 01 A02
   C-2 01 A20
   ecc.

     Non resta che fare qualche esperimento  e  trovare  la  soluzione  più
   adatta,  ricordando  tra l'altro che le "macro" messe a disposizione dal
   programma sono utilissime per scrivere sequenze di questo tipo.

   5.2. Velocità 3 e 1/2

     Una particolare tecnica usata a volte nei moduli consiste nel cambiare
   continuamente  velocità,  usando il comando "F" in ogni frame. In questo
   caso le velocità più usate sono 3 e 4, ed il  risultato  finale  si  può
   considerare come una velocità di 3 e 1/2:

   C-3 01 F03
   B-2 01 F04
   A-2 01 F03
   G-2 01 F04
   ecc.

     E' particolarmente utile nei "rullati"  di  batteria,  ma  sono  stati
   scritti  interi  song  su  questa  variazione di velocità, tanto che dal
   SoundTracker 2.6 in poi è stata  estesa  la  sintassi  del  comando  "F"
   permettendo note del tipo:

   C-3 01 F34

   che raggiungono lo  stesso  scopo  ottenuto  sopra  in  modo  assai  più
   conciso.

   5.3. Quattro voci: poche?

     A  volte  si  sente  il  bisogno di qualche canale in più, ma dato che
   bisogna  arrangiarsi  con  quel  che  si  ha  è  meglio studiare qualche
   strategia alternativa.
     Realizzare   effetti  come  echo,  delay  o  simili  non  è  difficile
   utilizzando più di un canale, per esempio potremmo  avere  qualcosa  del
   genere:

   C-2 01 C40    ... .. ...    ... .. ...
   ... .. ...    ... .. ...    ... .. ...
   ... .. ...    C-2 01 C20    ... .. ...
   ... .. ...    ... .. ...    ... .. ...
   ... .. ...    ... .. ...    C-2 01 C10
   ... .. ...    ... .. ...    ... .. ...
   ecc.

     Purtroppo  sprecare  due  o  tre  canali  in  questo modo non è sempre
   possibile, come fare allora? La  soluzione  consiste  nel  modificare  i
   sample:  aggiungendo  l'effetto  sul  sample piuttosto che scrivendolo a
   mano  si  ottiene  lo  stesso  risultato con un canale solo e con minore
   fatica. L'importante a questo punto è avere qualche programma  in  grado
   di  modificare  i  sample per creare l'effetto desiderato, ma dato che i
   sample di Dr. Track possono essere convertiti in VOC e viceversa, non  è
   difficile trovare una utility adatta tra le tante che esistono.

     Questa  tecnica  si può usare anche per gli accordi: invece di buttare
   via i tre canali necessari per un accordo  "standard"  basta  campionare
   direttamente l'accordo desiderato. Non a caso capita infatti di  trovare
   in qualche modulo lo stesso strumento campionato come accordo maggiore e
   minore,  e  ne  ho  visto  uno  in  cui ci sono ben nove tipi diversi di
   accordo realizzati con lo stesso strumento! Certo si spreca  un  po'  di
   spazio, ma con 31 sample a disposizione è un sacrificio che si fa a cuor
   leggero,  pur  di  risparmiare  qualche  canale. E a pensarci bene se un
   accordo di tre note suona su un  solo  canale  in  quel  momento  stiamo
   suonando (almeno) a 6 voci!

   5.4. "LET'S GO... Go... go..."

     Non  resisto  alla tentazione di propinarvi questo bell'effetto stereo
   (con la SoundBlaster va a farsi friggere, lo so, ma considerate pure che
   i vostri moduli potranno essere eseguiti su Amiga) che ho visto usare in
   più moduli.
     L'idea  è  questa:  abbiamo  un sample che dice "LET'S GO!" e vogliamo
   fare in modo che il "GO!" finale "echeggi" qualche  altra  volta  magari
   passando  da  un  canale  all'altro. Non possiamo usare il metodo di eco
   visto sopra perché dopo la prima  volta  non  vogliamo  più  sentire  il
   "LET'S",  e nemmeno possiamo mettere l'eco nel sample perché vogliamo lo
   "stereo".
     La soluzione al problema è alquanto brillante  e  usa  il  metodo  del
   paragrafo precedente unito al comando "C".
     Per  prima  cosa  bisogna  stabilire  dopo quanti frame (alla velocità
   corrente, eventualmente modificata per l'occasione) si  sente  il  "GO!"
   che vogliamo ripetere:

   0    A-2 02 C40    L
   1    ... .. ...    E
   2    ... .. ...    T
   3    ... .. ...    S
   4    ... .. ...
   5    ... .. ...    G
   6    ... .. ...    O

     Supponiamo che il "GO!" si senta esattamente 5 frame dopo l'inizio del
   sample:  per  realizzare  l'effetto voluto si esegue allora il sample su
   vari canali, ma tenendo il volume a zero finch‚ non  arriva  il  momento
   giusto!

   A-2 02 C40  L     ... .. ...        ... .. ...        ... .. ...
   ... .. ...  E     ... .. ...        ... .. ...        ... .. ...
   ... .. ...  T     A-2 02 C00 (L)    ... .. ...        ... .. ...
   ... .. ...  S     ... .. ... (E)    ... .. ...        ... .. ...
   ... .. ...        ... .. ... (T)    A-2 02 C00 (L)    ... .. ...
   ... .. ...  G     ... .. ... (S)    ... .. ... (E)    ... .. ...
   ... .. ...  O     ... .. ...        ... .. ... (T)    A-2 02 C00 (L)
   ... .. ...        ... .. C30  G     ... .. ... (S)    ... .. ... (E)
   ... .. ...        ... .. ...  O     ... .. ...        ... .. ... (T)
   ... .. ...        ... .. ...        ... .. C20  G     ... .. ... (S)
   ... .. ...        ... .. ...        ... .. ...  O     ... .. ...
   ... .. ...        ... .. ...        ... .. ...        ... .. C10  G
   ... .. ...        ... .. ...        ... .. ...        ... .. ...  O
   ... .. ...        ... .. ...        ... .. ...        ... .. ...

     Osservate  che  nei  vari  canali  si  inizia il sample direttamente a
   volume zero (le lettere tra parentesi non si sentono) e poi si  alza  il
   volume  al  livello  desiderato  per  sentire il "GO!" finale. Osservate
   anche che in questo caso il processo  potrebbe  continuare  all'infinito
   perché  nel  frattempo  si  è  liberato  il primo canale, che può quindi
   essere usato ancora per iniziare un nuovo ciclo. Bello, no?

   5.5. Conclusioni

     Ho scelto i  quattro  esempi  precedenti,  piuttosto  eterogenei,  per
   dimostrare  che  con  un  po'  di esperienza ed un pizzico di ingegno si
   possono realizzare cose molto buone anche con sole quattro voci e con  i
   comandi disponibili.
     Ce  ne  sarebbero  altri e probabilmente molti ancora che non conosco,
   ma penso ci sia più soddisfazione nel costruire pian  piano  il  proprio
   personale repertorio di trucchi, piuttosto che leggerli direttamente.
     Dr. Track, sennò, che ce l'avete a fare?


                              6. Ultime note...

     E siamo giunti (quasi) alla fine di questo "manuale". Scriverlo  mi  è
   costato  non  poca fatica e parecchie ore di lavoro, spero che l'abbiate
   trovato sufficientemente chiaro ed esauriente.
     Qui appresso ci sono le  "solite"  note  riguardanti la  non-garanzia,
   l'hardware e il software necessari, ecc.

   6.1. Hardware

     Dr.  Track richiede per girare almeno un  DOS  3.x  e  circa  400K  di
   memoria   libera   al  momento  del  lancio, nonch‚, dalla versione 1.30
   in poi, una CPU di classe 80286 o superiore.

     Per quel che riguarda la scheda video ne va bene una qualunque, ma con
   una EGA o una VGA l'estetica ne guadagna senza dubbio parecchio (e anche
   la funzionalità, con i modi a 43 e 50 linee).

   ************************************************************************
   * Nota:  alcuni  programmi, per esempio EMM386.EXE e QEMM.EXE, portano *
   * la CPU in modo virtuale e ciò può rendere incostanti  gli  interrupt *
   * causati  dal  DMA  provocando  una  perdita  di  qualità  in fase di *
   * riproduzione.  In questi casi provate a rimuovere  o  disattivare  i *
   * programmi  sospetti prima di dedurre che il player fa schifo (il che *
   * naturalmente non è affatto vero)!                                    *
   ************************************************************************

   6.2. Software

     Sebbene  l'unico file veramente indispensabile sia DRT.EXE è opportuno
   porre nella stessa directory anche DRT.CFG  (configurazione, comunque il
   programma è capace di autoconfigurarsi) e DRT.HLP  (help,  questa  volta
   Dr. Track non riesce proprio ad autoaiutarsi).
     Al  pacchetto  sono  incluse  poi  una  serie di utility documentate a
   parte, che implementano  una  serie  di  funzioni  ausiliarie  piuttosto
   comode in fase di sviluppo.

   [DRT_WARNING]
   6.3. La "non-garanzia"

     Com'è ormai consuetudine in ogni programma che si rispetti,  ecco  qui
   le righe che mi discolpano da ogni danno arrecato al vostro amato PC. Il
   programma è stato testato e messo alla prova in numerosissime situazioni
   anche  potenzialmente  "pericolose"  e  non ha mai dato problemi nemmeno
   nelle versioni precedenti, però visto che non si sa mai...

*    In questa versione "free" il programma può essere liberamente  copiato
   e  distribuito  sotto  forma di UN UNICO ARCHIVIO o di UN UNICO DISCO, a
   patto che siano presenti tutti i file contenuti nel pacchetto  originale
   e  che  questi  non  siano  stati  modificati.  La versione "free" viene
   rilasciata come FreeWare, è gratuita e non deve essere  venduta  se  non
   dietro autorizzazione scritta dell'autore.

*    Bench‚ sia stata posta la massima cura nella realizzazione del sistema
   "Dr. Track", l'autore declina ogni responsabilità  per  eventuali  danni
   causati dal programma o da un errato uso dello stesso. Lanciare ed usare
   il  programma implica l'aver letto e accettato questa "clausola".
     La precedente condizione vale inoltre  per  tutti  i  programmi  e  la
   documentazione contenuta nel pacchetto originale.

   [DRT_AUTHOR]
   6.4. L'autore

     Cioè  me. Potete contattarmi per via telematica lasciando un messaggio
   su una delle seguenti BBS:

   Hor
   Comar BBS Support
   Tel. XXXXXXX    7 linee r.a. 300-14400 MNP5 24h

   Alessandro Scotti
   SBDI (SoundBlaster Digest Italia) BBS
   Tel. XXXXXXX    300-9600 MNP5 24h

   oppure via posta scrivendo a:

   Alessandro Scotti
   Via X. Xxxxxxxx Xx
   00100 ROMA


                           Appendice A - Revisioni
                           -----------------------

   Nota:   le   modifiche  più  importanti  sono  segnalate  con  un  punto
   esclamativo.

   Versione 1.10

   ! sintassi  della  command-line  estesa e rivista, nuovi switch: /E, /R,
     /L;
   - possibilità di partire direttamente in modo 43/50 linee;
   - controllo  meno  rigido  sui  moduli  in  input   per   estendere   la
     compatibilità con altri tracker;
   - corretto un bug nella schermata di help ottenuta con /? o /H;
   - nuovi messaggi di errore e lievi cambiamenti nei vecchi;
   - nuovo comando nel "sample editor"  che  massimizza  il  volume  di  un
     sample agendo direttamente sui dati in esso contenuti;
   - possibilità  di  trasportare l'intero song di un semitono in alto o in
     basso agendo dall'"order editor";
   ! eliminato il backslash ("\") che veniva  aggiunto  automaticamente  ai
     nomi delle directory facendo perdere un carattere significativo;
   - possibilità  di  selezionare  i  sample visualizzando i nomi originali
     Amiga.

   Versione 1.20

   - corretti  un  paio di bug sfuggiti ai precedenti controlli (e scoperti
     mentre si cercava qualcos'altro);
   ! gestione di librerie di sample con nomi definiti dall'utente;
   ! estese  le  capacità  dei  song  per  utilizzare le nuove librerie  di
     sample;
   - visualizzazione  dei nomi dei primi 28 sample nel "pattern editor", in
     modo VGA 50 linee;
   ! possibilità  di  usare  la  memoria  espansa  per contenere i pattern,
     permettendo un risparmio di memoria di 64K (sempre utili);
   - sensibile incremento della velocità del  player,  in  questo  modo  la
     velocità   risulta   praticamente   immutata  rispetto  alle  versioni
     precedenti anche usando la memoria espansa;
   - nuovo switch /X.

   Versione 1.30

   - nuovo editor di linea;
   - possibilità di suonare "sopra"  un  song  senza  memorizzare  le  note
     ("test mode");
   ! migliorata la finestra di selezione file, è ora possibile  selezionare
     direttamente   un   file,  una  directory  o  una  maschera  (o  tutto
     insieme...);
   - durante   la   selezione  file  l'ultima  directory  utilizzata  viene
     memorizzata e riproposta come default alla successiva lettura;
   - nuova funzione per ascoltare un sample senza caricarlo in memoria;
   ! manuale di riferimento on-line;
   ! supporto per la SoundBlaster Pro (stereo, 7 bit per traccia),
   - finestra  di  controllo  per  il mixer della SoundBlaster Pro (volumi,
     filtro, mono/stereo);
   - nuovo switch /P[-|+] per escludere o forzare l'uso della SB Pro.

   Versione 1.40

   ! versione  "FreeWare"  senza limitazioni, per festeggiare la fine di UN
     ANNO di servizio militare;
   - selezionando un file per nome viene aggiunta l'estensione .MOD  se  il
     file senza estensione non esiste (ok, avrebbe gia' dovuto esserci...);
   - occupazione  di  memoria ridotta di circa 15K, in parte utilizzati per
     implementare le nuove funzioni;
   - possibilita' di cambiare il prompt dei comandi durante una shell;
   ! volume globale;
   ! finestra grafica (96x48 in modo testo!) e relativo switch /G[+|-];
   - i sample possono ora essere caricati direttamente  anche  nei  formati
     WAVE e VOC (limitatamente ai file più "semplici");
   - fade out automatico in riproduzione ([Alt][F]).

   Versione 1.45

   - alcuni piccoli ritocchi che per mancanza di tempo non era stato
     possibile inserire nella versione precedente;
   - sistema di help completamente riscritto con più informazioni e in
     formato hypertext;
   - il file di configurazione è ora in formato testo anzich‚ binario.

               Appendice B - Formato dei file sample (.SMP)
               --------------------------------------------

   Offset       Lunghezza       Descrizione
        0              10       Sample ID (#$09 + '#SAMPLE#' + #$1A)
       10               1       Lunghezza nome sample
       11              22       Nome sample
       33               2       Lunghezza sample
       35               1       (non usato, sempre zero)
       36               1       Volume sample
       37               2       Offset parte repeat
       39               2       Lunghezza parte repeat
       41            ....       Dati sample (8 bit, signed)


                                    Indice
                                    ------

     Questo documento contiene  all'interno  delle  parole  chiave  che  ne
   facilitano  la consultazione on-line. Per trovare l'argomento desiderato
   consultate l'indice qui sotto e cercate nel testo (con un normale editor
   o un text-viewer)  la  parola  chiave  associata  (si  può  omettere  il
   prefisso DRT e le parentesi quadre ma è meglio tenere l'underscore).

   1. Introduzione                                      [DRT_INTRO]
        1.1. Cos'è il SoundTracker
        1.2. Cos'è il Dr. Track
        1.3. Dai "song" ai "moduli" e viceversa
        1.4. Amiga vs PC
   2. Dentro i moduli (prima parte)
        2.1. Gli strumenti                              [DRT_SAMPLE]
        2.2. Le note                                    [DRT_NOTE]
        2.3. I "frame"                                  [DRT_FRAME]
        2.4. I "pattern"                                [DRT_PATTERN]
        2.5. L'"order list"                             [DRT_ORDER]
        2.6. Il tempo                                   [DRT_TEMPO]
   3. Dentro i moduli (seconda parte)
        3.1. I comandi
                (arpeggio)                              [DRT_ARPEGGIO]
                (portamento verso l'alto)               [DRT_PORTUP]
                (portamento verso il basso)             [DRT_PORTDOWN]
                (portamento verso una nota)             [DRT_TONEPORT]
                (cambiamento volume)                    [DRT_VOLSLIDE]
                (vai al pattern...)                     [DRT_JUMP]
                (nuovo volume)                          [DRT_SETVOLUME]
                (interrompi pattern)                    [DRT_BREAK]
                (nuova velocità)                        [DRT_SETSPEED]
   4. L'ambiente di lavoro
        4.1. Struttura del programma
        4.2. Il "song editor"
                4.2.1. Il "pattern editor"              [DRT_EDITPATTERN]
                        (comandi blocchi)               [DRT_EDITBLOCK]
                        (macrocomandi)                  [DRT_EDITMACRO]
                4.2.2. L'"order editor"                 [DRT_EDITORDER]
                4.2.3. Il "player"                      [DRT_PLAY]
                4.2.4. Registrando in tempo reale       [DRT_RECORDING]
                4.2.5. Input e output                   [DRT_IO]
                4.2.6. "Sample and song"                [DRT_SONG]
                4.2.7. Librerie di sample               [DRT_SAMPLELIB]
                4.2.8. Altri comandi...                 [DRT_EDITMISC]
        4.3. Il "line editor"                           [DRT_EDITLINE]
        4.4. Il "sample editor"                         [DRT_EDITSAMPLE]
        4.5. Le directory di Dr. Track                  [DRT_DIRS]
        4.6. I parametri della command line             [DRT_CMDLINE]
        4.7. La finestra di selezione file
        4.8. Supporto grafico
   5. L'arte del "modulo"                               [DRT_TIPS]
        5.1. Il "tremolo"
        5.2. Velocità 3 e 1/2
        5.3. Quattro voci: poche?
        5.4. "LET'S GO... Go... go..."
        5.5. Conclusioni
   6. Ultime note
        6.1. Hardware
        6.2. Software
        6.3. La "non-garanzia"                          [DRT_WARNING]
        6.4. L'autore                                   [DRT_AUTHOR]

   Appendice A - Revisioni
   Appendice B - Formato dei file .SMP