From mjkoskin at kolumbus.fi Wed Oct 5 20:53:48 2016 From: mjkoskin at kolumbus.fi (Matti Koskinen) Date: Thu, 6 Oct 2016 06:53:48 +0300 Subject: [CM] [OT]? online jamming Message-ID: <832428E8-DD17-480B-9132-47CBA28240D4@kolumbus.fi> https://www.kadenze.com/courses/online-jamming-and-concert-technology/info here?s a link to a free course of online jamming and split ensemble concerts, something like we did with Tarmo a year ago with Jamulus. -m ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Sun Oct 23 16:50:26 2016 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Sun, 23 Oct 2016 16:50:26 -0700 Subject: [CM] Snd 16.9 Message-ID: <1a39ac9793ecbe1409227721cecb1870@ccrma.stanford.edu> Snd 16.9: Anders Vinjar provided tankrev.scm Tito Latini fixed a bug in clm's tap generator (discovered by AV). Snd: removed snd13.scm s7: make-keyword -> string->keyword checked: FC 25, gtk 3.21.6 3.22.0|1, sbcl 1.3.10 in gtk 3.22.0, the basic display mechanism changed again(!) so (at least today) the window-manager close decoration is messed up, and I probably missed other troubles -- please let me know as you encounter them. Thanks!: Anders Vinjar, IOhannes m zmlnig, Tito Latini. From tito.01beta at gmail.com Mon Oct 24 06:50:12 2016 From: tito.01beta at gmail.com (Tito Latini) Date: Mon, 24 Oct 2016 15:50:12 +0200 Subject: [CM] Snd 16.9 In-Reply-To: <1a39ac9793ecbe1409227721cecb1870@ccrma.stanford.edu> References: <1a39ac9793ecbe1409227721cecb1870@ccrma.stanford.edu> Message-ID: <20161024135012.GA1679@rhk.homenet.telecomitalia.it> Thanks to you. > checked: FC 25, gtk 3.21.6 3.22.0|1, sbcl 1.3.10 > in gtk 3.22.0, the basic display mechanism changed again(!) so > (at least today) the window-manager close decoration is messed up, > and I probably missed other troubles -- please let me know > as you encounter them. With gtk+3-3.18.9, if I resize the window, the PANE_BOX (with the buttons [ ]unite [ ]sync etc) is over the SND_PANE. The child is added with gtk_paned_add1() and it is equivalent to gtk_paned_pack1(paned, child, false, true) If we set the argument "shrink" to "false", that problem seems fixed: --- snd-16/snd-gsnd.c~ 2016-10-24 15:23:54.123610733 +0200 +++ snd-16/snd-gsnd.c 2016-10-24 15:24:15.375343563 +0200 @@ -1587,7 +1587,7 @@ } PANE_BOX(sp) = gtk_vbox_new(false, 0); - gtk_paned_add1(GTK_PANED(SND_PANE(sp)), PANE_BOX(sp)); + gtk_paned_pack1(GTK_PANED(SND_PANE(sp)), PANE_BOX(sp), false, false); gtk_widget_show(PANE_BOX(sp)); NAME_HBOX(sp) = gtk_hbox_new(false, 0); From bil at ccrma.Stanford.EDU Mon Oct 24 07:47:32 2016 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Mon, 24 Oct 2016 07:47:32 -0700 Subject: [CM] Snd 16.9 In-Reply-To: <20161024135012.GA1679@rhk.homenet.telecomitalia.it> References: <1a39ac9793ecbe1409227721cecb1870@ccrma.stanford.edu> <20161024135012.GA1679@rhk.homenet.telecomitalia.it> Message-ID: Thanks! I have made that change. From anders.vinjar at nmh.no Thu Oct 27 04:38:51 2016 From: anders.vinjar at nmh.no (anders.vinjar at nmh.no) Date: Thu, 27 Oct 2016 13:38:51 +0200 Subject: [CM] tap fixed - patch to tankrev.scm Message-ID: <87r372m378.fsf@bek.no> Here's a patch to tankrev.scm. The negative delay-times in the previous version were temporary workarounds to not hit the (now fixed) bug in tap. Redefining smpls->samples as a macro here to avoid some unnecessary calculations in the loop. Btw, do we want this? Does s7 do checking and optimizing of fixed values like these in a loop? Suggestions and improvements are of course very welcome. -anders -------------- next part -------------- A non-text attachment was scrubbed... Name: tankrev.scm.diffs Type: application/octet-stream Size: 2132 bytes Desc: not available URL: From bil at ccrma.Stanford.EDU Thu Oct 27 09:32:51 2016 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Thu, 27 Oct 2016 09:32:51 -0700 Subject: [CM] tap fixed - patch to tankrev.scm In-Reply-To: <87r372m378.fsf@bek.no> References: <87r372m378.fsf@bek.no> Message-ID: <6b7d0df7ae5334707cb0800321d5cd7d@ccrma.stanford.edu> I think the macro version is slower -- s7 does not currently expand macros when first encountered; you can use define-expansion for that, but the speedup is not great. Since all the smpls->samples calls involve constants, I'd precompute those offsets: (define* (tank-reverb (predelay 0.0) (decay 0.5) (bandwidth 0.9995) (damping 0.005) (reverb-decay-time 1.0)) "(tank-reverb (predelay 0.0) (decay 0.5) (bandwidth 0.9995) (damping 0.005) (reverb-decay-time 1.0))" ;; try setting 'decay = 1.0 for a nice 'freeze' effect (let ((decay-diffusion-1 0.70) (decay-diffusion-2 0.50) (input-diffusion-1 0.750) (input-diffusion-2 0.625) (excursion (smpls->samples 16))) (let ((len (+ (framples *reverb*) (seconds->samples reverb-decay-time))) (predly (make-delay (seconds->samples predelay))) (lp1 (make-one-pole bandwidth (* -1 (- 1 bandwidth)))) ;; input diffusers = series of 4 all-pass-filters (mono input): (input-diffusers (make-all-pass-bank (vector (make-diffuser (smpls->samples 142) input-diffusion-1) (make-diffuser (smpls->samples 107) input-diffusion-1) (make-diffuser (smpls->samples 379) input-diffusion-2) (make-diffuser (smpls->samples 277) input-diffusion-2)))) ;; tank, fig-of-eight in Dattorro's figure p. 662: (excursion_24 (make-oscil 1.0)) ;max 'Excursion' = 16 samples (FS=29761) (excursion_48 (make-oscil 0.707)) (modallpass_23 (make-mod-all-pass (smpls->samples 672) decay-diffusion-1)) (modallpass_46 (make-mod-all-pass (smpls->samples 908) decay-diffusion-1)) (delay_24_30 (make-delay (smpls->samples 4453))) (delay_48_54 (make-delay (smpls->samples 4217))) (damper_30 (make-one-pole (- 1 damping) (* -1 damping))) (damper_54 (make-one-pole (- 1 damping) (* -1 damping))) (diffuser_31_33 (make-diffuser (smpls->samples 1800) decay-diffusion-2)) (diffuser_55_59 (make-diffuser (smpls->samples 2656) decay-diffusion-2)) (delay_33_39 (make-delay (smpls->samples 3720))) (delay_59_63 (make-delay (smpls->samples 3163))) (dc-block-1 (make-filter 2 (float-vector 1 -1) (float-vector 0 -0.99))) (dc-block-2 (make-filter 2 (float-vector 1 -1) (float-vector 0 -0.99))) (tank_1 0.0) (tank_2 0.0) (smpl-266 (smpls->samples 266)) (smpl-2974 (smpls->samples 2974)) (smpl-1913 (smpls->samples 1913)) (smpl-1996 (smpls->samples 1996)) (smpl-1990 (smpls->samples 1990)) (smpl-187 (smpls->samples 187)) (smpl-1066 (smpls->samples 1066)) (smpl-353 (smpls->samples 353)) (smpl-3627 (smpls->samples 3627)) (smpl-1228 (smpls->samples 1228)) (smpl-2673 (smpls->samples 2673)) (smpl-2111 (smpls->samples 2111)) (smpl-335 (smpls->samples 335)) (smpl-121 (smpls->samples 121)) (smpl-8 (smpls->samples 8))) (do ((i 0 (+ i 1))) ((= i len)) (let ((sig (all-pass-bank input-diffusers (one-pole lp1 (delay predly (ina i *reverb*)))))) ;; add incoming signal to rotated tank: (set! tank_1 (delay delay_33_39 (all-pass diffuser_31_33 (one-pole damper_30 (delay delay_24_30 (all-pass modallpass_23 (filter dc-block-1 (+ sig (* decay tank_2))) (+ smpl-8 (* smpl-8 (oscil excursion_24))))))))) (set! tank_2 (delay delay_59_63 (all-pass diffuser_55_59 (one-pole damper_54 (delay delay_48_54 (all-pass modallpass_46 (filter dc-block-2 (+ sig (* decay tank_1))) (+ smpl-8 (* smpl-8 (oscil excursion_48))))))))) ;; tap reflections and output: (outa i (+ (* +0.6 (tap delay_48_54 smpl-266)) (* +0.6 (tap delay_48_54 smpl-2974)) (* -0.6 (tap diffuser_55_59 smpl-1913)) (* +0.6 (tap delay_59_63 smpl-1996)) (* -0.6 (tap delay_24_30 smpl-1990)) (* -0.6 (tap diffuser_31_33 smpl-187)) (* -0.6 (tap delay_33_39 smpl-1066)))) (outb i (+ (* +0.6 (tap delay_24_30 smpl-353)) (* +0.6 (tap delay_24_30 smpl-3627)) (* -0.6 (tap diffuser_31_33 smpl-1228)) (* +0.6 (tap delay_33_39 smpl-2673)) (* -0.6 (tap delay_48_54 smpl-2111)) (* -0.6 (tap diffuser_55_59 smpl-335)) (* -0.6 (tap delay_59_63 smpl-121)))) ))))) which is uglier, but 10 times as fast.