changeset 76:cdea695a1f25

...
author Chris Cannam
date Fri, 17 Nov 2006 16:26:22 +0000
parents 883f49d80bd3
children bedc7517b6e8
files osc/demoscript.sh
diffstat 1 files changed, 262 insertions(+), 114 deletions(-) [+]
line wrap: on
line diff
--- a/osc/demoscript.sh	Wed Nov 15 20:00:48 2006 +0000
+++ b/osc/demoscript.sh	Fri Nov 17 16:26:22 2006 +0000
@@ -1,14 +1,35 @@
 #!/bin/bash
 
-audio=$HOME/music
-preferred=$audio/ogg/linux
+audio=/data/music
+preferred=$audio/free
 list=audiofiles.txt
 used=audiofiles-used.txt
 
+df=vamp:vamp-aubio:aubioonset:detectionfunction
+#df=vamp:qm-vamp-plugins:qm-tempotracker:detection_fn
+onsets=vamp:vamp-aubio:aubioonset:onsets
+#onsets=vamp:qm-vamp-plugins:qm-tempotracker:beats
+beats=vamp:vamp-aubio:aubiotempo:beats
+#beats=$onsets
+#onsets=$beats
+chromagram=vamp:qm-vamp-plugins:qm-chromagram:chromagram
+notes=vamp:vamp-aubio:aubionotes:notes
+
+pid=`cat /tmp/demoscript.pid 2>/dev/null`
+if [ -n "$pid" ]; then
+    kill "$pid"
+fi
+echo $$ > /tmp/demoscript.pid
+trap "rm /tmp/demoscript.pid" 0
+
 sv-command quit
+sleep 1
+killall -9 sonic-visualiser
+sleep 1
 
 pick_file()
 {
+    file=""
     count=`wc -l "$list" 2>/dev/null | awk '{ print $1 }'`
     if [ ! -f "$list" ] || [ "$count" -eq "0" ] ; then
 	find "$audio" -name \*.ogg -print >> "$list"
@@ -34,8 +55,11 @@
     if ! sv-command open "$file"; then
 	pid="`pidof sonic-visualiser`"
 	if [ -z "$pid" ]; then
-	    ( setsid ../sonic-visualiser & )
+	    ( setsid sonic-visualiser -geometry 1000x500+10+100 & )
 	    sleep 2
+            sudo renice +19 `pidof sonic-visualiser`
+            sudo renice +18 `pidof Xorg`
+            sv-command resize 1000 500
 	    load_a_file
 	else
 	    echo "ERROR: Unable to contact sonic-visualiser pid $pid" 1>&2
@@ -47,14 +71,14 @@
 show_stuff()
 {
     sv-command set overlays 2
-    sv-command set zoomwheels 1
+#    sv-command set zoomwheels 1
     sv-command set propertyboxes 1
 }
 
 hide_stuff()
 {
     sv-command set overlays 0
-    sv-command set zoomwheels 0
+#    sv-command set zoomwheels 0
     sv-command set propertyboxes 0
 }
 
@@ -76,9 +100,9 @@
     sv-command set overlays 0
     sv-command set zoomwheels 0
     sv-command set propertyboxes 0
-    sv-command setcurrent 1 1
-    sv-command delete layer
-    sv-command setcurrent 1 1
+#    sv-command setcurrent 1 1
+#    sv-command delete layer
+#    sv-command setcurrent 1 1
     sv-command set layer Colour Red
     sleep 1
     sv-command set pane Global-Zoom off
@@ -118,9 +142,13 @@
 
 slow()
 {
-    for speed in -1 -10 -20 -30 -40 -50 -60 -70 -80 -100 -140 -200 -250 -300 -400 -500 -700 -800 -900 -1000; do
-	sv-command set speedup "$speed"
-	sleep 1
+#    for speed in -1 -10 -20 -30 -40 -50 -60 -70 -80 -100 -140 -200 -250 -300 -400 -500 -700 -800 -900 -1000; do
+#	sv-command set speedup "$speed"
+#	sleep 1
+#    done
+    for speed in -20 -100 -1000; do
+        sv-command set speedup "$speed"
+        sleep 10
     done
 }
 
@@ -139,9 +167,10 @@
 {
     sv-command set propertyboxes 1
     sv-command add spectrogram
-    sv-command set layer Window-Size 4096
-#    sv-command set layer Window-Overlap 4
-    sv-command set layer Window-Overlap 3
+    sv-command set layer Window-Size 8192
+#    sv-command set layer Window-Size 4096
+    sv-command set layer Window-Overlap 4
+#    sv-command set layer Window-Overlap 3
     sv-command set layer Frequency-Scale Log
     sv-command set layer Colour-Scale Meter
 }
@@ -152,12 +181,12 @@
     for x in 1 2 3 4 5 6; do
 	max=$((8000 - 1000*$x))
 	sv-command zoomvertical 43 "$max"
-	sleep 0.1
+	sleep 0.5
     done
     for x in 1 2 3 4 5; do
 	max=$((2000 - 100 * $x))
 	sv-command zoomvertical 43 "$max"
-	sleep 0.1
+	sleep 0.5
     done
 }
 
