Hi, I have Norns software running on a Raspberry Pi 3B+, and I’ve found some performance issues when I use it with the arpeggiator of the Arturia Keystep. seems like the thread that handles the midi events is blocked after some time, and some of the midi messages are delayed.
I found that the screen code in matron was not copyng the screen updates to the framebuffer in its own thread so, that was the first change I’ve made an it works but didn’t resolve the issue completly.
Has anyone expriencied this issue?

The CPU is 12%, so it is not a problem with the CPU usage.

My setup is:
Raspberry Pi 3B+
Behringer UCA-222 USB audio interface
TFT Screen 3.5 (480x320) (I have to scale the image before copy it to framebuffer)
Encoder to GPIO and Buttons to a MCP2008 IO expander (with some custom process to make it work as matron expect)

are you saying you fixed this somewhat complicated issue which is in-progress? https://github.com/monome/norns/pull/1052

very likely your keystep has old firmware https://github.com/monome/norns/issues/609

I have the last firmware version in Keystep which fixes the hanging notes issue.

Regarding the render loop issue, I’ve made a quick test, my suspicion was that due the display that I’m using has a lot more resolution the process to copy the scaled image to framebuffer takes more time and that was blocking the process that handles midi events.
I didn’t implement a full solution with an event queue to process all the screen changes in another thread. I just moved the call to cairo_paint(crfb) to a different thread an I used a pthread_cond_t to wake up that thread from screen_update() function.
The improvement was very noticeable, so think that my suspicion was right.
Now you mention that it is a known issue and I saw your PR with the event queue I think that maybe that will fix the problem completely.

1 Like

Hello,
Im starting with Norns using Raspberry PI 3 MODEL B.
Im following all the setup steps, but when at the moment to run the SuperCollider install bash script , i get this error message

cp: cannot create regular file ‘/home/we/.local/share/SuperCollider/Extensions/’: No such file or directory

Im not clear if i need to create this directory manually and with Extensions i need to add to use with crone.

Thanks a lot in advance

which? these? this is for doing development work on an existing norns system.

at minimum you need to set up your system so that the username is we, then build/install supercollider and everything else that the norns image provides.

(in particular, i think the SC extensions folder should be created when you install SC, but yes it’s possible that you’ll need to create it manually.)

hey !

thank you , yes im ssh into the raspberry using the ‘we’ user , im using the official monome norns-image i cloned that repo .
maybe im missing some build on that folder , instead to the norns folder.
my folder structure into rb pi we user is

/norns
/norns-image

/waf configurate runs succesfully
also waf build ( i have to flag -latomic ) but besides that finished

Let me now what im missing

are you using a shield? currently there isn’t a way to do much without a screen and keys/encoders.

see the shield build instructions, and just use a provided image: https://github.com/monome/norns-image/releases

or let us know if you’re trying something different.

1 Like

hello tehn,

im output the video image via hdmi in a external monitor,
besides im missing pots and encoder, i thought i can get ready the raspberry pi with the norns running , try same scripting , before to buy the shield and pots to interact.
yes im using that norns-image

let me know if im missing something else

thanks

i’d really recommend just buying the shield. people have put work into it to make it easy to use, and nobody is making a profit from it.

norns-image will reqire many hours of messing around for it to work with other hardware. these things will all be points of pain:

  • getting the norns graphics on the HDMI output
  • working with different soundcard
  • emulating expected GPIO input

(maybe someone else on this thread will help you, but tehn and i are focused on making norns stack work with the hardware for which it was designed.)

that said… you should be able to get the lua interpreter (matron) and the audio backend (crone) working on pretty much any linux system: just install jack, supercollider, lua, and build dependencies. (IMHO this will not give you much sense of how it feels to use the norns scripts, which are designed around the I/O hardware available on norns/shield, but depending on your interests it may still be educational.)

for the particular issue you reference: just make sure your supercollider install is OK (you can run sclang, boot a Server, and make sounds) and create the user extensions dir by hand before installing the norns SC classes.

hey guys ,

this clarify to me a lot, definitelly my next step is to get the shield and achieve a descent ensemble. Im just trying to give a test first about capabiliities, get a bit close programming with lua or supercollider ( these are pretty new to me) and get a more clear idea.

I totally understand your points about compatibillity.
I will keep trying

Thanks for your patience, you guys are great

1 Like

yea, definitely worthwhile to just dig into supercollider and lua independently of the norns ecosystem. SC is a marvellous tool for all kinds of digital sound work, and it’s totally free.

we’ve been talking about it for ages, but a usable desktop emulation of norns i/o might finally be on the horizon.

11 Likes

is anyone getting this supercollider fail:
details in matron :
*** ERROR: dlopen ‘/usr/lib/SuperCollider/plugins/StkInst.so’ err ‘/usr/lib/arm-linux-gnueabihf/librtaudio.so.6: undefined symbol: ZN10RtApiPunseD1Ev’

Server ‘localhost’ exited with exit code 0

not seen it before ?

a couple of sleeps and reboot seems to fix anyhow.

maybe need to recompile SC3-plugins?

1 Like

Hello, i finally get a shield from monome , but after solding im getting the ‘rainbow screen’ freeze on boot startup . Im using a Rasperry MOdel 3 B (Not 3 B+) flashing this image on the sd card (https://github.com/monome/norns-image/releases/download/200106/norns200106-shield.img.zip) im wondering if i need a specific different img to use with my model .

THanks in advance

the shield norns image does not support hdmi.

the kernel could be modified however, it’s in the monome github. though kernel modification is a somewhat specialized skill.

fundamentally the shield was not intended to be used with a screen, but as a standalone instrument.

2 Likes

I’m kicking myself for umming and ahhing about buying the shield board for weeks (primarily because I’d been spending some time learning some Raspberry Pi basics and because I’ve not soldered anything for over 20 years), and when I finally decided to go for it, there were none in stock. Do the boards go out of stock often and are they likely to be on stock again soon?

I’ve got a Pi3B+ that I may just try sshing onto and following the shield build instructions in the meantime.

Kits are in stock https://market.monome.org/

I’m on a tight budget for this at the moment, I can pick up the rest of the BOM fairly cheap in the UK, so the full kit’s not really a goer for me right at this moment.

Bright minds from the forum are running Eyesy visualizer over HDMI on Norns. Unfortunately Shield is out of the game because HDMI is disabled. It would be fantastic to have it working. Any chance for that in a future Shield image?

1 Like

As I understand it, this is highly unlikely.

I believe the only solution would be to build your own custom disk image with HDMI enabled. Long term compatibility becomes a question.

(with the hacking we are doing) Eyesy will run on any Raspberry Pi with any soundcard - so might be easy enough to run it on a PiSound or similar Audio-geared Pi setup.

1 Like