Home |
Registration |
Accommodation and Travel |
List of Participants |
Program |
Installation instructions are available here.
These differ from the instructions on the gstlal project page, in that they are based on official GStreamer release tar balls (instead of git clones) and cover installation on LSC clusters only. Installing GStreamer from tar balls is much simpler but is not suitable for people who wish to do GStreamer development.
A quick anatomy lesson, how all the bits fit together.
$ gst-launch-0.10 filesrc location=10_-_My_Boy_Builds_Coffins.mp3 ! mad ! audioconvert ! audioresample ! osssinkgst-launch is a quick and dirty way of constructing pipeline graphs from the command line. We can visualize this graph easily using dot. Try setting the GST_DEBUG_DUMP_DOT_DIR variable:
$ GST_DEBUG_DUMP_DOT_DIR=. gst-launch-0.10 filesrc location=10_-_My_Boy_Builds_Coffins.mp3 ! mad ! audioconvert ! audioresample ! osssink $ dot 0.00.00.157226141-gst-launch.PAUSED_PLAYING.dot -Tpng -o playing.png
$ gst-launch-0.10 filesrc location=10_-_My_Boy_Builds_Coffins.mp3 ! mad ! autoaudiosink
$ gst-inspect gstlal Plugin Details: Name: gstlal Description: Various bits of the LIGO Algorithm Library wrapped in gstreamer elements Filename: /archive/home/channa/gstopt/lib/gstreamer-0.10/libgstlal.so Version: 0.1.0 License: GPL Source module: gstlal Binary package: gstlal Origin URL: http://www.lsc-group.phys.uwm.edu/daswg lal_iirbank: IIR Filter Bank lal_delay: Drops beginning of a stream lal_reblock: Reblock lal_nofakedisconts: Discontinuity flag fix lal_timeslide: Time Slide lal_togglecomplex: Toggle Complex lal_sumsquares: Sum-of-Squares lal_firbank: FIR Filter Bank lal_autochisq: Autocorrelation \chi^{2} lal_chisquare: Inspiral \chi^{2} lal_gate: Gate lal_triggerxmlwriter: Trigger XML Writer lal_triggergen: Trigger Generator lal_gap_trigger_veto: Gap Trigger Veto lal_skymap: Skymap lal_coinc: Coincidence Generator lal_multiplier: Multiplier lal_adder: Adder lal_nxydump: NXY Dump lal_whiten: Whiten lal_simulation: Simulation lal_matrixmixer: Matrix Mixer lal_framesrc: GWF Frame File Source 23 features: +-- 23 elements $ gst-inspect python Plugin Details: Name: python Description: loader for plugins written in python Filename: /archive/home/channa/gstopt/lib/gstreamer-0.10/libgstpython.so Version: 0.10.19.2 License: LGPL Source module: gst-python Binary package: GStreamer Python Bindings Origin URL: http://gstreamer.freedesktop.org lal_checktimestamps: Timestamp Checker Pass-Through Element lal_fakeadvligosrc: Fake Advanced LIGO Source lal_fakeligosrc: Fake LIGO Source lal_fakeskymapsrc: Fake skymap source lal_onlinehoftsrc: Online h(t) Source lal_nongap_duty_cycle: Nongap Duty Cycle 6 features: +-- 6 elements
$ gst-launch \ audiotestsrc wave=pink-noise num-buffers=1 samplesperbuffer=128 \ ! audio/x-raw-float,rate=16384,width=64 ! tee name=in_tee \ \ in_tee. ! queue ! lal_nxydump ! filesink location=x.txt sync=false \ in_tee. ! queue ! audioresample ! audio/x-raw-float,rate=4096,width=64 ! lal_nxydump ! filesink location=y.txt sync=falseThis pipeline creates an audio test source of pink noise sampled at 16384 Hz. It downsamples the stream to 4096 Hz and writes the original stream to disk as well as the downsampled one. This pipeline is a bit more complicated than the previous one:
#!/usr/bin/python import numpy import pylab x = numpy.loadtxt("x.txt") y = numpy.loadtxt("y.txt") pylab.plot(x[:,0],x[:,1]) pylab.plot(y[:,0],y[:,1]) pylab.ylabel('amplitude') pylab.xlabel('time') pylab.title('Time series at two sample rates') pylab.savefig('audioresample.png')