Using TouchOSC as input for jackbeat?

50 views
Skip to first unread message

Jake

unread,
May 26, 2010, 12:19:18 AM5/26/10
to Jackbeat
I would like to use the iPod app TouchOSC to edit jackbeat.
http://opensoundcontrol.org/implementation/touchosc

Is there a tool that already does this? [ So I don't re-invent a
wheel ]
Not sure if it's as simple as editing the text layouts and/or puredata
patch?

Good news is I know I have OSC working:
I am able to send OSC messages from ipod, and read them in python.
I can read MIDI messages as input [ goes from ipod > MIDIyoke >
renoise ]
I can read OSC input in PureData. [ patches to match touchOSC layouts
are on the site above. ]

Olivier Guilyardi

unread,
May 26, 2010, 10:43:04 AM5/26/10
to jack...@googlegroups.com
Hi Jake,

On 05/26/2010 06:19 AM, Jake wrote:
> I would like to use the iPod app TouchOSC to edit jackbeat.
> http://opensoundcontrol.org/implementation/touchosc

That's a brilliant idea! I've just installed TouchOSC on my phone to give it a try.

> Is there a tool that already does this? [ So I don't re-invent a
> wheel ]

I am afraid not.

> Not sure if it's as simple as editing the text layouts and/or puredata
> patch?

I'm afraid the text layouts won't be sufficient indeed. I don't know about puredata.

> Good news is I know I have OSC working:
> I am able to send OSC messages from ipod, and read them in python.

Same here, it works great from/to Python with pyliblo :-)

> I can read MIDI messages as input [ goes from ipod > MIDIyoke >
> renoise ]

MIDIYoke? Are you on Windows?

> I can read OSC input in PureData. [ patches to match touchOSC layouts
> are on the site above. ]

Ok

First, the bad news: according to my first tests, coupling TouchOSC with
Jackbeat may not be straightforward. I looked at the BeatMachine layout, page 2,
for instance. For example, if you tap the beat at the lower-left corner, you get:

/2/multitoggle/1/1 ,f 1.0

Whereas in Jackbeat, to enable the *upper-left* beat, you must send:

/your_sequence/set_beat 0 0 1

Which means that:
- the track order is reversed (odd)
- the indexes are one-based in TouchOSC, and zero-based in Jackbeat
- the track/beat position is transmitted as a path element instead of a value

And: using the TouchOSC editor, you can only change the "/2/multitoggle" part
AFAICS.

It could be easier with sliders layouts, dunno..

Eventually, the good news: this should be very easy to solve with Python :-)

Of course, it requires a little work, but AFAIK you won't be reinventing the
wheel at all.

Please let me know about any progress you make

--
Olivier

Jake b

unread,
May 31, 2010, 10:43:07 PM5/31/10
to jack...@googlegroups.com
I sent an email to the TouchOSC devs.

Do you know howto install libLO on windows? I didn't find binaries.
[ I think c++-libLO has to be installed, then pyliblo ? ] Or not
depending on cyrex/pyrex?
Wasn't sure based on the files, and errors.

libLO looked like a simpler interface to debug dump_osc, and send_osc
, than OSC.py or simpleOSC.

I was looking to find if this psuedo code makes jack start.
$ send_osc.py "/sequence1/play" p:port

Current method I'm not sure if it's just sending something different.

At this point, I'm thinking of reading input: TouchOSC, then output
translation by sending OSC to jackbeat.

On Wed, May 26, 2010 at 9:43 AM, Olivier Guilyardi <oli...@samalyse.com> wrote:
Hi Jake,

> Same here, it works great from/to Python with pyliblo :-)

> I can read MIDI messages as input [ goes from ipod > MIDIyoke >
> renoise ]

> MIDIYoke? Are you on Windows?

Yes. It creates a MIDI device, sending MIDI events. Somehow puredata
is between touchosc, then outputting to MIDIyoke.

