Serialosc/monome with Organelle?

I think I’ve had more fun with my Monome in the last few days than I have in a while.

I’m playing with a sequencer based on the monome grid-studies sequencer tutorial, upgraded to use a sample-based clock using [cyclone/edge~] and a [phasor~] via pd-extended. Just goofing around, sending MIDI to a Moog Minitaur. I stress-test the clock towards the end of the video. The sequencer is polyphonic but the Moog is mono so it only plays a single note in the row. Also, you may notice the pitch is inverted on the sequencer the way I have it oriented.

The knobs are:

  1. Tempo
  2. Note Step (1/1 to 1/128)
  3. Swing (WIP)
  4. Gate

It’s great to be able to use the Organelle’s keys to program the notes of the arpeggiator!

5 Likes

Awesome work here. One of the many reasons the organelle originally piqued my interest was the possibility of being able to use it as a host for my monome. Your work saves me a bunch of time breaking things.

I’ve followed your footsteps and have it almost working. I keep seeing “udpsend: not connected” errors on keypress (when in the GUI pd patcher), and no LEDs illuminate, but when running the monome polysynth patch, notes are indeed being played on keypress (with the same errors and non LED illumination). Any thoughts to point me in the right direction with this problem?

hey btw

do you think a wifi adapter should be included under “hardware” in the docs?
just a suggestion (unless it’s possible to install w/o one)

Rad that people are trying this out :slight_smile:

re: @glia

Yes, good catch. I’ve updated the README. A network adapter is required to install any new packages obv.

re: @halvves

When you say keys, do you mean organelle keys or monome buttons?

I realized I didn’t explicitly say to copy everything in scripts/ to /root/scripts on the Organelle, I’ve updated that as well – so perhaps serialosc isn’t connected if you’re getting udp errors. I’ve also updated the serialosc.pd patch in the Patches folder which may aid debugging.

To confirm if the Monome LED’s are working, you could send osc directly to serialosc by opening a terminal and running

/root/scripts/start-serialosc-server.sh

For me, it returns:

serialosc [m128-489]: connected, server running on port 10145

Making a note of the port, try turning all the LED’s on or off with:

oscsend localhost 10145 /monome/grid/led/all i 1 # all on
oscsend localhost 10145 /monome/grid/led/all i 0 # all off
3 Likes

@quilime: Ok. I’ve made some more headway.

When I was saying keys yesterday, I was referring to the actual monome buttons. Thats why it seemed so peculiar.

I did end up assuming to copy the scripts over, so that wasn’t a problem, but its good that the readme now explicitly says that.

I was initially connecting without starting the gui (or terminal) just to test those scripts and all worked fine. I did not know I could send osc directly that way though. I tried your test commands, and all LEDs are indeed working (progress!). Part of me is thinking is a port inconsistency thing… since its when the scripts get called from pd that things aren’t working right.

I’m going to download and try your new serialosc.pd patch. (UPDATE: no luck with that new patch, but i’m going to tinker with it. the fact that i can see it all work in a terminal window give me hope.)

ANOTHER UPDATE: I manually ran the connect script in the terminal, and took the port that it gave me and changed the port in the serialosc.pd patch to that. All worked that way. The script being run by pd must have been setting up a connection on a different port than we were trying to send data on.

You may want to try setting PD to log all errors in the main window, and then open /usbdrive/Patches/Monome/main.pd directly from the GUI. Do any other errors show up besides the UDP ones, like missing externals or packages?

Oh excellent! I’m sure there’s a way to query the port from serialosc with PD as to avoid hardcoding it like that. That would be a nice addition.

This shell-script method with serialosc-device was a way to get up and running and proof of concept, but it isn’t necessarily the best way. I just couldn’t get serialoscd (the daemon) running correctly, which is designed to automatically starts/stop when a Monome is plugged in. It would seg fault for me when launching.

1 Like

@quilime i’m not used to command line or github but have made it thru part of your instructions

how do i copy scripts onto the organelle?

Hi @gila

Did you get WifI setup and are you able to connect to the network from your organelle? If you got that far, you can find your ip for wlan0 with ipconfig, and then SSH into it from your computer and copy scripts that way.

I’m going to see if I can streamline it a bit – perhaps by including everything in the Patch so you don’t have to install anything.

1 Like

@gila Try this bundled version. I’m working out a way to distribute patches without any command line work.

https://github.com/quilime/organelle-monome/archive/bundle.zip

Copy the over the patches to Patches/ folder on the USB, and put the include folder outside of Patches/ so it looks like this:

