instructions for fixing: Norns: update fail recovery

2 Likes

thank you!!!

Having trouble with the audio engine error on startup. I followed the instructions to deal with duplicate SuperCollider classes but I’m not seeing anything regarding an offending script. Here is the last bit of the log that I’m curious about:

start_audio():
norns.startup_status.timeout

script clear

SCRIPT ERROR: AUDIO ENGINE

I manually updated to 2.0.0 and then automagically updated to 2.0.1. Downloaded new scripts this morning and they all seemed to work. Came home from work this evening and now this.

new engines need a restart/reboot to get loaded, so it’s possible you missed the duplicates the first time around? Check again just in case (keep in mind that’s in the sc tab in the Maiden REPL).

1 Like

Ah. I missed that bit about the SC tab. I believe I located the problem - seems to be the fm7 script. Thanks!

2 Likes

Hi there,
is it possible to add the chance to play tape files in loop in the next upgrades? Like in 1.x
Miss it a lot, maybe it’s something simple maybe not but it could be really useful with long background articulate sounds.
Or to choose if to use them in loop or not.
Thanxx :relaxed:

2 Likes

There is a GitHub issue already filed for this - so it is on the radar

3 Likes

I’m looking forward to seeing how/where that is implemented, as the next ask would be to be able to define start/end points, and it would be nice to try to help out.

Ran into the same issue some others did – I ran the update from the menu as directed, but none of the scripts would load. I also tried the reset from the system menu.

I ssh’d into Norns and did ‘sudo shutdown now’ to turn it off. After that, scripts are running.

about the Tape feature

so, the Tape class is intended to be spuer simple and not have tons of features

that said, there are a few features i should be able to add easily:

  • looping. it has been asked about many times; it was in 1.x and ommitting it was my bad. i promised to implement it 1month ago and haven’t yet, i’m sorry. [see note #1]

  • pause.

  • (borderline) seek.

  • (borderline) option to record inputs as well as outputs.

(each of these features is straightforward in itself, but when i sat down with a bit of free time last weekend, i realized i would have to do a more thorough refactor of the Tape class (again - last 2 times were adding envelopes, and adding more buffering to deal with norns emmc R/W speeds), to make envelopes smarter (begin fadeout before EOF), to re-prime the disk read buffer, &c - and to do all this without making a spaghetti mess. i may be able to do it this weekend. (i’ll have a few hours downtime tonight.))

features i will definitely not be implementing:

  • overdub

  • multiple tracks

  • rate modulation

  • resampling [see note #2]

all of these require specific and more or less complicated architectural descisions. if we wanted to make a more fully featured headless DAW kind of project, it would be best to break that out to a separate codebase / jack client, and start over with specifying the final desired feature set, so that the correct decisions/components can be made/implemented from the beginning. (but TBH i don’t think making a DAW is really on the critical path for norns development, and at that point i’d consider just using one of the many such projects that already exist for linux.)

anyway the Tape class is not very complicated, and it’s right here if anyone wants to contribute - that would be very nice, and would leave me to attend to other norns infrastructure issues in my not-copious free time:

[ https://github.com/monome/norns/blob/master/crone/src/Tape.h ]

notes:

[1] this form of looping will not be super accurate. Tape is a disk-streaming class and we have not added fancy features like ping-pong streaming buffers. so looping will involve 1) automaticaly beginning a fadeout when we are close to EOF, 2) waiting for fadeout, 3) seeking to SOF, 4) waiting a small but arbitrary time while the disk input buffer is re-primed, and 5) beginning playback and fade-in.

sample-accurate looping from RAM can be performed with relative ease from SuperCollider or softcut.

[2] Tape can accept any sample format supported by libsndfile, but resampling on the fly is both effortful and CPU-intensive. simply prepare your samples at 48khz. if you aren’t familiar with ffmpeg or sox this is a great opportunity to become so.

17 Likes

It was in Edge that I had problems connecting to maiden. No problem in Chrome.

