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

gene heskett gheskett at wdtv.com
Mon Nov 14 18:04:57 UTC 2011


On Monday, November 14, 2011 01:03:25 PM Florian Paul Schmidt did opine:

> On 11/14/2011 05:01 AM, gene heskett wrote:
> > 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
> 
> I updated the example: Lessened the breathing to something like 10db and
> added a bass:
> 
> http://shirkhan.dyndns.org/~tapas/stella_jiss.ogg
 
But now the overall level is -50db.  I can just barely hear the .ogg.  Same 
player.
 
> https://github.com/fps/jiss/blob/master/wicked.lua
> 
> Sounds a bit more like music now :D
> 
> Flo
> 
> > 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
> 
> _______________________________________________
> 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>
Humor in the Court:
Q: ...any suggestions as to what prevented this from being a murder trial 
   instead of an attempted murder trial?
A: The victim lived.



More information about the Linux-audio-dev mailing list