Otis

For the last couple of days I’ve been getting a weird sort of distortion from Otis when speeding up or slowing down the playback speed. It sounds like the downsample parameter in Ableton’s Redux effect, or a very light bitcrushing effect. I checked my parameters, and sample rate is 48k, bit depth is 31, saturation is at 5.

I recently updated Norns to 201029 (Fates on 3b+), so I’m thinking that might be the culprit? Tried a couple other scripts since updating (Cranes, OOOOOO) and the downsampled effect is not present.

Anyone run into this issue, or might there be some setting I’m overlooking that’s causing this?

Have you done a SYSTEM>RESET since updating?

i haven’t had a chance to play with otis since the update, hopefully i’ll have a chance tomorrow.
does this distortion happen when saturation is at 0?

I need to explore more but I’m getting what appears to be background clock noise with Otis since the update. Looked like it was also referenced in the new firmware thread by another user. I’ll dig in tomorrow and give some more detailed notes

2 Likes

@okyeron Yes, I have tried resetting a few times. I’ve completely removed Otis, SYSTEM > RESET, then reinstalling Otis and it still appears.

@Justmat Yep, distortion happens even with saturation at 0.

would you mind posting an audio clip? wondering if it sounds like this…

Sure thing. The effect starts at around 0:06.

1 Like

ah, yes that is def not intended!

any chance that you had maiden open? i’m curious if there are any error messages being printed to the REPL.

Here’s what’s printed in REPL when launching Otis:

REPL Output
# script load: /home/we/dust/code/otis/otis.lua
# cleanup
# script clear
ERROR (i2c/hp) failed to write
including /home/we/dust/code/otis/lib/tlps.lua
including /home/we/dust/code/otis/lib/hnds.lua
pset >> write: /home/we/dust/data/system.pset
# script run
loading engine: Decimator
>> reading PMAP /home/we/dust/data/otis/otis.pmap
m.read: /home/we/dust/data/otis/otis.pmap not read.
Engine.register_commands; count: 7
___ engine commands ___
crossover	 	i
distAmount	 	i
highbias	 	f
hissAmount	 	f
lowbias	 	f
sdepth	 	f
srate	 	i
___ 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
ERROR (i2c/hp) failed to write
>>

So I think I just heard the effect happen in Cranes while recording something at 0.25x speed, though I haven’t been able to recreate it, whereas it persists in Otis after changing speed for the first time.

1 Like

mmm, i’m hearing it now with other scripts that route softcut into itself, but it’s kinda hard to nail down – it can be triggered when rates aren’t the typical 2^x (where x is usually -3 to 2) style. so, anything like rate = 0.79 adds a bit crush effect i’ve only previously heard when the fade time and loop length were super tiny (0.001s).

weiiiird. i’ll try to hack at a clean repro script tomorrow, but if anybody has time tonight i figured the breadcrumb might be helpful.

1 Like

this is anecdotally a familar sound for me coming out of softcut, pushing anachronism with weird settings sometimes gets these bits caught in buffers. it (anecdotally) sounds a bit like samples being written to every other frame rather than every frame.

i’m an antagonist though because i love the sound : )

I’ll look. These updates introduce no changes to softcut dsp; the only change to softcut client is to clamp some parameter ranges on the cpp (so you can’t e.g. blow up filters with negative RQ, etc.,even when bypassing lua API.) Wonder if debug build got added to the update or something like that.

Best debug information would be output of journalctl for the crone service. (sorry I’m on phone so can’t relate exact invocation.) this will include buffer underruns, etc

There are no inherent problems with fractional rates and have not been for a very long time.

2 Likes

I’m having a hard time updating Otis, if anyone could add any insight into this problem it would be greatly appreciated. I’m new around here as well. This is the error I’m getting in Maiden.

Updating project “otis” failed
update failed: open /home/we/dust/code/otis/.git/objects/pack/tmp_pack_332240568: permission denied

I’ve tried to manually delete the files as well from my computer and get a permissions error as well.
Thanks.

Just found a thread with a similar issue, I’ll just try a fresh install and see if that works.

found the issue. the latest update erroneously clamps rec_offset to be non-negative - therefore zero in this case. (when the offset is zero, the read head and write head are inside each other’s resampling windows; badness ensues.)

@Justmat in the process i noticed that the rec_offset value in Otis is quite large. (0.06s, whereas you only need 5-6 exactly 8 samples worth.) generally there is no reason to set this parameter unless you are trying to do something confusing, and the large offset is probably creating extra clicks and pops around the loop points.

8 Likes

Not sure if this is a super necessary or additive comment but just want to say that the debugging and troubleshooting convos in script threads are such a cool feature of the community around norns. As someone unlikely to ever write or change a line of code I just want to say how much I value the intelligence and the dedication of the people who write, maintain and assist in making it possible to use these amazing instruments we have access to.

15 Likes

@zebra, thanks for checking this out! i’ll get the rec_offset amount fixed this morning. i’m not sure where 0.06 seconds came from… if 8 samples are all that’s needed, it should be something like 0.00016 :sweat_smile:

edit: i just saw your recent changes to the record offset defaults. i’ll just remove the line setting the offset and rely instead on the default value.

1 Like

Spent a few mins early after I did an update. All gooood!!! (Im assuming there was an update lol)

Quick question; In the param setting the “skip ???”… When I select that I don’t seem to be getting any noticeable effect. Also when “???” Is selected and I go to press skip I don’t see the icon that normally appears. What’s the intended behavior there?

Cheers!

intended behavior is the playhead jumping to a random position in the buffer/tape. it’s been awhile since i played around with it, so something definitely could have broke.

:sweat_smile: i did update otis and the classic offshoot, but i don’t think those changes will really be relevant until @zebra’s resent softcut fixes have been “released”.

1 Like

interesting! well whatever you did Im not getting any of the clicks and noise. lol

1 Like