Patches/
include/

Let me know if this works. I am curious if the serialosc binaries run without needing to be installed on your system and the port is the same (it’s hardcoded at 10405). You may have to manually adjust the port if it’s different, like @halvves had to do.

1 Like

[quote=“quilime, post:29, topic:233”]
Did you get WifI setup and are you able to connect to the network from your organelle?
[/quote]i think so (script ran w/o errors and i was able to check the ip address)
just not sure how to verify it’s working correctly cause i’ve not done anything like this before

i don’t mind the adventure and most of your instructions are clear…i just have no background working in terminal to move files around

[quote=“quilime, post:30, topic:233”]
Try this bundled version. I’m working out a way to distribute patches without any command line work.

https://github.com/quilime/organelle-monome/archive/bundle.zip

Copy the over the patches to Patches/ folder on the USB, and put the include folder outside of Patches/ so it looks like this:

Patches/
include/
[/quote]thanks, really helpful

i’m gonna try this and report back

  • after getting the scripts in this bundle it still seems i need to install some dependencies, right?

  • are some of the steps for installation needed each time i power up? or will the organelle recognize the network card and monome automatically?

Hi @gila,

Looks like it can’t find the includes. I updated the paths to be absolute. Download this new bundle and delete/replace the old ones.

https://github.com/quilime/organelle-monome/archive/bundle.zip

Verify the includes folder is on the root of the USB, not inside the patches folder. The folder structure on the Organelle’s USB should look like this:

  • usbdrive/
    • include/
      • monome/
    • Patches/
      • Monome/
      • Monome Basic Poly/

I assume you have a “vanilla” organelle without anything special installed on it, so this is a good test. I’m hoping you don’t need wifi installed or running with this method. No special setup should be needed.

I am testing with a 128 Grayscale. What monome do you have?

1 Like

i’ve got a 128 too, from the most recent edition

will test with this bundle
thanks!

[quote=“quilime, post:33, topic:233”]
Verify the includes folder is on the root of the USB, not inside the patches folder.
[/quote]done

[quote=“quilime, post:33, topic:233”]
I assume you have a “vanilla” organelle without anything special installed on it
[/quote]correct

monome appears connected

still no lights

Ok Cool!

Can you open a terminal and run the following? Could you copy and paste the output? (or take a picture)

/usbdrive/include/monome/start-serialosc.sh

Edit: I’ve confirmed on a formatted Organelle that the serialosc port can be different every time, meaning it doesn’t work to hard-code the PD patch. If serialosc-device runs properly, and you do see a port number, you can edit the serialosc.pd patch manually.

In the meantime, I’m working out a way to dynamically get/set the serialosc-device port from PD.

hey i know this is basic stuff for most of you so thanks for walking me thru the process

apparently libmonome is missing

“error while loading shared libraries: libmonome.so.l: cannot open shared object file: no such file or directory”

i tried to download but do you have any suggestion if it says: unable to access…could not resolve host

mabye i need to post in the wifi thread but whats the easiest way to tell if i am actually connected to wifi?

An easy way to check you are connected to internet is with the ping command:

ping www.google.com 

should return something like this:

64 bytes from 216.58.195.132: icmp_seq=0 ttl=53 time=31.403 ms

if it is connected, otherwise it will complain or just hang while it waits for response. Hit Ctrl-C to stop it.

1 Like

Ah ok, looks like serialosc may not be installed correctly. So the “bundle” idea may not work since it needs those shared libraries installed a specific location. Thanks for trying that out.

Yes, you need to make sure you can connect to the internet over WiFi – but only for installation. Getting WIFI set up was the trickiest part for me… Little things like making sure my wifi hotspot was 2.5ghz (rather than 5Ghz), for example.

I ended up reformatting my Organelle with a bare OS on an extra SD card so I could make sure the installation steps worked, and compiled it all into an installation script. It should be much easier to install now. I’ve also made some updates to my patches, the serialosc.pd patch now knows the correct port. Once you can confirm you can connect to the internet from your Organelle, try the new installation procedure. Here’s a the zip download for convenience.

1 Like

Ok, I think I figured it out a solution with the bundle again. Could you try it one more time? If this works, no WiFi needed.

I now include the precompiled binaries in the bundle, and tell the OS to look at the usbdrive as a library location with symlinks. Kind of a hack, but worth a shot, as it gets around having to install WiFi.

Download this bundle bundle.zip, and follow these instructions. Let me know how it fares.

1 Like