Cool, I’m up for giving it a shot. I haven’t written any Lua or done Norns dev, but this looks like it’s mostly copy-pasting stuff until it works.
Edit: okay, pull request for global scale is up.
Cool, I’m up for giving it a shot. I haven’t written any Lua or done Norns dev, but this looks like it’s mostly copy-pasting stuff until it works.
Edit: okay, pull request for global scale is up.
I wanted to ask, is there a way to disable the track internal sound when using it to sequence MIDI? I would like to use some tracks sequencing other equipment and some tracks with the internal sounds.
I tried turning down the volume of the sample/internal engine, but that seems to also turn down the volume of the external synth.
Update: I found a workaround for this, i.e. to play a silent sample.
Love me some o-o-o ! I tried using two launchpad mini mkiiis with this script and it stalls / freezes after making a couple connections. Anyone else experiencing this issue?
I know this script is compatible with Midigrid so is there anything I am missing with setting up properly? I am experiencing this freezing on a stock Norns, latest OS, running on internal battery or powered.
What an imaginative and immediately satisfying script. And the ability to record multitracked samples directly integrated? Great work.
I’m also using 2x Launchpad Minis Mk3 via Midigrid
with no major issues (if any) - no freezing encountered as yet.
Thanks for confirming. I have deleted midigrid and o-o-o and re-installed and I am still encountering issues with my Launchpad Mini Mk3s. When you start patching various instruments (pad, lead, etc): the sounds completely stall out and then return verrry slowly then it speeds up and then goes really fast - well beyond the internal bpm, some audio popping and then seems to smooth out until I start making connections again on the pad.
Neither of the launchpads are active in the devices>midi section and I have both launchpads set to programmer mode. I’ve also tried different USB cables for the launch pads and no change.
This issue doesn’t happen with the Awake script on wither launch pad for reference
I am stumped! I am not sure if this is related but I did just identify that my stock Norns needs a battery replacement due to the issue outlined here. However, I am experiencing this issue with both the USB power and on battery power…
Here is the audio where you can hear the audio completely stall about 20 seconds in then slowly come back at 34 seconds and speed up, pop, etc around minute mark:
@infinitedigits looking in maiden, there are no errors being thrown. Here is a printout of my most recent section where all the above is happening:
# script load: /home/we/dust/code/o-o-o/o-o-o.lua
pset last used: 2
including /home/we/dust/code/o-o-o/lib/utils.lua
including /home/we/dust/code/o-o-o/lib/er.lua
including /home/we/dust/code/o-o-o/lib/network.lua
including /home/we/dust/code/o-o-o/lib/grid_.lua
including /home/we/dust/code/mx.samples/lib/mx.samples.lua
1 1.0
2 1.0666666666667
3 1.125
4 1.2
5 1.25
6 1.3333333333333
7 1.40625
8 1.5
9 1.6
10 1.6666666666667
11 1.7777777777778
12 1.875
# script run
>> reading PMAP /home/we/dust/data/o-o-o/o-o-o.pmap
Engine.register_commands; count: 0
___ engine commands ___
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
pitch_in_l
pitch_in_r
# script init
including /home/we/dust/code/midigrid/lib/mg_128.lua
including /home/we/dust/code/midigrid/lib/midigrid.lua
including /home/we/dust/code/midigrid/lib/vgrid.lua
including /home/we/dust/code/midigrid/lib/supported_devices.lua
vgrid init with layout: 128
5 core midi devices
Scanning for supported midigrid devices:
virtual -- Not supported
Launchpad Mini MK3 1 -- Not supported
launchpad_minimk3 -- Supported
Launchpad Mini MK3 1 2 -- Not supported
launchpad_minimk3 -- Supported
mounted_devices
5 launchpad_minimk3
3 launchpad_minimk3
Loading midi device type:launchpad_minimk3 on midi port 5
including /home/we/dust/code/midigrid/lib/devices/launchpad_minimk3.lua
including /home/we/dust/code/midigrid/lib/devices/launchpad_rgb.lua
including /home/we/dust/code/midigrid/lib/devices/generic_device.lua
Loading midi device type:launchpad_minimk3 on midi port 3
including /home/we/dust/code/midigrid/lib/devices/launchpad_minimk3.lua
including /home/we/dust/code/midigrid/lib/devices/launchpad_rgb.lua
including /home/we/dust/code/midigrid/lib/devices/generic_device.lua
Attaching devices:
grid columns: 16
Engine.register_commands; count: 2
___ engine commands ___
fm1 ifffffffffffffffffsis
fm1sample isffffffffffffs
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
pitch_in_l
pitch_in_r
loaded Odashodasho
The same stalling behavior you’re describing happens to me as well if I make too many connections, and someone else upthread described the same. I think it’s just pushing the processing power of norns, and slows down/catches up because of it.
How many connections does it take to start getting this behavior?
Ahh - good question. Forgot to mention this previously. This issue is happening only after the second or third connection - so very few compared to what you are referencing up thread. I’ve experienced that issue with too many connections previously too when using o-o-o stand alone
@infinitedigits what about adding grid controls to change key on the fly?
Maybe using the two free central rows of the right part of the grid. We have 16 buttons there, something like:
Hi, @infinitedigits , just a short message to thank you for this amazing script.
You made my day 8)
that sounds great! would happily accept a PR to do that. it should be added into this file.
very kind, thank you!
is the issue only happening when your midigrid is being used? what about when no grid is being used?
That is correct - it happens with midigrid
only. I’ve gotten some slowdowns without the grid but only when I went full tilt a few times with tons of connections =P
In the case of moonraker
mentioned here, the freezeup happens immediately with midigrid
when using two launchpad mini Mkiiis
That is correct - it happens with
midigrid
only. I’
Could you see if it’s a refresh rate issue? Maybe the midigrid cant be refreshed as fast as grid? Try increasing this line to 1/10 or 1/5: o-o-o/grid_.lua at 33943d7feb190847042792279145dbc20c62311b · schollz/o-o-o · GitHub
Im doubtful that’s the issue but it’s worth a troubleshoot
Bumped the refresh rate down to 1/10 and so far no no more freezing using the launchpad mini mk3s I’ll keep playing around and update if I run into any more freezing issues.
Thank you (s)o-o-o much!!!
Thank you so much @infinitedigits ! I love playing around with this wonderful script.
Is it possible to add some other engines? For me even a basic subtractive synth would be more than enough, I’m not really into Fm synthesis, sadly
Is it possible to add some other engines?
yes it is possible, o-o-o already supports two engines. you can add a third. a few steps are needed:
I think that’s it
Thank you so much! I’ll try tomorrow and see where it goes. Don’t think it should be that difficult to define more param tho
Just discovered the sample capability here!! This script is amazing, a truly incredible idea.
Question: In sample mode, how hard would it be to add an option for the “grid location” to control the start/window location on a sample (rather than its pitch)? So, theoretically, maybe creating an arc from the first pad to the 64th of would play the first bit (clip time determined by the decay parameter) and the last bit (same deal). Thoughts?
Thanks again for this thing!! I’m super enjoying it!!
In sample mode, how hard would it be to add an option for the “grid location” to control the start/window location on a sample (rather than its pitch)? So, theoretically, maybe creating an arc from the first pad to the 64th of would play the first bit (clip time determined by the decay parameter) and the last bit (same deal). Thoughts?
it should be pretty easy if you just want the sample start. this line controls the sample start position (right now its always 0, to start at the beginning). I would then maybe hardcode the “note” to always be the same and use the “note” value to map to the sample position. (because note corresponds to position on grid).
for the window…I didn’t add “end” points to the Lua engine function but its also easy to do. you need to add one more “f” to this line. then at this line you can add the end by doing \start,msg[3],\end,msg[4]
and then make sure to increase the x
in msg[x]
in all subsequent ones.
ideally there would be a switch for this mode, but if you want to push those changes I could build in the switch to toggle it.
Woot! I’m gonna try to work on making this happen
Thanks so much!!