Lots Of Samples Triggered By One Key Can Bug Renoise?

as also seen in this topic, ‘awesomesawce’ instruments sometimes bug out big time, playing just half of all the samples
I’ve come across this again, even without a volume envelope, and start to think i’m doing something very wrong (apart from using a way too default supersupersaw squared anyway) so I’ve made this demo of the problem…
just play the song. the second time the pattern repeats you’ll be greeted by ultimate unpleasant off sounding sawce. :(

I think this is a polyphony limit of the samples that can be triggered at the same time per track, per instrument. For example using the padsynth tool and generating a unison instrument will show similar limits when trying to play chords.

Something like that. If one places a note off on every column in the last row it will loop and play correctly.
Do instruments’ NNA have a say here? Maybe if I set it to note off for every sample by default within AwesomeSawce would this solve the problem?

Checked this, and unfortunately the NNA does not help. What’s the solution here? Or what is the limit anyway?

You are simply hitting the polyphony limit on your note columns. Changing the NNA behaviour may change things slightly, but ultimately you are always going to hit this limit with this particular set up.

At the moment, you can have up to 12 unique sounds (from a sample-based instrument, obviously) playing simultaneously on a single note column.

It could be 12 individual notes played in quick succession with a fading volume envelope that causes the sounds to overlap, or it could be a single note from an instrument which has 12 samples mapped to a single key (as in your demo), or any other combination of different instruments that results in 12 sounds playing together at the same time.

This may sound a bit limiting, but also keep in mind that you can have up to 12 note columns in a single track, giving you a total of 12 x 12 = 144 polyphony.

So the solution in your case is really quite simple: spread your chords over a few more note columns, like so:

E-5 G-5 C-6 OFF OFF OFF
… … … … … …
… … … … … …
… … … … … …
OFF OFF OFF E-5 C-6 A-5
… … … … … …
… … … … … …
… … … … … …
E-5 G-5 B-5 OFF OFF OFF
… … … … … …
… … … … … …
… … … … … …
OFF OFF OFF A-5 E-5 C-5
… … … … … …
… … … … … …
… … … … … …

This gives each note column more ‘breathing room’ where it can manage all the stuff you’re throwing at it :)

3300 awesomesawce-bug-demo-fixed.xrns

Thanks a gazillion dblue :D

And just to be sure, going to test too of course, but if I understand correctly, when you have ‘chord mode’ on and want to do this kind of thing live, well of course the note-offs will then always be received long before a new note, but playing live on an empty track renoise would reserve note columns for this by itself?
Reason I’m asking this is, that I think I should perhaps change the AwesomeSawce tool if 6 on each side with no strict middle is a hard limit per ‘key’, but seeing as it is per note column, I’m not too sure if 15 samples triggered by one key will ever all be played back!

I don’t think they will all be played. I ran into the same issue (although I thought it was a bug at the time).

If you have 12 overlapping sample maps, then NNA will always cut, as you hit the note polyphony limit per note column.

A workaround would be a tool to read through a track and spread out sequencial notes across a specified number of note columns (with note-off in the ‘previous’ column). An ideal project for someone who wishes to learn…

I think renoise should have more options to the Chord Mode.
How about adding these in a dropdown or something:

  • Monophonic (chord mode off)
  • Unisone (monophonic but inserts notes on all tracks in a group at each key press)
  • Auto Assign Note columns(todays chord mode)
  • Cycle through Note Columns
  • Cycle through Tracks in group

This is good for better voice distribution, and it would be really great for triggering devices (note/velocity) in a polyphonic way by cycling tracks in a group.

I think there are still issues with unison-ed instruments sometimes, also if one keeps below the 12 samples per note-column limit. This only appears when you use a custom volume envelope on the instrument, so it’s logical in some way, but a solution is many times to just shove the ‘release’ parameter on the volume envelope to the right (so the sample will stop playing quicker, funny enough)

Keeping the samples below 12 note limits doesn’t mean that you can’t superseed the NNA value. That depends on how the NNA handling is done as well.
In practical sense i think that a maximum of 4 simultaneous samples would allow the least note-jitter.
Another solution would be to add a routine which simulates the “render plugin to instrument” but then for your saw constructions, by simply placing the notes in the pattern editor and then using the render api’s.
The render to Sample option unfortunately has no API call, so you need to mute tracks and note-columns to prevent other stuff getting mixed around and then you need to load the saved wave file back into an empty sampleslot of the target instrument.

Yes I’m all for having a window like it for resampling renoise-native instruments in certain tracks.

So how did ‘freeze track’ tool work?? Like that? :expressionless:
Rendering API functionality would be MOST awesome.

Inspect and rip i should say… The majority of the code is most likely already there, only need to adjust it to your comforts.