Testen der Outputs und Ausgabefunktionalität der DSP-MADI
Einleitung:
Da der Test von 64 Ausgangskanälen sehr zeitaufwendig ist, wenn er händisch erfolgt wurde eine Methode gesucht welche schnell und eindeutig ist und trotzdem dem klassischen Sinustest entspricht (Bei Sinus hört man Verzerrungen am ehesten).
So spielt das Programm der Reihe Nach Sinustöne in die Ausgangbuffer, welche siche jeweils um eine Differenzfrequenz harmonisch erhöhen. Damit kann sowohl die Reihenfolge als auch das Fehlen von Signalen gehört werden, da wir im Tonleiterhören meist geübt sind und somit intuitiv Fehler abeweichend der Tonleiter hören. Dazu wurde die Verstimmung in Cents implementiert wobei als Grundeinstellung 100 Cent = 1 Halbton verwendet wird. Alle Parameter wie Zeiten in Mikrosekunden Frequenzen und Amplituden können mittels Kommandozeilenparameter angegeben werden.
Hinweis: Um die Kanäle am Analogausgang zu hören sollte der Line Out eingeschaltet und Alle Kanäle abwechselnd auf Kanal 63,64 gemixt werden. Dies kann mit hdspmmixer und einen shellscript gemacht werden (siehe Beispielskripte).
Verwendung:
Aufruf:
outtest [OPTION]...
Optionen: (siehe outtest -h):
-h,--help help -D,--device playback device (e.g.: hw:0,0) -r,--rate stream rate in Hz -c,--channels count of channels in stream -a,--amp amplitude decrease in dB (eg.: -a -10 for -10dB) -f,--frequency sine wave frequency in Hz -i,--incrton incr freq of each channel in cent (100 Cent= 1 semitone) -t,--incrtime incr time of each channel in mikroseconds -b,--buffer ring buffer size in microseconds -p,--period period size in microseconds -m,--method transfer method (0,..,2) 0=write,1=write_mmap,2=direct_mmap,.. -R,--realtime set Realtime Scheduling (0,1) 0=lower 1=higher -v,--verbose increase verbosity
Beispiel:
./outtest -v -v -c 64 -a -20 -f 200 -t 100000 -p 100000 -m 2
mfg winfried