Set up the ranges you want to use in a table. Then check key press events against those ranges.

@lazzarello are you planning on updating FM7 for v2? no pressure of course, I just miss using it…

edit: seeing this https://github.com/monome/dust/pull/300 - is it just a matter of cleaning up a few things/paths and posting to Library at this point?

1 Like

Looking for just a little bit more help with trying to get rid of the filtering from softcut in MLR as it doesn’t play well with drum sounds and overall just doesn’t match the signal if im doing live looping type stuff. What I’m trying to achieve is just grabbing the dry pass thru signal. @zebra has pointed me to adding these functions

for i=1,4 do 
  softcut.filter_dry(i, 1)
  softcut.filter_lp(i, 0)
  softcut.filter_hp(i, 0)
  softcut.filter_bp(i, 0)
  softcut.filter_br(i, 0)
end

but I get (error:init) when I try to load MLR after adding.

Im a bit confused with where to place them as line on line 358 it reads:

for i=1, TRACKS do

If I change TRACKS to what was suggested, I get the error. If I just add the functions below line 358 sitting with the rest of the softcut functions I also get the error.

In practice I’d like to just understand how to be able to do this to any script that utilizes softcut so I get exactly what I record into the buffers returned out of the outputs. The aliasing is not as much of an issue for me as the difference in sound im currently getting.

Here’s an audio example to show the difference I’m getting in sound: The first half is the pass through signal and the 2nd half is softcut playback

I can’t test at the moment, but I would just put the @zebra code at the bottom of the init function. looks like after line 428.

@Prnts, it would look like this. lines 427 - 436

  gridredrawtimer:start()
  dirtygrid = true
  for i=1,4 do 
    softcut.filter_dry(i, 1)
    softcut.filter_lp(i, 0)
    softcut.filter_hp(i, 0)
    softcut.filter_bp(i, 0)
    softcut.filter_br(i, 0)
  end
end
1 Like

Will give it a try now thanks

to my ears, the sound you’re getting seems consistent with the settings in awake/halfsecond (midrange bandpass with gentle rolloff)

which is why its important to initialize these things in mlr. otherwise state is persisted from the previous script that touches these parameters.

be aware also that it’s possible to (soft-)clip the input to a given softcut voice, which will also subtly affect timbre.

finally, remember that mlr/softcut voices are mono; L/R are summed before sampling. if you want stereo, you have to use two synchronized voices with appropriately configured input routing, buffer assignment, and output pan - mlr doesn’t do this (yet.)

3 Likes

apologies… the softcut reset needs to do a lot more, so there’s a known ā€œdefaultā€ state.

The suggestion Zebra and Matt gave me got rid of the error and is a lot closer to what I remember 1.0 sounding like for me

As far as the soft clipping goes I think I was running the signal in too hot. What I was hearing pass through was different than what it was recording at contrary to setting the monitor value to match the input level. (which is how I would set it in 1.0)

I just lowered the input value on the audio page down to around -6db under what the output and monitor are set to and its actually sounding pretty damn close to what’s going into the buffer.

From the very beginning of all of this I was trusting the graphical meters too much when setting the initial input levels. I’ve just ran 2 tests with different sources and its sounding pretty damn good now. Im so relieved. I really love Norns and didn’t want to have to abandon sampling functionality.

In the future then I would assume that I’ll need to modify scripts that use softcut with the filter functions to keep it as close to the original signal as possible yes?

I will fix the filter defaults, I apologise for the trouble. in the future you should not need to edit scripts just to get expected functionality :slightly_smiling_face:

also the VU meters need some improvement… I’ll make a ticket for that

2 Likes

No need for apologies at all. Although some of this was a bit frustrating its also helping me learn which is very welcomed. Again I appreciate all the help here from everyone.

2 Likes

I don’t really know how the new Library system works. What’s the format for posting a script to this forum?

if you make a new post in the library section, a template should pop up with everything you’re supposed to include!

1 Like

the ā€œaboutā€ is at the top of the Library category: About the Library category

Ah ha! That could be helpful if added to the pinned post. It only refers to ā€œthe templateā€, perhaps ā€œthe template after clicking new postā€?

1 Like

Not sure if this is the place, but how does the clock work vs metro? I’m trying to sync up UI (done with metro) to note playing (done with clock) but even though they both use the same BPM params they refuse to sync.

Does clock basically trigger every n milliseconds based off of params:bpm? Vs metro which needs a frame rate.

which ā€œclockā€ are you talking about?

midi clock?

the Beatclock lib?

1 Like

I think i saw somewhere that its possible to make screenshots within norns now, could someone point me out pls?

Correct :slight_smile:
You can run the following from the maiden REPL

s_export_png("/home/we/test.png")

Which will create a ā€œscreenshotā€ in that location

we@norns:~$ file /home/we/test.png 
/home/we/test.png: PNG image data, 128 x 64, 8-bit/color RGBA, non-interlaced

I don’t think it’s properly documented anywhere yet.

7 Likes

Apologies. Beatclock.

What is the recommended way of getting paths to audio files and folders with audio files to be recognized by the SC engine? I could do it all on the SC side, but I’d like to include some functionality in the lua script to change the file or folder where the audio files reside.

2 Likes