====== txt2snd ====== ''txt2snd'' is a small tool that allows to convert [[sf>ngspice]] (wikipedia: [[wp>SPICE]]) output into audio files - it's yet rather simple but has a built-in help. it's the predecessor and branch of the code now included in [[start|spicesound]]. As an external tool it's more flexible but much slower. get the source: {{txt2snd-0.1.1.tar.gz}} ''txt2snd'' reads 4 tabulator separated values per line in the format: example: 11 8.916652e-05 1.846313e-02 -7.477363e-01 this format can easily be generated by SPICE. in the following example 20 seconds of ''net 5'' are printed at 48kSPS: .print tran v(4) v(5) .tran 2.08333e-05 20.0 0 2.08333e-05 .op Note: Rounding (spice-milliseconds to audio-sample) is buggy and txt2snd includes an //only sometimes working// workaround (use ''--verbose'' to investigate skipped/missing frames). the following script might come in handy.. #!/bin/sh INFILE=example.netlist OUTFILE=/tmp/spice.txt WAVFILE=/tmp/spice.wav echo "# writing data to $OUTFILE" ngspice -b $INFILE | awk 'BEGIN{go=0;} /^-------------------------------------/{go=1;} /^[0-9]/{if (go==1) print $0;}' > $OUTFILE echo "# txt to snd" cat $OUTFILE | txt2snd $WAVFILE echo "# done."