Error message is below:

  1. Endpoints: [object Map]

  2. Units: [object Map]

  3. Error during service worker registration: SecurityError

  4. HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier). (Fetch)GET - http://192.168.1.203/api/v1/dust/data/editor.json

  5. [object Error]: {description: “Object doesn’t support property or method ‘scrollTo’”, message: “Object doesn’t support property or method ‘scrollTo’”, number: -2146827850, stack: “TypeError: Object doesn’t support property or method ‘scrollTo’ at value (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:1243148) at mr (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:624269) at br (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:625788) at Anonymous function (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:638789) at t.unstable_runWithPriority (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:673651) at Hr (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:638676) at Wr (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:638471) at zr (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:637843) at $r (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:636621) at Fr (http://192.168.1.203/maiden/static/js/main.147e1296.js:1:635768)”}

  6. 0: Object doesn’t support property or method ‘scrollTo’

main.147e1296.js (1,638023)

Thanks for the stack trace. That helps a lot and I suspect I already know where the problem is (just not sure what the best fix is). In the mean time I’ve opened a GH issue regarding the problem: https://github.com/monome/maiden/issues/157

hi there was having problems connecting HID Devices to my RpiNorns so i replaced line 13 in vport.lua with this one and it works. :slightly_smiling_face: is this just me?

names[device.port] = true

hope this helps

1 Like

Not sure if this goes here or Norns Help but last night I deleted my dust folder (which I had messed up last week and wasn’t sure I fixed properly manually) and installed it again from a link @tehn posted somewhere. I thought it worked when I glanced at everything last night before leaving work, where my computer is.
Today it says NONE (error: AUDIO ENGINE) upon startup and scrolling seems to be super slow. I’ve restarted and reset it but nothing’s changing.
When I click on @Justmat Otis or Mangl, they just say loading. Actually, checking now, they ALL say loading and never load.

The only thing I did after adding the dust back was add Otis, Haven, and Mangl. My computer is 40 mins away and I will go there if need be but I don’t know what to do to make this work again. Thanks in advance!
-Brendan

https://monome.org/docs/norns/

HELP

ERROR: AUDIO ENGINE

If norns shows ERROR: AUDIO ENGINE chances are there’s a problem with duplicate SuperCollider classes.

To solves this connect via wifi and open maiden. Go to the SuperCollider REPL tab, type ;restart and press enter.

This will restart the audio components and output their logs. If there’s a duplicate class an error message like the following will be shown:

ERROR: duplicate Class found: ‘Engine_Some’
/home/we/dust/code/somescript1/lib/Engine_Some.sc
/home/we/dust/code/somescript1-copy/lib/Engine_Some.sc
ERROR: There is a discrepancy.

Remove one of the offending scripts/classes and either completely restart norns or execute ;restart again from maiden and all should be good again.

1 Like

Works perfectly. It was Haven. I thought I was told that WE doesn’t have that engine anymore though. Either way, it’s fixed and I’m happy but I’m confused on why there was a dup if it was supposed to have been removed from that folder. Just trying to understand thoroughly so I can handle myself better in the future. Thank you for your help!!

Depends on what/where you restored the we directory from. It has indeed been removed from the repo.

Possible bug - looking for confirmation.

levels page not getting updated with values from script load, and/or script load ignores set levels for cut

  • Turn cut all the way down on the mixer levels page.
  • load awake
  • awake plays with standard softcut reverb level
  • mixer page levels for cut still show all the way down
  • changing cut level then adjusts the reverb level

Question might be - which settings take precedence? Master levels settings or the loading script settings?

1 Like

this is actually a messy problem that needs to be resolved with the param menu update.

right now the way to update audio levels is to call ie

audio.level_cut(x)

which is what both awake and the menu level page do.

but the menu level page uses the mix class which is a paramset, so it can do get as well. clearly updating audio.level_cut directly is not going to update the mix pset.

right now this is a bug and will be addressed in the massive param page overhaul— or there might be a quickfix: https://github.com/monome/norns/issues/838

2 Likes

quick question, probably a summary from somewhere else- i’ve read every norns thread religiously on here, and used the search function to my utmost ability this evening, but can’t seem to find what the deal is with the old dust folder that is now on my norns after completing the latest update? guessing the scripts in there won’t necessarily run without being rewritten? or is it just to put them in the correct file path and get lucky on some of them? i’m “missing” a couple of “essential” ones from norns 1.0 that i haven’t seen in the library or otherwise here lately. not that i’m ungrateful for what there is or expect anyone to just automatically update their code! just wondering if there was a protocol in place which i missed…