Insert FX and other devices

Many devices can be added to Renoise to address many of the issues mentioned by users.
1st issue: Inserting FX into one particular instrument -
This can be handled with an InsertFXDevice. User loads such a device which allows the user to choose an available instrument (instrument already in instrument list - an RNI or a VSTi) and insert a chain of FX’s directly into it through another list listing available FX: DSP’s and VST FX)
Track envelopes can be used to automate inserted FX.

2nd issue: Accessing an Audio device -
This can be handled with a WaveInDevice that is treated as an Instrument
User can choose the Audio In device (like Line In for example)
This allows rerouting external audio (from midi hardware, other Line Outs on other PC’s, a Mic etc…) back into Renoise through the WaveInDevice. And this device is used like a regular instrument.

3rd issue: Routing a playback -
This can be handled with a WaveOutDevice that is treated as an Effect
This allows the user to route the audio out to the level of an instrument into a Wave Out device that user can choose from a list in such a device.

4th issue: Recording Audio
This can be handled with a RecordWaveDevice, and should be treated as an Effect
This allows user to place such a device as an effect in a chain and record the audio into a wave file.

1 through 4 covers all that is needed of handling and getting and routing and recording audio.

5th issue: Rendering multi-track audio
This can be handled by a RenderMultiTrackDevice
User chooses track and wave file to save.

1st issue: Inserting FX into one particular instrument -
This can be handled with an InsertFXDevice. User loads such a device
which allows the user to choose an available instrument (instrument
already in instrument list - an RNI or a VSTi) and insert a chain of FX’s
directly into it through another list listing available FX: DSP’s and VST FX)
Track envelopes can be used to automate inserted FX.

I dont see how we could use a TrackEffect to insert a FX for an Instrument. I suggest a new Dsp tab beside the “TrackDsp’s” where you set up Effects as usual but for Instruments and not for tracks.

2nd issue: Accessing an Audio device -
This can be handled with a WaveInDevice that is treated as an >Instrument
User can choose the Audio In device (like Line In for example)
This allows rerouting external audio (from midi hardware, other Line Outs
on other PC’s, a Mic etc…) back into Renoise through the WaveInDevice. >And this device is used like a regular instrument.

This should be a TrackEffect. Playing notes on the LineIn makes not really sense for me.

3rd issue: Routing a playback -
This can be handled with a WaveOutDevice that is treated as an
Effect
This allows the user to route the audio out to the level of an instrument
into a Wave Out device that user can choose from a list in such a device.

Routing is already done on a track base, so why creating a new device for that ?

4th issue: Recording Audio
This can be handled with a RecordWaveDevice, and should be treated as
an Effect
This allows user to place such a device as an effect in a chain and record
the audio into a wave file.

good idea

5th issue: Rendering multi-track audio
This can be handled by a RenderMultiTrackDevice
User chooses track and wave file to save.

how can one device in a track render all available tracks ?

2nd issue: Accessing an Audio device -

This should be a TrackEffect. Playing notes on the LineIn makes not really >sense for me.

Agree. This can be cool for live use, but wouldn’t it be better to handle recording separately?

4th issue: Recording Audio
This can be handled with a RecordWaveDevice, and should be treated as
an Effect
This allows user to place such a device as an effect in a chain and record
the audio into a wave file.

good idea

Is it really? This might also be cool for live use, but regular recording isn’t really part of a track. This solution sounds a bit strange and inconvenient to me. But I don’t have time to write more now. I’ll get back to this later.

This is what I meant by InsertFXDevice - not essentially a TrackEffect. I am already thinking of these devices in a more general way :D

A TrackEffect? Interesting! Why not? I did not think of it as such.
But even if it is an instrument, can’t such an instrument just ignore the notes?
I thought an Instrument is much more practical since it can be sent readily into a future RecordWaveDevice (see below); in addition, FX can be applied to it in a more natural manner. Personally, I think WaveInDevice is thought of as an instrument more than an FX in a natural way.

It comes in handy. There are couple of VST FX’s to do that (although I would not mention which ones for good reasons that you are well aware of), maybe a native capability is better.

Again, I was thinking of a device in a more general term. Let us say, using a tab where one can setup where a track should record (for example: Track 1, saves track1.wav etc…). Then a Record button or something like that to render different setup tracks into different waves.
This is separate from the Render button which records everything (unmuted tracks) into a wav.

With a WaveIn instrument (or TrackFX) one can get a signal into a track.

With a RecordWaveDevice FX, this allows user to record a signal at any stage. Just use as an FX and set it to save a wave file. The only parameter needed is On-Off (to turn recording on and off).

In addition to the already available Render, and some new tab to allow for recording individual tracks into individual waves - user gets many degrees of freedom in a VERY REALISTIC way (nothing out of the ordinary).

