Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. Hello, are there any updates on this? All the best!
  3. Hi I have resumed this post , there are news for porting on windows ??? thanks
  4. Last week
  5. Yes but for this project I would love to use native SC language, and not write everything in Lisp. CL-Collider only uses the server side (synths & FX)of SC but not the language side, which has a lot of good stuff as well. Following up on my previous question: Is there a way to send multiple messages to one Thread? In SC it's great to be able to filter out messages like so [1], [2]. Wich will get the first and the second message send to a specific thread. Is this possible with the current OSC implementation? I tried sending multiple messages with send-osc-data but I can't figure out how to format the messages in that case.
  6. MUSICA DOMANI Una giornata di studio sulle tecnologie avanzate per la composizione e l’analisi della musica con un omaggio a Bruno Maderna in occasione del centenario (1920-2020). Sabato 7 dicembre 2019 - Sala congressi del Museo di Storia Naturale Giancarlo Ligabue Fondaco dei Turchi – Santa Croce 1730 – Venezia, Italy. Inizio dei lavori : ore 9.30 - chiusura del lavori : prevista alle ore 19.30 Partecipano: Mario Baroni, musicologo, già professore ordinario dell’Università di Bologna. Bruno Bernardi, economista e professore all’Università Ca’ Foscari di Venezia, presidente di Adriaticum. Achim Bornhoeft, compositore e musicologo , Universität Mozarteum, Salzburg. Stéphane Boussuge, composer, sound designer, concert pianos technician, ricercatore presso Opusmodus Ltd. Pierre Albert Castanet, musicologue, professeur à l’Université de Rouen e au Conservatoire National Superiéur de Paris. Renzo Cresti, musicologo, docente all’Istituto Superiore di Studi Musicali "Luigi Boccherini" di Lucca. Rossana Dalmonte, musicologo, già professore ordinario dell’Università di Trento. Marco Giommoni, compositore, musicologo, ricercatore presso Opusmodus Ltd e vice presidente di Adriaticum. Janusz Podrazik, compositore e musicologo, presidente di Opusmodus Ltd. Matteo Segafreddo, compositore e saggista, docente e cultore all’Università Ca’ Foscari di Venezia. Andrea Talmelli, compositore e musicologo, presidente della SIMC. I lavori si svolgeranno in due sessioni: (1) Al mattino dopo un breve saluto del presidente della SIMC e del presidente della Adriaticum, si aprirà la prima sessione dei lavori, con la presentazione e l’illustrazione (per sintesi) del progetto Opusmodus™ un sistema integrato interattivo per la scrittura, la composizione assistita e l’analisi computazionale di opere musicali. (2) Al pomeriggio i lavori proseguiranno con un’illustrazione della composizione parametrica come strategia operativa per un domani della musica e una riflessione sull’influsso del pensiero di Bruno Maderna rispetto ad una concezione di «libertà controllata» della struttura musicale.
  7. Hi everyone, For the past two days I've been messing around with SuperCollider and OM. I want to be able to write my score in OMN format and send it via OSC to SuperCollider. So far I have this in OM: (defparameter to-sc '( 57120)) (setf thd1 (create-osc-thread "thread1" to-sc)) (send-osc-data thd1 '( (12 1/2) (2 1/2) (0 1/2) (3 1/2) (14 1/2) (2 1/2) (0 1/2) (3 1/2) (8 1/2) (2 1/2) (0 1/2) (3 1/2) (7 1/2) (2 1/2) (0 1/2) (3 1/2) )) And this in SuperCollider (OSCdef.new( \toggle, { arg msg, time, addr, port; [msg, time, addr, port].postln; Synth(\synth1, [pitch:msg[1]+60]); }, '/thread1' ); ) ( SynthDef('synth1', { arg pitch=60, amp=0.2, ffreq=15000; var linen, env, sig1, sig2; linen = Env.linen(0.01, sustainTime:0, releaseTime:1); env = EnvGen.kr(linen, doneAction:2); sig1 = Mix(VarSaw.ar([pitch.midicps], 0, 0.5)); sig2 = LPF.ar(sig1, ffreq); Out.ar(0, sig2* env * amp); }).add; ) And this works great! However I would like to write my OM script in regular OMN format and then convert it to integers, which SuperCollider understands. I've tried to do this like so: (setf convert-test '( (q a3 e4 c4 f4) (q e3 b4 a3 c4))) (setf data (gen-osc-data 16 (pitch-to-midi (omn :pitch convert-test)) :time (flatten (omn :length convert-test)) :min 0 :max 127)) However, it seems like "gen-osc-data" really wants to use floating values, adding the Min and Max does seem to convert these values in the range 0-127 but still I end up having the wrong notes: (setf data (gen-osc-data 16 (pitch-to-midi (omn :pitch convert-test)) :time '(1/2 1/4 1/12 1/12 1/12) :min 0 :max 127)) >> (((0 91 127) 1/2) ((27 127 0) 1/4) ((0 106 127) 1/12) ((0 127 64) 1/12) ((0 91 127) 1/12) ((27 127 0) 1/2) ((0 106 127) 1/4) ((0 127 118) 1/12) ((0 127 118) 1/12) ((0 127 118) 1/12).... Any ideas on a straightforward method to deal with this? I hope my question is understandable, this is by far the most challenging project I've tried in OM, any help would be very appreciated! NOTE: I know that I can just send MIDI notes to SC however I would like to control my Synth Parameters via OSC and I'm a big fan of consistency, therefor it would be great if the Pitch and Length information also could be converted and send via OSC messages. Thanks very much in advance! - Jor
  8. Earlier
  9. My conference about Rhythmic Set Theory. Best ! Julio Herrlein´s conference at the III International Congress of the Brazilian Association of Musical Theory and Analisys (TeMA) and the IV International Congress of Music and Mathematics. This Congress was University of Rio de Janeiro (UFRJ), hosted by Prof. Dr. Carlos Almada, Prof. Dr. Pauxy Gentil-Nunes and Prof. Dr. Liduíno Liduino Pitombeira, among many other people. It was a great honor to be in this amazing meeting with great musicians and having the oportunity to talk about my doctoral dissertation research, in many topics related to rhythm and popular music. My doctoral dissertation (in portuguese) can be downloaded in this link: http://hdl.handle.net/10183/179457 EXAMPLES: - ALL ROTATIONS OF THE BEMBÉ RHYTHM 12:59 - REGULATIVE TIME-POINT (ANKU) - EXPLANATION 15:33 e EXAMPLE 16:11 - LIGETI´S DIATONIC HARMONIC CLOUDS in Cordes à Vide (Piano Etude 2) 18:37 - DANCING AND NON-DANCING RHYTHMS 19:40 - BEMBÉ WITH ALTERNATIVE SUBDIVISIONS 21:32 - EXCERPT OF JACOB COLLIER INTERVIEW TO JUNE LEE 22:00 - BEMBÉ RHYTHM INSIDE A CYCLE OF SEPTUPLETS 23:20 - WAYNE KRANTZ "WHIPERSNAPPER" SOLO ANALISYS WITH RHYTHMIC SETS 24:09 I know that music theory is sometimes very hard to grasp, but it can really bring light about the nature of some music materials. If you are just curious, you can jump straight to the musical examples. These examples are very practical in its nature and the catalog of rhythms contained in the dissertation can be used in a very practical way, for composing and improvising. I hope it can be inspiring for you to make some music. All the best ! Enjoy !
  10. > :path nil will give you the shortest path Nice.
  11. ;;; ...an idea ;;; how to import some TEXT and translate it to integer-sequences to use this data ;;; for LIVE-CODING. also possible without .txt, but i tried to IMPORT it. perhaps ;;; in your live-coding session a friend of you is writing the text in a different ;;; location and you could share it (the path) via CLOUD :-D ;;; i know, this kind of data... is not very smart, but a little bit steam-punky :-) (defparameter *map-integer1* '(((a à á â ã ä å æ ą) 0) (b 1) ((c ç ć) 2) (d 3) ((e è é ê ë ę) 4) (f 5) (g 6) (h 7) ((i ì î ï) 8) (j 9) (k 10) ((l ł) 11) (m 12) ((n ñ ń) 13) ((o ò ó ô õ ö) 14) (p 15) (q 16) (r 17) ((s ś ß) 18) (t 19) ((u ù ú û ü) 20) (v 21) (w 22) (x 23) ((y ý ÿ) 24) ((z ż ź) 25))) ;;; 1) open/write a .txt-file ;;; 2) define your path (inside the loop) ;;; 3) start the loop ;;; 4) write/change your .txt, and SAVE it ;;; => every 2 seconds it will be read by the code (loop repeat 60 do (progn (print (progn (setf x (string-to-list (let ((in (open "/Users/meierandre/Desktop/test.txt"))) ;; use your own path!! (read-line in)))) (text-map *map-integer1* (loop for i in x append (explode i))))) (print x)) do (sleep 2)) ;;; every 2 seconds the loop is reading your .txt, change variable x and PRINT it for this example i used PRINT (so you see what is happening), but you could also "rewrite" a variable inside your sound-live-coding-CODE/FUNCTION Bildschirmvideo aufnehmen 2019-11-02 um 23.16.58.mov
  12. :path nil will give you the shortest path In the example above the :path is '? (at random). No need to do that.
  13. To use the shortest path i use always the closest-path function. In the example given by Janusz, you may use the closest-path function on the chords before exploding to voices. SB.
  14. Each def-instrument-set needs its own name that's all. Copy the document, change the name of the set and start making your own setup. You can create and use as many sets as you like.
  15. One more question: If I copy my new definitions to the Opusmodus/Def-Libraries/Def-Instrument-Sets folder will I loose the default gm definitions or can I still use the simple default gm internal synth instruments alongside with my personal system setup ? Or, saying it differently: will the def-instrument-sets folder overwrite the gm instrument set lisp file ? Just checking it before doing something wrong... Best ! Julio
  16. Thanks, Janusz Very nice ! I don't know where is the default file. Theses folders are empty. No default file to replace. Thank you ! Best, Julio
  17. Yes, you need to create your own def-instrument-set file. To see how is done inspect the default one which you find in the Library section. Copy the default file, change the name and make you own setups to reflect your system. After please the file in the Opusmodus/Def-Libraries/Def-Instrument-Sets folder. Example: (in-package :Opusmodus) ;; VSL PS Instruments (def-instrument-set vsl :instruments (:group Wind :fl (:layout flute-layout :port 0 :channel 1 :sound 'vi-flute1 :program 0 :controllers nil :pan (pan -12) :volume 92) :afl (:layout alto-flute-layout :port 0 :channel 2 :sound 'vi-alto-flute :program 0 :controllers nil :pan (pan -12) :volume 92) :ob (:layout oboe-layout :port 0 :channel 3 :sound 'gm :program 0 :controllers nil :pan (pan 12) :volume 92) :cl (:layout clarinet-layout :port 0 :channel 4 :sound 'vi-clarinet-bb :program 0 :controllers nil :pan (pan -12) :volume 92) :bcl (:layout bass-clarinet-layout :port 0 :channel 5 :sound 'vi-bass-clarinet :program 0 :controllers nil :pan (pan -12) :volume 92) :bn (:layout bassoon-layout :port 0 :channel 6 :sound 'vi-bassoon1 :program 0 :controllers nil :pan (pan 12) :volume 92) :ssax (:layout soprano-sax-layout :port 1 :channel 1 :sound 'gm :program 0 :controllers nil :pan (pan -25) :volume 92) :asax (:layout alto-sax-layout :port 1 :channel 2 :sound 'gm :program 0 :controllers nil :pan (pan -25) :volume 92) :tsax (:layout tenor-sax-layout :port 1 :channel 3 :sound 'gm :program 0 :controllers nil :pan (pan -25) :volume 92) :bsax (:layout baritone-sax-layout :port 1 :channel 4 :sound 'gm :program 0 :controllers nil :pan (pan -25) :volume 92) :group Brass :hn (:layout horn-layout :port 2 :channel 4 :sound 'vi-viennese-horn :program 0 :controllers nil :pan (pan -25) :volume 92) :group Strings :vn (:layout violin-layout :port 3 :channel 1 :sound 'gm :program '(violin) :controllers nil :pan (pan -30) :volume 92) :vn1 (:layout violin-layout :port 3 :channel 1 :sound 'vi-violin :program '(violin) :controllers nil :pan (pan -30) :volume 92) :vn2 (:layout violin-layout :port 3 :channel 2 :sound 'vi-violin :program '(violin) :controllers nil :pan (pan -10) :volume 92) :va (:layout viola-layout :port 3 :channel 3 :sound 'vi-viola :program '(viola) :controllers nil :pan (pan 10) :volume 92) :vc (:layout violoncello-layout :port 3 :channel 4 :sound 'v-cello :program 0 :controllers nil :pan (pan 30) :volume 92) :cb (:layout contrabass-layout :port 3 :channel 5 :sound 'vi-contrabass :program 0 :controllers nil :pan (pan 0) :volume 92) :sq (:layout string-quartet-layout :port 3 :channel '(1 2 3 4) :sound '(vi-violin vi-violin vi-viola vi-cello) :program 0 :controllers nil :pan (pan '(-30 -10 10 30)) :volume 92) :group piano :grand (:layout grand-layout :port 4 :channel 1 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :p (:layout piano-layout :port 4 :channel 1 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :group percussion :mar (:layout marimba-single-layout :port 5 :channel 1 :sound 'vi-marimbaphone :program 0 :controllers nil :pan (pan 0) :volume 92) :group Choir :satb (:layout choir-satb-layout :port 6 :channel '(1 2 3 4) :sound 'gm :program nil :controllers nil :pan (pan '(-30 -10 10 30)) :volume 92) :group drum-set :ds-bd (:layout dk-bass-layout :port 7 :channel 1 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-sd (:layout dk-snare-layout :port 7 :channel 2 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-lt (:layout dk-low-tom-layout :port 7 :channel 3 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-mt (:layout dk-mid-tom-layout :port 7 :channel 4 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-ht (:layout dk-high-tom-layout :port 7 :channel 5 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-hh (:layout dk-hihat-layout :port 7 :channel 6 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-cc (:layout dk-crash-cymbal-layout :port 7 :channel 7 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-rc (:layout dk-ride-cymbal-layout :port 7 :channel 8 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-chc (:layout dk-china-cymbal-layout :port 7 :channel 9 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) :ds-sc (:layout dk-splash-cymbal-layout :port 7 :channel 10 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) ) ) :display :window Example: (ps 'vsl :fl (list voice1) :ob (list voice2) :bcl (list voice3) :mar (list voice4) :octave-shift t :tempo tempo :time-signature '(4 4) :title "Bruno Maderna, Serenata Per un Satellite (1969)" :display :window ) Best wishes, Janusz
  18. Dear Janusz, 1) I just want to use a different port (other than internal) with the "ps" function to preview some scores. Is there an optional argument ":port " inside the "ps" function or do I have to create a def-instrument with the alternative port ? 2) In this case, what kind of archive do I have to put in this folder to make my def-instrument definition ? 3) Where in the expression of "ps" I must put the argument ":window" in order to have my snippet in a separate window ? Best, Julio
  19. Nice! However, what happened to what Bruckner (according to Schönberg) called the "law of the shortest path" (Gesetz des nächsten Weges)? Of course, for expressiveness one should not always choose a "shortest path" voice leading, that tends to become boring. But here, there are predominantly skips. Steps should be more likely, at least that would be more common (e.g., more easy to perform and also to follow by the audience). Is there perhaps a way to control the likelihood of steps vs. skips? Thanks! Best, Torsten
  20. The code is impressively concise for this dense network of relationships
  21. Looks great ! Any release date and list of new features ? Best ! Julio
  22. Wonderful, it will become one of my favorite and will be probably very fun to use in conjonction with passing-interval function. SB.
  1. Load more activity
  • Create New...