[chuck-users] HID, Seqs, Accessibility

Kassen signal.automatique at gmail.com
Thu Mar 8 20:38:51 EST 2007

Veli-Pekka Tätilä wrote:

I see, and most apps let you also move the mouse or send out keybord
> messages from gamepads, if all else fails. At .least the Gravis software
> does. ANother point is that some sighted folks don't like the mouse
> either.
> I do know people who positively hate drag and drop. Usability books also
> consider Uis that require right clicks, dragging or chord clicking as
> potentially unusable for new mouse users.

As a interface for musical programs I think the mouse has some serious
issues in that normal mouse usage takes hardly any advantage of muscle
memory at all. This closes the door on on many of the things we associate
with becoming proficient (and expressive) with a instrument. That might not
be a big deal when the program is used to manage a recording session of a
band but when it becomes the main instrument I think it leads to
questions... It might sound silly at first but I'm starting to feel it's a
real issue that nobody talks about playing Cubase or about virtuosity in

> [uses]
> Except that I don't seem able to clone my favorite Reaktor modules in
> ChucK
> natively just yet and have to hit the C plus plus territory for that,
> arrgh
> manual memory management be damned.

That might also be a matter of getting used to ChucK. At first I often tried
the known modular-system-style approach to any problem I ran into because
that was what I was used to. In my own experience there are often other
solutions that tackle problems in a very different way and end up looking
more logical and simple.

That's right. Although you don't have parens in arithmetic expressions in
> modulars, as the signal flow determines precedence. Which reminds me how
> do
> ChucK and Nord Modular handle divide by zero? Most langs I know throw some
> sort of exception or call a signal handler. However, obviously the event
> divide module in Reaktor cannot simply stop processing at any point,
> especially in a live situation. I think IEEE floats have the types not a
> number and infinity so maybe dividing by 0 should give infinity, at least
> intuitively. Does ChucK support these special values?

In ChucK I simply avoid divide by zero so I'm not sure. Dividing anything
(by a variable) at all in the NM is tricky business. You need to build your
own cerquit for it and so a divide by zero is what you make it. I don't
think I ever needed a literal general purpose divider there but I did once
build a modulo function that worked using a sort of feedback loop for

You can do a lot in the NM but it's not the right tool for every job, math
quickly becomes quite inefficient.

> In Tassman I have at times run out of space on the screen in
> > complicated patches.
> At that point it is time to modularize. Kind of like the old programming
> rule of having a method or function limit of about an A4. IF it's longer
> than that, that's a bad smell. Of course, there are exceptional situations
> e.g. where avoiding the overhead of a function call is a major performance
> advantage.

Yes, true, but modularising becomes very hard in graphical systems if there
is a lot of interconnection within the system.

> Firstly about auditive interfaces.
> Totally pointless, at least to most people. But I've noticed after
> assigning
> different beeps for questions, warnings and notifications, that it is far
> quicker for me to detect what event it is based on a sound. i also tried
> samples of the screen reader saying the type very fast but processing that
> took a lot more mental CPu time. So I guess auditory icons might have
> their
> place after all.

They do, but the could be improved a lot.

Often they seem to come down to shouting "watch out!". That's better then no
warning at all but not quite as good as shouting "car!", "tiger!" or
"jump!". In some situations it might even be worse then nothing at all.

> Sure, sounds interesting. Which reminds me, I've used the Electribe range
> of
> hardware groove boxes and their lights and LCD displays are big enough for
> me to read, if I peer at the device closely. So I find the visual feedback
> of selected steps helpful in that context.

I agree, those electribes are a great example, at times I keep mine synced
to Ableton just for the running leds and having a constant reminder of where
in the loop we are. Much more clear then the little screen icons.

I also have an Alesis SR16 and in that counting steps manually, going in and
> out of the step edit mode to play is about as clumsy and frustrating as it
> gets. All context is dependent on being able to retain a consistant mental
> model of where you're going. Correcting a single live-input note timing in
> a
> pattern using such a system is wel, awful.

I'm in total agreement; that one (I know the MMT8) is a nightmare. At least
it's nice for all us home brew developers to be able to say we have a better
interface then some commercial models with very little effort. <smile>

> You asked about ideas. I like the fact that you can select a step for
> editing and if you hit a key at a time where there's no step, the next one
> will be selected. HAndy in deed.

I have something similar already but yes; that's a good idea. Dealing with
consecutive events that way seems very natural.

Although it's not very accessible, I like the controls in Fruity very much,
> too. Rotating the pattern left or right is nice and there's a fill
> function
> which could be described as function fillNth(int startPos, int n) in
> ChucK.
> That's certainly cool and a real time saver even though I'm going to
> remove
> some of the notes it adds and add others, too.

I had something like that in my old version that used the keyboard and I'd
like to have it back but I'm running out of buttons on my joystick <smile>.
Maybe I need another gaming device!

In fact, I've been thinking of creating a Fruity inspired drum machine in
> some lang, which just might be ChucK:  IS there already sampler modules
> and
> the ability to layer and add basic effects to drum sounds without having
> to
> know DSP? ChucK could do the timing in this.

Yes, there is. Our sampler is called SndBuf and it's quite good. There are
effects and filters amongst the Ugens but you can also and easily use the
way you address the SndBuf as a effect itself in the same style as tracker
users do.

I also have the C64 SID chip on a hardsID PCI card and think it would be
> cool to use that as a drum machine. SO I'm thinking of creating a C
> program
> for editing drums in it on the C64 itself. But is it possible to call
> Win32
> DLL functions in ChucK? The HardSID has a Windows DLL interface for
> reading
> and writing the SId registers. In such use, having ChucK supply the timing
> could be a great benefit. If DLls are out what options do I have for
> inter-process communication within ChucK?

I would think MIDI would be the most obvious choice. Doesn't the hardsID
support MIDI?

> And then it occurred to me. The function keys in a desktop PC keyboard
> already have gaps at 4-key intervals. SO Why not use them for randomly
> accessing steps as follows:
> step key
> 1-4 f1-f4
> 5-8 f5-f8
> 9-B f9-f12
> C-F print screen, scroll lock, break, and esc

He he he, Using the esc that way has a certain charm; it places the last
step of the loop to the left of the "1" so that's quite natural, even if it
does look odd.

> I'm out of the loop as far as new games go, so I'll use Wikipedia to find
> out more.

I think Space Channel 5 might theoretically be playable with no vision at
all. At that point it does get a little sad that it's known for it's design
but it's remarkable that so many music games depend so heavily on the
screen. I think you could play DDR, Guitarhero or Beatmania with the music
muted which is actually a bit strange for a music game when it comes down to

It's totally OT here but incidentally I also have a long thread
> going regarding the accessibility of computer games for partially sighted
> folks:
> http://www.game-accessibility.com/forum/viewtopic.php?pid=1044#p1044

Interesting stuff! I'm going to read that and steal ideas! <grin>

> Oh yes, and a polymorphic Santa, depending on locale, <grin>. better play
> nice here so we might actually get some presents in a future release of
> Chuckmas.

I think Ge's hat is at least as good as Santa's!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20070309/81007121/attachment-0001.htm 

More information about the chuck-users mailing list