Jump to content

opmo

core_group_4
  • Content Count

    1,713
  • Joined

  • Last visited

  • Days Won

    273

opmo last won the day on March 18

opmo had the most liked content!

4 Followers

About opmo

  • Rank
    Admin

core_pfieldgroups_1

core_pfieldgroups_2

  • Gender
    Male

Recent Profile Visitors

5,921 profile views
  1. 1.3.24692 – Function name changes: DEF-UNFOLD to DEF-UNFOLD-SET DEF-INSTRUMENT-SETS to DEF-INSTRUMENT-SET – New functions: DEF-UNFOLD-SET UNFOLD-SET-NAMES GET-UNFOLD-SET GET-UNFOLD-SET-GROUPS GET-UNFOLD-SET-GROUP UNFOLD SOUND-SET-NAMES GET-SOUND-SET-PROGRAM-GROUPS GET-SOUND-SET-PROGRAM-GROUP GET-SOUND-SET-PROGRAM GET-SOUND-SET-CONTROLLER-GROUPS GET-SOUND-SET-CONTROLLER-GROUP GET-SOUND-SET-CONTROLLER DEF-INSTRUMENT-SET INSTRUMENT-SET-NAMES GET-INSTRUMENT-SET GET-INSTRUMENT-SET-GROUPS GET-INSTRUMENT-SET-GROUP – New directory in System Library: Libraries. – New directory in Def-Libraries: Def-Unfold-Sets. – New Extension file: 'OSC Remote Setup.lisp'. Fixed: – Documents errors. Examples: SOUND-SET (sound-set-names) => (xce-solo-woodwinds-generic vsl-clarinet-bb vsl-cello sgmo-acoustic-grand-piano k2500r s80 se-1 sgmo-bassoon sgmo-strings-1 zr vsl-altoflute vsl-prepared-piano supernova-ii sy55 reaktor sgmo-vibraphone vsl-imperial vsl-cello-solo trinity ms2000 pr micro-q k1 vsl-cembalo-ks sgmo-piccolo pianoteq vsl-cembalo vsl-violin vsl-viola-solo micro-piano gm2 vsl-contrabass trinity-rack sgmo-celesta sgmo-trombone nord-lead-3 gm sgmo-harp sgmo-glock karma sgmo-trumpet xv-5080 sgmo-flute sgmo-oboe vsl-violin-solo sgmo-horn sgmo-timpani k2600 sgmo-marimba vsl-hornvienna vsl-prepared-piano-ks sgmo-tuba jv-1080 vsl-harmonium-ks vsl-harmonium sgmo jv-2080 sy22 k2500 sgmo-violin virus-b sgmo-cello sgmo-clarinet k2000r k2000 vsl-bassclarinet vsl-upright xce-solo-strings-generic motif sgmo-viola) (get-sound-set-program-groups 'gm) => (piano percussion organ guitar bass strings ensemble brass reed pipe synth-lead synth-pad synth-effects ethnic percussive sound-effects) (get-sound-set-program-group 'gm 'Brass) => (trumpet trombone tuba muted-trumpet french-horn brass-section synth-brass-1 synth-brass-2) (get-sound-set-program 'gm 'trombone) => 57 (get-sound-set-controller-groups 'gm) => (general lsb pedal) (get-sound-set-controller-group 'gm 'general) => (bank-select modulation breath-control foot-control portamento-time data-entry volume balance pan expression effects-controller1 effects-controller2 gen-purpose1 gen-purpose2 gen-purpose3 gen-purpose4) (get-sound-set-controller 'gm 'expression) => 11 UNFOLD (unfold-set-names) => (m1 eg) (get-unfold-set-groups 'eg) => (transp basic ambitus) (get-unfold-set-group 'eg 'ambitus) => (ob bn hn) (get-unfold-set-groups 'eg) => (transp basic ambitus) (get-unfold-set 'eg 'ld) => (:length (length-divide 2 2 x)) Unfold Set Example: (def-unfold-set eg :methods (:group transp t7 (:pitch (pitch-transpose 7 x)) t-12 (:pitch (pitch-transpose -12 x)) :group basic ret (:all (gen-retrograde x :flatten t)) var (:pitch (pitch-variant x :variant '?)) gf (nil (gen-fragment '(3) '(3) x)) ld (:length (length-divide 2 2 x)) lrq (:length (length-rational-quantize x)) dyn (:velocity (velocity-to-dynamic x)) ls (nil (length-span '(6/4 6/4) x)) :group ambitus ob (:pitch (ambitus 'oboe x)) bn (:pitch (ambitus 'bassoon x)) hn (:pitch (ambitus 'french-horn x)) )) INSTRUMENT-SET (instrument-set-names) => (vsl gm) (get-instrument-set-groups 'gm) => (clefs grand wind brass strings wind-ensemble brass-ensemble piano string-ensemble choir) (get-instrument-set-group 'gm 'wind) => (:pic :fl :afl :bfl :ob :eh :oda :cl :acl :bcl :bn :cbn :ssax :asax :tsax :bsax) (get-instrument-set-group 'gm 'string-ensemble) => (:s3 :sq) (get-instrument-set 'gm :p) => (:layout piano-layout :port nil :channel 1 :sound 'gm :program 0 :controllers nil :pan (pan 0) :volume 92) (get-instrument-set 'gm :sq) => (:layout string-quartet-layout :port nil :channel '(13 14 15 16) :sound 'gm :program '(violin violin viola cello) :controllers nil :pan (pan '(-30 -10 10 30)) :volume 92) Instrument Set Example: (def-instrument-set my-inst :instruments (:group wind :oboe (:layout oboe-layout :port nil :channel 1 :sound 'gm :program '(oboe) :controllers nil :pan (pan 0) :volume 92) :bassoon (:layout bassoon-layout :port nil :channel 2 :sound 'gm :program '(bassoon) :controllers nil :pan (pan -10) :volume 92) )) Note: Please create a new directory 'Def-Unfold-Sets' in your '~/Opusmodus/Def-Libraries' directory. This is where you will store your Unfold sets. The 'OSC Remote Setup.lisp' file needs to be dragged into your '~/Opusmodus/Extensions' directory. OSC Remote Setup.lisp Best wishes, Janusz
  2. opmo

    Using OSC

    Thank you Lasse for your report. Anyway, this file will fix it:
  3. If you use OSC in Opusmodus you need to drop the 'OSC Remote Setup.opmo' file into your '~/Opusmodus/Extensions' folder and restart OM. This file will fix the OSC problem. OSC Remote Setup.opmo Best wishes, Janusz
  4. opmo

    Using OSC

    The ID is the address. The form like "/a" is made internally. All you need to do is to give the id (address) "a" only. The data has two values one for the controller and the second one is the time (interval). I have explained this in my previous post (see above).
  5. opmo

    Using OSC

    I am on Mojave and all works fine here. You need to set the correct remote-host and remote-port for your Reaktor: (defparameter reaktor '(127.0.0.1 10000)) Make sure the OSC is Active: Do you see the Control IDs and Targets in your Reaktor-Drive.ens file: Please drop this file into your '~/Opusmodus/Extensions' folder and restart OM, without it the OSC will not work. OSC Remote Setup.opmo This should fix the problem. Best, Janusz
  6. opmo

    OM OSC Setup

    Better OSC examples you find here:
  7. opmo

    Using OSC

    Dear Rangarajan, Here it is. OSC threads and Reaktor 6: 1. Expand the Reaktor-Drive.ens.zip file first. Reaktor-Drive.ens.zip 2. Move the Reaktor-Drive.ens file into the '~/Opusmodus/Instruments' directory, this will allow you to star the Reaktor form the Opusmodus app. 3. Add the 'Reaktor OSC Threads.opmo' file into the Opusmodus Navigator. Reaktor OSC Threads.opmo 4. Evaluate the DATA parameters. 5. Evaluate the SCORE. 6. Press START button in the Live Coding Instrument - you should hear a sound coming from your Reaktor instrument. 7. Now you are ready to run the OSC threads. You can stop any thread at any time with STOP-OSC-THREADS. or all threads with STOP-ALL-OSC-THREADS. Yes, the OSC-THREAD send the data to the given controller at the other end. Each message has two values, example: (0.04198588 4). The first value is the controller value, the second value is the time (interval - second or ratio). Best wishes, Janusz
  8. New function: STOP-ALL-OSC-THREADS Fixed: Live Coding Instrument hanging note at Stop. Few document errors. Note: Select 'Check for Updates..." from Opusmodus menu.
  9. opmo

    Using OSC

    First you need to define and link the thread IDs with the Reaktor controllers. Each Drive.ens controller (button or slider) should receive one ID thread message. In the Reaktor you can assign a OSC thread ID with a right mouse click on the controller selecting "MIDi & OSC Learn": You should send only one thread at a time. Stop the thread and trigger next one etc... The new function STOP-ALL-OSC-THREADS will make sure that all OSC threads are stoped before you assign a new thread to the next Reaktor controller. Please note, you need to update your app first (1.3.24667) before you can use the new function. To do that simply select 'Check for Updates..." from Opusmodus menu. Tomorrow I will create a Drive.ens - for Reaktor 6 - with ID controllers already linked, as well a simple score for LCI to play with.
  10. opmo

    Using OSC

    Good to see Rangarajan. This example should help. In this example I use the Reaktor "Drive.ens" from the Reaktor Blocks. OSC Threads.opmo To hear the OSC messages in action you need to create a score and send the midi messages to the Reaktor possibly on :port 0 and :channel 1. Best wishes, Janusz
  11. RING-MODULATE-FILE-SYNTH instrument example: A ring-modulating instrument. This CLM instrument will apply ring modulation to a sound file with a specified sinewave. Ring modulation is a fancy name for multiplying the two signals together. When you multiply the two sounds together in the time domain, you get the sum and difference tones in the frequency domain. Contents Source Output Source (with-sound () (ring-modulate-file-synth nil 300.0 0.5 "granis") (ring-modulate-file-synth nil 100.0 0.5 "granis")) Output
  12. FM-INSECT-SYNTH instrument example: FM (frequency modulation synthesis) instrument. Computed sound sounds insect like. Contents Source Output Source (progn (defparameter par (library 'tbn-cs3-partials 'partials nil :random 12)) (defparameter dur '(rnd-sample 12 '(-q q. h -h. -w w. d -d.))) (defparameter freq '(rnd-sample 12 (flatten (partial :freq par)))) (defparameter amp '(rnd-sample 12 '(pppp ppp p mp))) (defparameter mod-freq-env '(0 0 40 1 95 1 100 .5)) (defparameter mod-index-env '(0 1 25 .7 75 .78 100 1)) (defparameter amp-env '(0 0 25 1 75 .7 100 0)) (defparameter fm-index '(rnd-number 12 .01 .6)) (defparameter mod-skew '(rnd-number 12 -20.0 -1.0)) (defparameter mod-freq '(rnd-number 12 20 60)) (with-sound '() (fm-insect-synth (eval dur) (eval freq) (eval amp) amp-env (eval mod-freq) (eval mod-skew) mod-freq-env 500.866 mod-index-env (eval fm-index) .500) (fm-insect-synth (eval dur) (eval freq) (eval amp) amp-env (eval mod-freq) (eval mod-skew) mod-freq-env 649.490 mod-index-env (eval fm-index) .500) (fm-insect-synth (eval dur) (eval freq) (eval amp) amp-env (eval mod-freq) (eval mod-skew) mod-freq-env 562.087 mod-index-env (eval fm-index) .500) (fm-insect-synth (eval dur) (eval freq) (eval amp) amp-env (eval mod-freq) (eval mod-skew) mod-freq-env 300.866 mod-index-env (eval fm-index) .500) ) ) Output Next page ring-modulate-file-synth
  13. FM-SYNTH instrument example: A generic multi-type FM instrument. Contents Source Output Source (with-sound () (fm-synth '(:polyw :dly :ncos :sqr :pul :tri :poly) 's (rnd-sample 64 '(c4 ds5 f4 g3 a5)) (rnd-sample 64 '(ppp pp pp mf f)) :bpm 120 :loop t) (fm-synth :cmb '(-s e = -e.) (rnd-sample 20 '(c3)) (rnd-sample 20 '(p mf f)) :bpm 120 :loop t)) Output Next page fm-insect-synth
  14. EXPSRC-SYNTH instrument example: Granulate generator in conjunction with sampling rate conversion (mimic phase vocoder). Contents Source Output Source (with-sound () (expsrc-synth '(5 5 5 5) "granis" 0.5 '(1 2 3.2 2) '(0.4434 0.7 0.3 .1)) (expsrc-synth 20 "granis" 0.5 1 0.5)) Output Next page fm-synth
  15. GRANI-SYNTH instrument example: A comprehensive granular synthesis instrument geared towards granulation of sound-files. Contents Source Output Source (progn (defparameter dur '(q h w d -q -h)) (defparameter amp '(pppp p pp f mp)) (with-sound (:reverb jc-reverb :reverb-channels 2) (grani-synth (rnd-sample 12 dur) "v" (rnd-sample 12 amp) :grain-envelope '(0 0 .2 .2 .5 1 .8 .2 1 0)) (grani-synth (rnd-sample 12 dur) "v" (rnd-sample 12 amp) :grains 10) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 .1 .3 .1 1 .6) :amp-envelope '(0 1 1 1) :grain-density 8 :grain-envelope '(0 0 .2 .2 .5 1 .8 .2 1 0) :grain-envelope-end '(0 0 .01 1 .99 1 1 0) :grain-envelope-transition '(0 0 .4 1 .8 0 1 0)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :amp-envelope '(0 1 1 1) :grain-density 20 :grain-duration '(0 .003 .2 .01 1 .3)) (grani-synth (rnd-sample 12 dur) "v" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :amp-envelope '(0 1 1 1) :grain-density 20 :grain-duration '(0 .003 .2 .01 1 .3) :grain-duration-limit .02) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :amp-envelope '(0 1 1 1) :grain-density 40 :grain-start '(0 .1 .3 .1 1 .6)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :amp-envelope '(0 1 1 1) :grain-density 40 :grain-start '(0 .1 .3 .1 1 .6) :grain-start-spread .01) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :grain-start-spread 0.01 :amp-envelope '(0 1 1 1) :grain-density 40 :srate '(0 0 .2 0 .6 5 1 5)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :grain-start-spread .01 :amp-envelope '(0 1 1 1) :grain-density (rnd-sample 12 '(40 30 20)) :srate-base 2 :srate '(0 0 .2 0 .6 -1 1 -1)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :grain-start-spread .01 :amp-envelope '(0 1 1 1) :grain-density (rnd-sample 12 '(40 30 20)) :srate-linear t :srate (list 0 1 .2 1 .6 (expt 2 5/12) 1 (expt 2 5/12))) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :grain-start-spread .01 :amp-envelope '(0 1 1 1) :grain-envelope '(0 0 .2 .2 .5 1 .8 .2 1 0) :grain-density (rnd-sample 12 '(40 30 20)) :grain-duration '(0 .02 1 0.1) :grain-duration-spread '(0 0 .5 .1 1 0)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-start '(0 0 1 1) :grain-start-spread 0.01 :amp-envelope '(0 1 1 1) :grain-density (rnd-sample 12 '(40 30 20)) :grain-degree '(0 0 1 90) :grain-degree-spread 10) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-duration .06 :grain-density 20 :grain-density-spread 2 :srate 0) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-duration .08 :grain-density (rnd-sample 12 '(40 30 20)) :grain-density-spread 2 :srate 5 :grain-degree 0 :grain-envelope '(0 0 .2 .2 .5 1 .8 .2 1 0) :grain-envelope-end '(0 0 .01 1 .99 1 1 0)) (grani-synth (rnd-sample 12 dur) "oboe" (rnd-sample 12 amp) :grain-duration .05 :grain-density 35 :grain-density-spread 3 :srate -5 :grain-degree 90 :srate (list 0 1 .3 1 .3 (expt 2 5/12) 1 (expt 2 5/12)))) ) Output Next page expsrc-synth
×
×
  • Create New...