[LAD] [ANN] ALPHA: jiss - Jack Interactice Sequencing Software

gene heskett gheskett at wdtv.com
Mon Nov 14 04:01:33 UTC 2011


On Sunday, November 13, 2011 10:46:57 PM Florian Paul Schmidt did opine:

Played with the pclos default .ogg player.

> http://shirkhan.dyndns.org/~tapas/stella.ogg
 
Nice clean sounding synth, but as an old BC engineer, it sounds like there 
is a DBX-165 compressor that is badly adjusted in the output path.  The 
whole thing is breathing about 30db  with the kicker drum, and gain 
recovery is about half the drum period.  If you wanted that effect, you got 
it in spades, but to these ears the compression is way overdone and I think 
you will find it generates ear fatigue in the average listener quickly.

I don't enjoy raining on anybodies parade that obviously has a lot of work 
in creating a creative tool like this is intended to be, so please take 
this as constructively as possible.

> (wicked.lua code here with some omission of some chords at the start and
> some remarks in comments added):
> 
> -- some stuff :D
> require "jiss"
> require "jissing"
> 
> -- create engine in stopped state
> e = jiss.engine()
> 
> -- setup some state that the sequences later use
> -- e:run can only be used when the engine is stopped..
> -- as this is executed in non-RT context it's ok to
> -- create some variables and tables here..
> e:run([[
>      bar = 0;
>      min = 20;
>      max = 80;
>      stella = {
>          range(min, 80, min7b5(E(4))),
>          range(min, 80, min7b5(E(4))),
> 
>          -- cut away quite a bit here (see wicked.lua in git clone) :D
> 
>          range(min, 80, maj7s11(B(4)-1)),
>          range(min, 80, maj7s11(B(4)-1))
>      }
> ]])
> 
> -- this sequence can control the others since it's processed before
> -- the others in the engine
> -- events string is newline sensitive. in this case the events
> -- on consecutive lines are spaced 1 second apart..
> -- also: loop back to 0 at time t = 8 sec
> tune = seq(e, "tune", loop_events(8, events_string(1, [[
>      drums1:relocate(0.0); drums1:start_(); notes:relocate(0.0);
> notes:start_()
> 
> 
> 
> 
>      drums1:stop_();
> 
> ]])))
> 
> -- manually start this sequence and add to the engine
> tune:start()
> 
> -- note that a copy is appended to the engine
> e:append(tune)
> 
> 
> -- a sequence that controls the global variable bar to advance through
> the song
> play(e, seq(e, "control", loop_events(1, events_string(1, [[
>      bar = bar + 1; bar = (bar % #stella);
> ]]))))
> 
> 
> -- events at fixed times. loop at t = 0.75 sec
> play(e, seq(e, "notes",
> loop_events(0.75, {
>      { 0.125, [[ for i = 1,4 do note_on(0, 24 +
> stella[bar][math.random(#stella[bar])], 30 + math.random()*64) end
> ]]    },
>      { 0.5,   [[ for i = 1,2 do note_on(0, 24 +
> stella[bar][math.random(#stella[bar])], 10 + math.random()*34) end ]] }
> })))
> 
> -- a drum pattern
> drums = [[
>      note_on(1, 64, 127); note_on(2, 64, 127)
>      note_on(2, 64, 127)
>      note_on(2, 64, math.random(127))
>      note_on(2, 64, math.random(127))
>      note_on(2, 42, 110)
>      note_on(2, 64, 127)
>      note_on(2, 64, math.random(127))
>      note_on(1, 64, 127); note_on(2, 64, 127)
>      note_on(2, 64, math.random(127))
> ]]
> 
> play(e, seq(e, "drums1", loop_events(1, events_string(0.125/2, drums))))
> 
> 
> 
> -- connect all sequence outputs to jass:in
> connect(e,"jass:in")
> 
> -- run the whole thing
> e:start()
> 
> -- wait for the user to press enter
> io.stdin:read'*l'
> 
> 
> Have fun,
> 
> Flo
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev


Cheers, Gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page: <http://coyoteden.dyndns-free.com:85/gene>
Someday somebody has got to decide whether the typewriter is the machine,
or the person who operates it.



More information about the Linux-audio-dev mailing list