Work-in-progress repo for ambisonics extensions for OM-SoX
Marlon Schumacher
5 days ago 942def65489b6b323c75dfa5ed977583a514432c
1
2
3
4
5
6
; OM File Header - Saved 2013/11/09 15:40:50
; (6.070005 :patc (om-make-point 137 88) (om-make-point 366 87) (om-make-point 1093 577) "" 183 0 nil "2013/11/09 15:40:15")
; End File Header
; External resources 
; (list (list (quote :picture) "#P\"../../../../resources/pict/omsox\"") (list (quote :sound) "#P\"../../../../../../../../Research/OM-SoX/OM-SoX 1.0/resources/sounds/sax-tenor-multi.wav\""))
(in-package :om)(load-lib-for (quote ("OM-SoX")))(setf *om-current-persistent* (om-load-patch1 "dcremove" (quote ((om-load-boxcall (quote lispfun) "CAR" (quote car) (quote ((om-load-inputfun (quote input-funbox) "X" "X" nil))) (om-make-point 288 338) nil nil nil nil 1) (om-load-boxcall (quote genfun) "SOX-ANALYSIS 2" (quote sox-analysis) (quote ((om-load-inputfun (quote input-funbox) "Audio input to be analyzed [sound, path, string/pipe, sox-input]" "SOX-INPUT" nil) (om-load-inputfunmenu1 (quote input-funmenu) "Sox-statistic to be analyzed for [string]" "SOX-STATISTIC" "dc offset" (list (list "filetype" "filetype") (list "samplerate" "samplerate") (list "channels" "channels") (list "comment" "comment") (list "samples" "samples") (list "duration" "duration") (list "scale-factor" "scale-factor") (list "peak amplitude" "peak amplitude") (list "max positive amplitude" "max positive amplitude") (list "max negative amplitude" "max negative amplitude") (list "mid amplitude" "mid amplitude") (list "mean amplitude" "mean amplitude") (list "mean norm amplitude" "mean norm amplitude") (list "rms amplitude" "rms amplitude") (list "max delta amplitude" "max delta amplitude") (list "min delta amplitude" "min delta amplitude") (list "mean delta amplitude" "mean delta amplitude") (list "rms delta amplitude" "rms delta amplitude") (list "dc offset" "dc offset") (list "headroom" "headroom") (list "peak level" "peak level") (list "rms level" "rms level") (list "rms peak level" "rms peak level") (list "rms trough level" "rms trough level") (list "fundamental frequency" "fundamental frequency") (list "crest factor" "crest factor") (list "flat factor" "flat factor") (list "peak count" "peak count") (list "bit depth ratio" "bit depth ratio"))))) (om-make-point 197 298) nil nil nil nil 1) (om-load-boxcomment "comment" (om-make-point 357 34) (quote "Apply a DC shift to the audio using \"sox-dcshift\"") "" (om-make-point 123 25) nil (om-make-color 0.0 0.0 0.0) (om-make-font "Verdana" 14.0 :family "Verdana" :style (quote (:plain)) :mode (quote nil))) (om-load-boxcomment "comment" (om-make-point 100 60) (quote "invoke sox-analysis to determine the DC-offset") "" (om-make-point 277 257) nil (om-make-color 0.0 0.0 1.0) (om-make-font "Verdana" 10.0 :family "Verdana" :style (quote (:italic)) :mode (quote nil))) (om-load-editor-box1 "sax-tenor-multi.wav" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 695 263) (om-make-point 80 50) (let ((newobj (let ((thesound (load-sound (om-make-pathname :directory (quote (:absolute "Users" "Marlon_MBPro3" "Research" "OM-SoX" "OM-SoX 1.0" "resources" "sounds")) :device nil :host nil :name "sax-tenor-multi" :type "wav") 0 100 0))) (when thesound (setf (markers thesound) (quote nil))) thesound))) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "sax-tenor-multi.wav") (set-tonalite newobj nil) newobj) "x" nil (pairlis (quote (approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode)) (list 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 543 284) (om-make-point 400 22) 0 1 (quote t) nil 0)) t nil nil nil) (om-load-editor-box1 "sax-tenor-multi.wav" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 114 239) (om-make-point 80 50) (let ((newobj (let ((thesound (load-sound (om-make-pathname :directory (quote (:absolute "Users" "Marlon_MBPro3" "Research" "OM-SoX" "OM-SoX 1.0" "resources" "sounds")) :device nil :host nil :name "sax-tenor-multi" :type "wav") 0 100 0))) (when thesound (setf (markers thesound) (quote nil))) thesound))) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "sax-tenor-multi.wav") (set-tonalite newobj nil) newobj) "x" nil (pairlis (quote (approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode)) (list 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 565 279) (om-make-point 400 22) 0 1 (quote t) nil 0)) t nil nil nil) (om-load-editor-box1 "SOUND" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 770 437) (om-make-point 80 50) (let ((newobj nil)) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "") (set-tonalite newobj nil) newobj) nil nil (pairlis (quote (approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode)) (list 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 522 318) (om-make-point 400 22) 0 1 (quote t) nil 0)) t nil nil nil) (om-load-editor-box1 "SOUND" (quote sound) (quote ((om-load-inputfun (quote input-funbox) "object" "self" nil) (om-load-inputfun (quote input-funbox) "a track index for multichannel mixing" "tracknum" 0) (om-load-inputfun (quote input-funbox) "a list of markers (s)" "markers" nil))) (om-make-point 184 482) (om-make-point 80 50) (let ((newobj nil)) (load-port-info newobj (quote nil)) (init-mus-color newobj (quote nil)) (set-extra-pairs newobj (quote nil)) (set-patch-pairs newobj (quote nil)) (set-name newobj "") (set-tonalite newobj nil) newobj) nil nil (pairlis (quote (approx fontsize staff cmnpref deltapict outport inport player zoom notechancolor? grillestep mode winsize winpos score-mode obj-mode show-stems scale palette-mode)) (list 2 24 (quote g) (let ((newobj (make-instance (quote edition-values)))) (setf (paper-size newobj) (om-make-point 600 800)) (setf (top-margin newobj) 2) (setf (left-margin newobj) 1) (setf (right-margin newobj) 1) (setf (bottom-margin newobj) 1) (setf (orientation newobj) nil) (setf (scale newobj) nil) (setf (system-space newobj) (quote (1))) (setf (system-color newobj) (quote nil)) (setf (line-space newobj) 1) (setf (title newobj) nil) (setf (show-title? newobj) nil) (setf (show-page? newobj) nil) (setf (sheet-id newobj) nil) (setf (page-mode newobj) nil) newobj) (om-make-point 0 0) nil 0 (quote :soxplayer) 1 nil 1000 0 (om-make-point 522 318) (om-make-point 400 22) 0 1 (quote t) nil 0)) t nil nil nil) (om-load-boxcall (quote lispfun) "-" (quote -) (quote ((om-load-inputfun (quote input-funbox) "NUM" "NUM" 0) (om-load-inputfun (quote input-funbox) "add-input" "add-input" nil))) (om-make-point 321 347) nil nil nil nil 1) (om-load-boxcall (quote genfun) "SOX-PROCESS 2" (quote sox-process) (quote ((om-load-inputfun (quote input-funbox) "" "INPUT" nil) (om-load-inputfun (quote input-funbox) "" "COMMANDS" ""))) (om-make-point 754 339) nil nil nil nil 1) (om-load-boxcomment "comment" (om-make-point 465 45) (quote "An alternative approach to removing a DC offset (albeit with a short delay) $is to use a highpass filter at a frequency of 10Hz as used for sox-dcremove:") "" (om-make-point 591 175) nil (om-make-color 0.0 0.19194556 1.0) (om-make-font "Verdana" 12 :family "Verdana" :style (quote (:plain)) :mode (quote nil))) (om-load-boxcomment "comment" (om-make-point 409 90) (quote "DC shift can be useful to remove a DC offset (possibly caused $by a hardware problem in the recording chain) from the audio.$$The effect of a DC offset is reduced headroom and hence volume. $Sox-analysis can be used to determine if a signal has a DC offset.") "" (om-make-point 82 126) nil (om-make-color 0.0 0.19194556 1.0) (om-make-font "Verdana" 12 :family "Verdana" :style (quote (:plain)) :mode (quote nil))) (om-load-boxcall (quote genfun) "SOX-DCREMOVE" (quote sox-dcremove) (quote nil) (om-make-point 808 240) nil nil nil nil 1) (om-load-boxcall (quote genfun) "SOX-DCSHIFT" (quote sox-dcshift) (quote ((om-load-inputfun (quote input-funbox) "amount to shift signal" "DC" 0.1))) (om-make-point 386 328) nil nil nil nil 1) (om-load-boxcall (quote genfun) "SOX-PROCESS" (quote sox-process) (quote ((om-load-inputfun (quote input-funbox) "" "INPUT" nil) (om-load-inputfun (quote input-funbox) "" "COMMANDS" ""))) (om-make-point 168 402) nil nil nil nil 1))) (quote ((1 0 0 0 nil 0) (5 0 1 0 nil 0) (9 0 6 0 nil 0) (14 0 7 0 nil 0) (0 0 8 1 nil 0) (4 0 9 0 nil 0) (12 0 9 1 nil 0) (8 0 13 0 nil 0) (5 0 14 0 nil 0) (13 0 14 1 nil 0))) (list (let ((newpict (make-instance (quote patch-picture) :name "omsox" :source (quote user) :pict-pathname (restore-pict-path (restore-path nil)) :thepict (om-get-picture "omsox" (quote user)) :storemode :external :draw-params (quote (p 0 0 100 100)) :extraobjs nil))) (setf (pict-pos newpict) (om-make-point 58 8)) (setf (pict-size newpict) (om-make-point 63 56)) newpict)) 6.070005))