@@ -170,56 +199,146 @@
 
 playback_bits()
 {
+    sv-command setcurrent 1
+    sv-command set pane Global-Zoom off
+    sv-command set pane Global-Scroll off
     sv-command set pane Follow-Playback Scroll
     sv-command jump 10
-    sv-command setcurrent 1 2
+    sv-command setcurrent 1 1
+    sv-command delete layer
+    sv-command setcurrent 1 1
+#    sv-command setcurrent 1 2
     sv-command set layer Colour Blue
     sleep 5
     hide_stuff
+    sv-command set overlays 0
+    sv-command set zoomwheels 0
+    sv-command set propertyboxes 0
     fade_in
     sleep 10
-    scroll_and_zoom
-    sleep 10
-    slow
-    #sv-command set layer Normalize-Visible-Area on
-    for zoom in 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1; do
+#    sv-command set layer Colour Blue
+#    sleep 1
+#    sv-command set layer Colour Orange
+#    sleep 1
+#    sv-command set layer Colour Red
+#    sleep 1
+#    sv-command set layer Colour Green
+#    sleep 1
+#    sleep 1
+    
+    
+#    scroll_and_zoom
+
+#    sv-command set overlays 0
+#    sv-command set zoomwheels 0
+#    sv-command set propertyboxes 0
+#    sv-command setcurrent 1 1
+#    sv-command delete layer
+#    sv-command setcurrent 1 1
+#    sv-command set layer Colour Red
+#    sleep 1
+#    sv-command set pane Global-Zoom off
+#    sv-command set pane Global-Scroll off
+#    sv-command set pane Follow-Playback Scroll
+    sv-command set zoomwheels 1
+    sleep 1
+    for zoom in 950 900 850 800 750 700 650 600 550 512 450 400 350 300 256 192 160 128 96 64 48 32 24 16; do
 	sv-command zoom $zoom
 	sleep 0.1
     done
-    sleep 8
+    
+    sleep 1
+    sv-command set zoomwheels 0
+    sv-command zoom 16
+
+    sleep 10
+    #slow
+    #sv-command set layer Normalize-Visible-Area on
+#    for zoom in 15 14 13 12 11 10 9 8 7 6 5 4 ; do
+#	sv-command zoom $zoom
+#	sleep 0.1
+ #   done
+    sleep 1
+    sv-command set zoomwheels 0
+    slow
+    sleep 7
     fade_out
+    sv-command setcurrent 1
+    sv-command set pane Follow-Playback Page
+    sv-command set pane Global-Zoom on
+    sv-command set pane Global-Scroll on
     done_playback_bits=1
 }
 
 spectrogram_bits()
 {
+    sv-command set pane Global-Zoom on
+    sv-command zoom 1024
     add_melodic_range_spectrogram
-    sv-command zoom 256
-    sleep 10
+    sv-command zoom 1024
+    sleep 5
+    sv-command jump 10
+    sleep 20
     zoom_in_spectrogram
     sleep 20
 
-    if [ -n "$done_playback_bits" ]; then
-	sv-command setcurrent 1
-	sv-command zoom out
-	sv-command zoom out
-	sv-command zoom out
-	sv-command zoom out
-	sv-command zoom out
-	sv-command setcurrent 2
-    fi
+    sv-command select 7.5 11
+    fade_in selection
+    sleep 10
+    sv-command set speedup -200
+    sleep 10
+    sv-command setcurrent 1
+    sv-command delete pane
+    sv-command zoom in
+    sv-command setcurrent 1 2
+    sv-command set layer Normalize-Columns off
+    sv-command set layer Normalize-Visible-Area on
+    sleep 20
+    sv-command set speedup 0
+    sleep 10
+    sv-command select none
+#    fade_out
+
+#    if [ -n "$done_playback_bits" ]; then
+#	sv-command setcurrent 1
+#	sv-command zoom out
+#	sv-command zoom outvamp:qm-vamp-plugins:qm-chromagram:chromagram
+#	sv-command zoom out
+#	sv-command zoom out
+#	sv-command zoom out
+#	sv-command setcurrent 2
+#    fi
     
-    hide_stuff
-    fade_in
+#    hide_stuff
+#    fade_in
     sleep 10
-    sv-command set layer Bin-Display Frequencies
+#    sv-command set layer Bin-Display Frequencies
+#    sv-command set layer Normalize-Columns on
+#    sleep 20
+    sv-command set layer Bin-Display "All Bins"
     sv-command set layer Normalize-Columns on
+    sv-command set layer Normalize-Visible-Area off
+    sv-command set layer Colour-Scale 0
+    sv-command set layer Colour "Red on Blue"
+    sv-command zoomvertical 23 800
     sleep 20
-    sv-command set layer Bin-Display "All Bins"
-    sv-command set layer Colour "Red on Blue"
-    sleep 10
+    sv-command transform $onsets
+    sv-command set layer Colour Orange
+    sleep 20
     fade_out
     sleep 1
+#    sv-command jump 10
+#    sv-command setcurrent 1 2
+#    sv-command set layer Colour "Black on White"
+#    sv-command transform $notes
+#    sv-command set layer Colour Orange
+    sleep 10
+#    sv-command setcurrent 1 3
+#    sv-command delete layer
+    sv-command setcurrent 1 3
+    sv-command delete layer
+    sv-command setcurrent 1 2
+    sv-command set layer Colour Default
     done_spectrogram_bits=1
 
 #    zoom_in_spectrogram_further
@@ -228,48 +347,72 @@
 onset_bits()
 {
     show_stuff
+    sv-command set zoomwheels 0
     sv-command setcurrent 1
     sv-command set pane Global-Zoom on
     sv-command set pane Global-Scroll on
-    sleep 5
-    sv-command zoom default
-    sv-command zoom in
-    sv-command zoom in
+    sleep 0.5
+    sv-command set layer Colour Blue
+    sleep 0.5
+    sv-command set layer Colour Orange
+    sleep 0.5
+    sv-command set layer Colour Red
+    sleep 0.5
+    sv-command set layer Colour Green
+    sleep 1
+#    sleep 1
+#    if [ -n "$done_spectrogram_bits" ]; then
+#	sv-command setcurrent 2
+#	sv-command delete pane
+#    fi
+#    sv-command zoom default
+#    sv-command zoom in
+#    sv-command zoom in
+#    sv-command zoom in
+    sv-command zoom 192
     sv-command zoom in
     sv-command add timeruler
-    sv-command transform vamp:vamp-aubio:aubioonset:detectionfunction
+    sv-command jump 0
+    sv-command transform $df
+    sv-command set layer Colour Black
     sleep 5
     sv-command set layer Plot-Type Curve
     sleep 5
+    sv-command jump 30
     sv-command setcurrent 1
     sv-command set pane Follow-Playback Page
-    sv-command transform vamp:vamp-aubio:aubioonset:detectionfunction
+    sv-command transform $df
     sv-command set layer Colour Red
     sleep 5
-    sv-command set layer Plot-Type Segmentation
-#    sv-command set layer Vertical-Scale "Log Scale"
     sv-command jump 30
     sleep 5
+    if [ "$RANDOM" -lt 16384 ]; then
+        sv-command set layer Vertical-Scale "Log Scale"
+    fi
+    sv-command set layer Plot-Type Segmentation
+    sleep 5 
 #    hide_stuff
-    if [ -n "$done_spectrogram_bits" ]; then
-	sv-command setcurrent 2
-	sv-command delete pane
-    fi
     sleep 10
-    sv-command setcurrent 1 1
+    sv-command set overlays 0
+    sv-command set propertyboxes 0
+#    sv-command setcurrent 1 1
+#    sv-command set layer Colour Black
+#    sv-command setcurrent 1 2
+    sleep 2
+    fade_in
+    sleep 2
+    sv-command transform $onsets
     sv-command set layer Colour Black
-    sv-command setcurrent 1 2
-    fade_in
-    sleep 5
-    sv-command transform vamp:vamp-aubio:aubioonset:onsets
-    sv-command set layer Colour Black
+    sv-command setcurrent 2
+    sv-command transform $onsets
+    sv-command set layer Colour Blue
     sleep 20
-    sv-command setcurrent 2
+#    sv-command setcurrent 2
 #    sv-command transform vamp:qm-vamp-plugins:qm-tempotracker:beats
-    sv-command transform vamp:vamp-aubio:aubiotempo:beats
-    sleep 10
-    fade_out
-    show_stuff
+#    sv-command transform $beats
+    sleep 20
+#    fade_out
+#    show_stuff
 }
 
 selection_bits()
@@ -277,48 +420,52 @@
 #    reset
     sv-command set overlays 1
     sv-command set zoomwheels 0
+    sv-command resize 1000 500
+    sv-command zoom default
     sv-command setcurrent 2
     sv-command delete pane
-    if [ -n "$done_playback_bits" ]; then
+#    if [ -n "$done_playback_bits" ]; then
 	sv-command setcurrent 1 2
-    else
-	sv-command setcurrent 1 3
-    fi
+#    else
+#	sv-command setcurrent 1 3
+#    fi
     sv-command delete layer
-    if [ -n "$done_playback_bits" ]; then
+#    if [ -n "$done_playback_bits" ]; then
 	sv-command setcurrent 1 2
-    else
-	sv-command setcurrent 1 3
-    fi
+#    else
+#	sv-command setcurrent 1 3
+#    fi
     sv-command delete layer
-#    sv-command transform vamp:qm-vamp-plugins:qm-tempotracker:beats
-    sv-command transform vamp:vamp-aubio:aubiotempo:beats
     sv-command setcurrent 1 2
     sv-command set layer Colour Orange
-    sv-command setcurrent 1 3
-    sv-command resize 1024 500
-    sv-command zoom default
-    sleep 10
+#    sv-command transform vamp:qm-vamp-plugins:qm-tempotracker:beats
+    sv-command transform $beats
+#    sv-command setcurrent 1 2
+    sv-command set layer Colour Black
+    sleep 20
     sv-command loop on
     base=$((RANDOM % 100))
     sv-command select $base $base.3
-    fade_in selection
-    sleep 12
+#    fade_in selection
+    play selection
+    sleep 8
     base=$((base + 4))
     sv-command addselect $base $base.1
-    sleep 12
+    #sleep 12
     base=$((base + 2))
     sv-command addselect $base $base.1
-    sleep 6
+    #sleep 6
     base=$((base + 2))
     sv-command addselect $base $base.3
-    sleep 6
+    #sleep 6
     base=$((base + 3))
     sv-command addselect $base $base.3
-    sleep 6
+    #sleep 6
     base=$((base + 2))
     sv-command addselect $base $base.3
-    sleep 12
+    sleep 4
+    sv-command delete layer
+    sleep 16
     sv-command set speedup -50
     sleep 14
     sv-command set speedup 50
@@ -327,26 +474,30 @@
     sleep 5
     sv-command set speedup 200
     fade_out
-    sleep 20
+#    sleep 10
     sv-command select none
-    sv-command setcurrent 1 3
-    sv-command delete layer
+    sv-command set overlays 2
+    sv-command set propertyboxes 1
+#    sv-command setcurrent 1 3
+#    sv-command delete layer
     sv-command setcurrent 1 2
     sv-command set layer Colour Black
 }
 
 chromagram_bits()
 {
-    add_melodic_range_spectrogram
-    sleep 10
+#    add_melodic_range_spectrogram
+#    sleep 10
     sv-command add timeruler
-    sv-command transform vamp:qm-vamp-plugins:qm-chromagram:chromagram
-    sleep 2
-    sv-command jump 20
-    sleep 10
+    sleep 5
+    sv-command jump 10
+    sv-command zoom out
+    sleep 5
+    sv-command transform $chromagram
+    sleep 40
     sv-command zoom out
     fade_in
-    sleep 15
+    sleep 20
     fade_out
 }
 
@@ -356,37 +507,34 @@
 load_a_file
 sv-command loop on
 
-sv-command resize 1024 500
+sv-command resize 1000 500
 show_stuff
-sleep 10
+sleep 20
 playback_bits
 
-sv-command resize 1024 700
+#sleep 10
+sv-command resize 1000 700
+sv-command zoom default
 show_stuff
-#sleep 10
-spectrogram_bits
-
-sv-command jump 0
-sv-command resize 1024 700
-show_stuff
-sleep 10
 onset_bits
 
 selection_bits
 
-sv-command resize 1024 700
+#sv-command resize 1000 700
 
-sv-command jump 0
-chromagram_bits
+#sleep 10
+sv-command resize 1000 700
+#show_stuff
+spectrogram_bits
+
+#sleep 10
+#sv-command jump 0
+#show_stuff
+#chromagram_bits
 
 sleep 20
 
-pid="`pidof sonic-visualiser`"
-if [ -n "$pid" ]; then
-    kill "$pid"
-    sleep 5
-else
-    reset
-fi
+#reset
+killall -9 sonic-visualiser
 
 done