Avatar

Please consider registering
Guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed sp_TopicIcon
Offline Audio Processing
No permission to create posts
July 12, 2017
1:20 pm
Avatar
EliSmashed
Member
Members
Forum Posts: 4
Member Since:
April 25, 2017
sp_UserOfflineSmall Offline

Hi,

 

I have a signal processing algorithm that I really want to implement in RackAFX but the problem is that the algorithm doesn't operate in real time, it needs the full audio sample before it can operate. Is there a way to do this in RackAFX? I saw that it is possible to process .wav files offline but I got the sense that the processAudioFrame() function still had to be operating in real time.

 

Thank you

July 12, 2017
2:15 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

Just load your plugin, then load an input WAV file and choose Audio/MIDI -> Process into WAV file

You will be prompted for a target file name, and all processing is done offline. The processing will use whatever sample rate and channel count the WAV file is encoded with. processAudioFrame( ) will get called, but in an offline manner - not realtime.

- Will

July 12, 2017
7:06 pm
Avatar
EliSmashed
Member
Members
Forum Posts: 4
Member Since:
April 25, 2017
sp_UserOfflineSmall Offline

So I have a .cpp function that takes two 1 x :inf double inputs (unbounded real valued vectors with values between -1 and 1, similar to two audio files of unknown length) and then has two similar outputs, except I guess these would be bounded. I basically want to have the processAudioFrame() function perform this .cpp function on the .wav files and incorporate sidechaining. I've been using the VolumeWithSidechaining as a reference for the sidechaining part but I'm still confused if the processAudioFrame() function can accept and output those sort of variables.

 

Thanks

July 13, 2017
10:25 am
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

The WAV files are delivered as buffers of floating point numbers (floats) regardless of the WAV file encoding, which could be 16-bit integer (by far and away the most common), 24-bit integer (common for synth samples, but not much else), 32-bit integer, float (32 bit), or double (64-bit).

processAudioFrame( ) only operates on floating point values, in and out. It does not support double datatypes, but there is no reason you can't do your processing with doubles; when you write the output values to the output buffer, they will be truncated back down to floats. 

You can use sidechaining with offline processing as long as you set up the sidechain to "Play/Sync with Audio" in which case the sidechain WAV file runs in parallel with the input WAV file, sample-by-sample. Like the input WAV file, the sidechain WAV file is delivered as float values, and both are on the range of [-1.0, +1.0]

- Will

July 13, 2017
2:00 pm
Avatar
EliSmashed
Member
Members
Forum Posts: 4
Member Since:
April 25, 2017
sp_UserOfflineSmall Offline

So when the processing is happening offline, the buffer of floats is the whole audio clip instead of pieces of it that are being fed to the algorithm?

July 15, 2017
1:09 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOnlineSmall Online

No, it is no different that streaming a WAV file through the processor. It just happens offline, that's all. Everything is the same from the plugin's point of view. Remember also that there are multiple options for processing: frames, VST buffers, or RAFX buffers. The default operation is for frame processing.

- Will00

Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online: W Pirkle
3 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 47

Peter: 41

Derek: 41

clau_ste: 39

Frodson: 38

Gwen: 32

EZB: 24

lppier: 23

Msaldaña: 18

Jorge: 17

Member Stats:

Guest Posters: 1

Members: 476

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 482

Posts: 1876

Newest Members:

sam, annaharris, Marie Weaver, kev, Steven, Mr Anderson, mguy, omelc

Moderators: W Pirkle: 143

Administrators: Tom: 65, JD Young: 80, Will Pirkle: 0, W Pirkle: 143