Line-In Recording Workflow Suggestion

What I’d like my Renoise line-in recording workflow to look like:

  1. Set a line from where to count in (anywhere in the song.
  2. Mark a selection of rows or patterns defining how long the sample is going to be - this includes when to actually start and stop recording.
  3. Press a key to start the process.
  4. Recorded samples are buffered into a new instrument each.
  5. After an arbitrary number of takes (choosable somewhere) or until a button is pressed, the recording ends.
  6. Assigned hotkeys plays the song with the buffered samples in the track (without overlap from other recorded samples, but WITH any DSP assigned etc), with the option to delete the instrument if you didn’t like it.
  7. A chosen sample is inserted into the track in c-4, as per definition in 2 above.

Optional:

  1. After every take, there’s a new precount.
  2. Option to play the latest take automatically after recording it, and then with the press of a button delete it or keep it.
  3. Automatically crossfade beginnings and ends.

Not sure if it’s possible with scripting or if it would need some hardcore programming though (I’m not a coder in any way, I just say it like I want it). I’ve also come to the realization that maybe Renoise isn’t the best tool for recording at all… Feel free to prove me wrong - that’s why I’m posting! :D

This is the very first thing I tried to realize with lua when I got into renoise. Really, it is striking how similar my half-assed tool was featurewise: my plan was to implement your points 2, 3, 4(actually i would’ve used samples within instruments for separate takes on the same part), 5, 6, 7, 8, 9, and 10. Wow. I did not complete it though, it’s lying somewhere in a big pile of unfinished code. I gave up at some point thinking that ‘someone else can do this better, I’d better wait for that…’.

I’d say this is possible with lua, up to a point. And it would’nt be too hard either. The biggest problems I faced were:

1)the settings in recording dialog (pattern sync, create new instrument…) are not accessible with lua, so one cannot create a complete alternative recording dialog, and

2)sample accurate line sync is not possible, meaning that stopping at the very sample that ends the ‘recording block’ cannot be done.

Workarounds: 1)Do the settings through the native recording dialog. 2)If sample accuracy is an issue, record overlong and calculate sample accurate length afterwards, cutting the tail. Never did the 2), though.
Some notes:
-I did the recording block selection by setting block loop with hotkeys. This seemed to work really well. It would also support listening the part afterwards.
-I planned the interface would be simple, so one would use only a handful of buttons/keys for the main use: a start/stop key, accept key (mark take as accepted, save for later), dismiss key (mark take as crap), and a ‘star’ key (mark take as the one you would like to place on the track. Not thoroughly thought over here, I’m afraid.
-The crossfading would be probably best to implement with instrument envelopes?

I hope someone does this. At the time I thought I’d have more time to record stuff with my guitar but, alas, I was wrong. Hence the dumping of this project. :(

You know, KMaki, I was fiddling around with this too, and it’s really amazing to see that a start-stop recording a sample can be called from within the instrument editor, and the sample will be placed onto the selected sample slot / keymap slot / whatever you wish to call it.

The finetuning as regards loopblock, “record only selection” etc would be neat, but requires more api updates (as you noted, the sample_recorder also needs additional api functions).

i gave up on recording a sample per keymap slot because i kind of like recording something and playing it an octave higher or an octave lower. + i ran into some issues while running a keymap-generation script which looked like this:

  
function emptyslices()  
local si=renoise.song().selected_instrument  
local ss=renoise.song().selected_sample  
local ssi=renoise.song().selected_sample_index  
ssi=1  
for i=1,64 do  
si:insert_sample_at(i)  
end  
  
for i=1,64 do   
 renoise.song().selected_instrument.samples[i].name="empty_sampleslot" .. i  
 end  
  
 renoise.song().selected_instrument.name=("multiloopersampler_instrument" .. renoise.song().selected_instrument_index)  
 w.active_middle_frame= 3  
end  

After I’ve run a script like this, one has to click on “Drum Kit” in the Sample Keyzones. Then one is ready to start samplin. or something.

Recording workflow is an important topic, but I think it should be handled by proper audio tracks and arranger as in normal DAWs. At least I hope so.

Agreed. This would make matters immensely simpler. (This makes my beta-angst even worse… Aaaaaa… :smashed: )

Very good ideas, I think tho, most stuff should be core functionality, this will be undoable in LUA… I just don’t think this has to be priority for next Renoise releases (Formula device is way more important!) but good ideas nonetheless!!
by the way… all tracks in renoise are proper audio tracks!!!

I’m referring to something in the lines of this: Brainstorming: Audio Tracks

Or even better, a more traditional (horizontal?) arranger, with the faster song navigation and arming buttons that comes with it. I feel it would solve workflow issues when it comes to recording. (Not everyone likes to envision Renoise becoming more of a traditional DAW with pianoroll basically replaced by pattern editor, but that’s what I hope)

Much of this request has to do with Punch In/Out Recording, which applies as much to MIDI type data as it does to real audio, so I don’t really agree with that comment as such. I do think it should be part of the core program and not a Tool though.

Hence “…and arranger”.