[ I found it on TouchOSC's homepage, 2/3 of the way down. It says if
mac, osculator. Else windows: MidiYoke+puredata patch. ]

It looks like there is a new program, maybe superceding it? I haven't
had a chance to try it yet. It appears that it's similar, and uses
DSMI server for midi output. Although, it looks like it was started on
xp/vista, where midiyoke is older.
http://www.cmsoftwaredesigns.com/site/index.php?option=com_content&view=article&id=51&Itemid=65

> Please let me know about any progress you make

will be back with more.

Incase I didn't link these
http://hexler.net/ [ front page has noarch/linux version of editor ]
http://hexler.net/pure-data-patch-generator [ output file seemed crazy
when viewing in pd. ]
http://code.google.com/p/osc2midi/
--
Jake

Olivier Guilyardi

unread,
Jun 1, 2010, 7:31:34 AM6/1/10
to jack...@googlegroups.com
Hi,

On 06/01/2010 04:43 AM, Jake b wrote:
> I sent an email to the TouchOSC devs.
>
> Do you know howto install libLO on windows? I didn't find binaries.
> [ I think c++-libLO has to be installed, then pyliblo ? ] Or not
> depending on cyrex/pyrex?
> Wasn't sure based on the files, and errors.

Yes, you need to install liblo, which is a C library, and listed as a pyliblo
dependency:
http://das.nasophon.de/pyliblo/

On this page, Pyrex and Cython are marked as optional, so no, you don't need these.

But for all of this, you're going to need a working MinGW or Cygwin setup for
compiling. And it can be complicated to get there. Plus, liblo compiling on
Windows is likely not to be straightforward.

> libLO looked like a simpler interface to debug dump_osc, and send_osc
> , than OSC.py or simpleOSC.

dump_osc and send_osc are minimal example scripts. You certainly can write
equivalent ones with OSC.py and such. I've never used the later, but if binaries
are available on Windows, that should be easier.

> I was looking to find if this psuedo code makes jack start.
> $ send_osc.py "/sequence1/play" p:port

The syntax to start jackbeat playback with pyliblo is:
$ send_osc <port> /sequence1/start

See:
http://jackbeat.samalyse.org/wiki/BasicUsage#OSCInterface

> Current method I'm not sure if it's just sending something different.
>
> At this point, I'm thinking of reading input: TouchOSC, then output
> translation by sending OSC to jackbeat.

That's exactly the idea.

>
> On Wed, May 26, 2010 at 9:43 AM, Olivier Guilyardi <oli...@samalyse.com> wrote:
> Hi Jake,
>
>> Same here, it works great from/to Python with pyliblo :-)
>
>> I can read MIDI messages as input [ goes from ipod > MIDIyoke >
>> renoise ]
>
>> MIDIYoke? Are you on Windows?
>
> Yes. It creates a MIDI device, sending MIDI events. Somehow puredata
> is between touchosc, then outputting to MIDIyoke.
>
> [ I found it on TouchOSC's homepage, 2/3 of the way down. It says if
> mac, osculator. Else windows: MidiYoke+puredata patch. ]
>
> It looks like there is a new program, maybe superceding it? I haven't
> had a chance to try it yet. It appears that it's similar, and uses
> DSMI server for midi output. Although, it looks like it was started on
> xp/vista, where midiyoke is older.
> http://www.cmsoftwaredesigns.com/site/index.php?option=com_content&view=article&id=51&Itemid=65

In order to communicate with Jackbeat, use OSC, just forget MIDI. An alternative
to using Python would be OSCulator, but I don't know if an equivalent exists on
Windows.

>> Please let me know about any progress you make
> will be back with more.

Okay let me know how it goes.

>
> Incase I didn't link these
> http://hexler.net/ [ front page has noarch/linux version of editor ]
> http://hexler.net/pure-data-patch-generator [ output file seemed crazy
> when viewing in pd. ]
> http://code.google.com/p/osc2midi/

--
Olivier

Reply all
Reply to author
Forward
0 new messages