;;; -*- Lisp -*- ;;; ;;; examples of the singer instrument, provided by Perry Cook ;;; slightly mangled by bil (omitted rolled-r's, silences, etc) ;;; also our version of the singer ignores various performance settings like glot-noise-gain -- ;;; this should be fixed someday. (with-sound () (let ((vtRef .5) (ctRef .5) (gAmp 1.0) (nAmp 1.0) (glt greekdefault.glt)) ;; this example originally started with a rolled r : ;; setup("rolledrc",lastGlot(),360.0,0.0,0.0,0.02) ; ;; rollr(0.2*ctRef,lastGlot(),lastPitch(),0.5,lastVibrAmt(),fd); (singer 0 .2 (list (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.20 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.40 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) kkk.shp glt 391.5 (* 0.00 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) kkk.shp glt 391.5 (* 0.00 gAmp) (* 0.00 nAmp) .02) (list (* 0.02 ctRef) kk+.shp glt 391.5 (* 0.00 gAmp) (* 1.00 nAmp) .02) (list (* 0.08 ctRef) kk+.shp glt 391.5 (* 0.00 gAmp) (* 0.20 nAmp) .02) (list (* 0.10 vtRef) ooo.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ooo.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) eee.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) eee.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.40 vtRef) eee.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.40 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) mmm.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.15 ctRef) mmm.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.60 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.60 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.40 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) ttt.shp glt 440.0 (* 0.00 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) ttt.shp glt 440.0 (* 0.00 gAmp) (* 0.00 nAmp) .02) (list (* 0.02 ctRef) tt+.shp glt 440.0 (* 0.00 gAmp) (* 2.00 nAmp) .02) (list (* 0.08 ctRef) tt+.shp glt 440.0 (* 0.00 gAmp) (* 0.20 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.60 vtRef) ehh.shp glt 440.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.40 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.40 vtRef) ehh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.40 vtRef) ehh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) nnn.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.15 ctRef) nnn.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ahh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ahh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.20 vtRef) ahh.shp glt 391.5 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ahh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.10 vtRef) ahh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 1.20 vtRef) ahh.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.05 ctRef) mmm.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) (list (* 0.15 ctRef) mmm.shp glt 348.0 (* 0.80 gAmp) (* 0.00 nAmp) .02) )))) (with-sound (:wait t) (let ((vtRef .7) (ctRef .7) (gAmp 1.0) (nAmp 1.0) (glt greekdefault.glt)) (singer 0 .2 (list (list (* 0.05 ctRef) kkk.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) kkk.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.02 ctRef) kk+.shp glt 220.0 (* 0.00 gAmp) (* 1.00 nAmp) 0.02) (list (* 0.08 ctRef) kk+.shp glt 220.0 (* 0.00 gAmp) (* 0.20 nAmp) 0.02) (list (* 0.10 vtRef) ohh.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ohh.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.20 vtRef) ohh.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) nnn.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) nnn.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) fff.shp glt 165.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) fff.shp glt 165.0 (* 0.00 gAmp) (* 0.40 nAmp) 0.02) (list (* 0.10 vtRef) ooo.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ooo.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 261.2 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 261.2 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.02 ctRef) tt+.shp glt 261.2 (* 0.00 gAmp) (* 2.00 nAmp) 0.02) (list (* 0.08 ctRef) tt+.shp glt 261.2 (* 0.00 gAmp) (* 0.20 nAmp) 0.02) (list (* 0.10 vtRef) ahh.shp glt 261.2 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ahh.shp glt 261.2 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.80 vtRef) ahh.shp glt 261.2 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.02 ctRef) tt+.shp glt 220.0 (* 0.00 gAmp) (* 2.00 nAmp) 0.02) (list (* 0.08 ctRef) tt+.shp glt 220.0 (* 0.00 gAmp) (* 0.20 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 1.20 vtRef) eee.shp glt 220.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.03 ctRef) sss.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) sss.shp glt 220.0 (* 0.00 gAmp) (* 0.40 nAmp) 0.02) (list (* 0.03 ctRef) sss.shp glt 220.0 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) mmm.shp glt 232.2 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) mmm.shp glt 232.2 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ahh.shp glt 245.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ahh.shp glt 245.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.40 vtRef) ahh.shp glt 245.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) lll.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) lll.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ehh.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) ehh.shp glt 165.0 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ddd.shp glt 293.8 (* 0.20 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 ctRef) ddd.shp glt 293.8 (* 1.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ddd.shp glt 293.8 (* 0.40 gAmp) (* 0.30 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 293.8 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 293.8 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.60 vtRef) eee.shp glt 293.8 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) kkk.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) kkk.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.02 ctRef) kk+.shp glt 208.9 (* 0.00 gAmp) (* 1.00 nAmp) 0.02) (list (* 0.08 ctRef) kk+.shp glt 208.9 (* 0.00 gAmp) (* 0.20 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.05 ctRef) ttt.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.02 ctRef) tt+.shp glt 208.9 (* 0.00 gAmp) (* 2.00 nAmp) 0.02) (list (* 0.08 ctRef) tt+.shp glt 208.9 (* 0.00 gAmp) (* 0.20 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 208.9 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.10 vtRef) eee.shp glt 208.9 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 1.40 vtRef) eee.shp glt 208.9 (* 0.80 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.03 ctRef) sss.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) (list (* 0.15 ctRef) sss.shp glt 208.9 (* 0.00 gAmp) (* 0.40 nAmp) 0.02) (list (* 0.03 ctRef) sss.shp glt 208.9 (* 0.00 gAmp) (* 0.00 nAmp) 0.02) )))) (with-sound (:wait t :scaled-to .6 :statistics t) ;; this is overflowing (maxamp 23.1!), but is ok when using test.glt rather than wide4 and wide5 -- why? (singer 0 .2 (list ;; setPerfRndPeriod(0.05); ;; setPerfVibrFreq(6.0) (this is the default in singer.ins) ;; setGlotNoiseFilter(200.0,0.3,3500,0.9); ;; setPerfRndAmt(0.005); ;; setPulseShape(0.1,0.4,0.55,0.13,0.7,0.2); setGlotNoiseGain(0.01); (list 0.01 eee.shp wide4.glt 261.2 0.5 0.0 0.02) (list 0.09 eee.shp wide4.glt 261.2 0.5 0.0 0.02) (list 0.05 ohh.shp wide4.glt 261.2 0.5 0.0 0.02) (list 0.01 ddd.shp wide4.glt 261.2 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 293.5 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 293.5 0.6 0.0 0.05) (list 0.01 ahh.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) ;; setPulseShape(0.8,0.8,0.0,0.0,0.0,0.4); setGlotNoiseGain(0.02); (list 0.01 lll.shp wide5.glt 522.4 0.7 0.0 0.00) (list 0.15 lll.shp wide5.glt 522.4 0.6 0.0 0.05) ;; setPulseShape(0.1,0.4,0.55,0.13,0.7,0.2); setGlotNoiseGain(0.01); (list 0.01 ohh.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 ohh.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 309.8 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 309.8 0.6 0.0 0.05) (list 0.01 ohh.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 ohh.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 309.8 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 309.8 0.6 0.0 0.05) (list 0.01 ohh.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 ohh.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 293.5 0.5 0.0 0.04) ;; setPulseShape(0.8,0.8,0.0,0.0,0.0,0.4); setGlotNoiseGain(0.02); (list 0.01 lll.shp wide5.glt 489.3 0.7 0.0 0.00) (list 0.15 lll.shp wide5.glt 489.3 0.6 0.0 0.05) ;; setPulseShape(0.1,0.4,0.55,0.13,0.7,0.2); setGlotNoiseGain(0.01); (list 0.01 ahh.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 293.5 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 278.4 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 278.4 0.6 0.0 0.05) (list 0.01 ahh.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 293.5 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 309.8 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 309.8 0.6 0.0 0.05) (list 0.01 ahh.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) ;; setPulseShape(0.8,0.8,0.0,0.0,0.0,0.4); setGlotNoiseGain(0.02); (list 0.01 lll.shp wide5.glt 522.4 0.7 0.0 0.00) (list 0.15 lll.shp wide5.glt 522.4 0.6 0.0 0.05) ;; setPulseShape(0.1,0.4,0.55,0.13,0.7,0.2); setGlotNoiseGain(0.01); (list 0.01 eee.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 eee.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 309.8 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 309.8 0.6 0.0 0.05) (list 0.01 eee.shp wide4.glt 330.0 0.6 0.0 0.00) (list 0.15 eee.shp wide4.glt 330.0 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 330.0 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 309.8 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 309.8 0.6 0.0 0.05) (list 0.01 eee.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 eee.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 293.5 0.5 0.0 0.04) ;; setPulseShape(0.8,0.8,0.0,0.0,0.0,0.4); setGlotNoiseGain(0.02); (list 0.01 lll.shp wide5.glt 489.3 0.7 0.0 0.00) (list 0.15 lll.shp wide5.glt 489.3 0.6 0.0 0.05) ;; setPulseShape(0.1,0.4,0.55,0.13,0.7,0.2); setGlotNoiseGain(0.01); (list 0.01 ahh.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 lll.shp wide4.glt 278.4 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 278.4 0.6 0.0 0.05) (list 0.01 ahh.shp wide4.glt 293.5 0.6 0.0 0.00) (list 0.15 ahh.shp wide4.glt 293.5 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 293.5 0.5 0.0 0.04) (list 0.01 lll.shp wide4.glt 244.6 0.7 0.0 0.00) (list 0.15 lll.shp wide4.glt 244.6 0.6 0.0 0.05) (list 0.01 ohh.shp wide4.glt 244.6 0.6 0.0 0.00) (list 0.15 ohh.shp wide4.glt 261.2 0.5 0.0 0.05) (list 0.01 ddd.shp wide4.glt 261.2 0.7 0.0 0.00) ;; setPulseShape(0.8,0.8,0.0,0.0,0.0,0.4); setGlotNoiseGain(0.02); (list 0.1 ooo.shp wide5.glt 522.4 0.7 0.0 0.00) (list 0.6 ooo.shp wide5.glt 522.4 0.6 0.0 0.08) (list 0.01 ooo.shp wide5.glt 522.4 0.0 0.0 0.00) )))