To make it useful I suggest a couple more parameters:

  • On/off
    On starts a new recording, off ends it. When restarting recording, the parameters below affects what happens.

  • “Instrument #”
    The instrument into which the sample is recorded

  • “Sample #”
    Which sample slot in the instrument the sample is recorded to
    Together these defines where the recording is stored.

  • “Autoincrement” [off / sample# / instrument#]
    If off, does nothing. If sample#, increments sample# every time the recording is stopped, so the next take will be in a new sample slot in the same instrument. If instrument#, same thing but incrementing instrument number. This will make it possible to automate several takes.

  • “Autoincrement skips used sample slots” on/off
    Turning this on will make sure you don’t accidentally delete any samples when using autoincrement.

Additional, instead of a WaveInDevice i suggest a ExternalAuxDevice working like this:

Parameters:

  • “Output port”
    Possible values are all the available audio output ports, or “none”.
  • “Input port”
    Possible values are all the available audio input ports.
  • “Send level”
  • “Dry/wet balance”

The WaveInDevice sends it’s input to the “Output port” selected, attenuated/gained with “Send level”. It’s output is a mix of it’s input and the audio it reads from “Input port”, using the “Dry/Wet balance” setting.

Setting output port to none and balance to completely wet, this will work just as your WaveInDevice. In addition, it will give those who have hardware effects a change to use them almost as any other effect!

The big question is, is this possible with the current structure of Renoise. Taktik, what do you think?

It would be nice to render a block or track into the current selected instrument with the click of a button, yes :)

Although the above two devices will cover most needs, I still think that normal recording should be an action, ie you click some buttons to start and stop it, and not accomplished by adding effects to a track. A “Record/mixdown” tab might be a good idea, containing “Mixdown block”, “Mixdown track”, “Mixdown tracks”, and misc recording settings.

This sounds super, with one addition :D
User can also set file to save recorded wav to. Like that, all possibilities are covered.

But would this be an instrument or an FX? I can not prevent myself from imagining it as an instrument (of course, in which case, notes are ignored) so that one can apply other FX into it, including the use of RecordWaveDevice, etc… - unless you have a different idea on how to use this device on a track.

Sure, and that is what I mention elsewhere in the thread. The RecordWaveDevice FX is a supplement and should not take the place of regular rendering etc…

The big question is, is this possible with the current structure of Renoise
as audio recording isnt implemented at all it’s impossible now and we have to keep this as an idea till 1.3 …

As taktik said, this would be an effect. This way, it can be put anywhere in the effect chain, with internal and vst effects before and after it, and the audio input can be mixed with other output from the track it’s on.

Of course. I also suspect there will be a lot of testing to get audio recording stable and correctly timed. I wouldn’t be surprised if we don’t finish it for 1.3 either. So in short, we have a lot of time to come up with other ways to do this.

Just a small comment - assume I do not want to mix it with anything, would this be possible? For example: I want to just record the line in audio by attaching the RecordWaveDevice FX to the ExternalAuxDevice FX. Would this be possible if I am not using any other instruments on the track (since ExternalAuxDevice is an FX)? Hopefully this will be kept in mind. So all possible uses are taken into account.

On the positive side: If an InsertFX tab is implemented where one can insert an FX into individual instruments, then one can insert the ExternalAuxDevice into an instrument (so that the external audio is mixed only with that instrument). Attaching a RecordWaveDevice FX would only record that part.

This was the idea, yes. Note that taktik said the WaveInDevice would be an effect, if anyone knows he’s the one :)

But, as taktik also said, it won’t happen in 1.2.

It would be nice to have WaveIn as an effect, however I think you could use it as an instrument (or as one of the samples in an instrument).

Here’s how:

Use a circular buffer (buffer size controlled in confs), and you play at normal speed on C-4. Of course you can not play the sample faster than the current stream position so any note above C-4 would clamp to C-4 if the current stream position is right up to the end of the buffer. You could play the stream slower (until the front of the circular buffer catches up with the current stream position, or rather the stream pos reaches the back of the buffer). Each note trigger would instantly catch up to the front position in the stream. This would be great for live effects, such as using the volumn slicer and you could use the note retrigger 09xx but xx is interpreted from the back of the buffer 00-FF to the front. So if your buffer length is 2560ms 0900 would jump back all the way… this way you can use decreasing 09xx values to create a stutter effect, as the stream moves forwards, the retrigger position moves backwards to keep the retrigger in the same place. You could then easily use pitch slide to catch back up again gradually, or retrigger the note to catch up instantly.

This would allow for more live effects as you can still of course add track effects on the resulting stream. Now I’m not saying that renoise should become a live performance tool, or agreeing or disagreeing with this idea, just that it is technically possible and more flexible than doing the WaveIn device as a track effect.

Just a few thoughts :slight_smile:

J