Profiler

Hi
Following this post

I’m started to develop a new plug which aims to make this process a bit more comfortable.

It features a round trip measurement routine.
This allow to load the plug, connect the output to the system output,
loop over external gear (soft or hardware) and back to the profiler input.

Simply press “Profile” to play the “input.wav” file to the output and record the returning input
delayed by the measured round trip latency.

The round-trip latency will be measured on each “Profile” start.

Resulting recorded “target.wav” file will be perfectly in sync with the used “input.wav” file.
Currently, both files would be saved under “/data/user-files/Audio Recordings/profiles/”.

The “target.wav” file get overwritten on each Profile run, so there will be always only one target file.
You need to download it from the device in order to use it with the AIDA-X trainer.

The “input.wav” file comes as resource with the plug and get copied over to that folder,
when no input.wav file was found there.
This allow advanced users to use there own input.wav file by simply replace the one in that folder.
Still you could reuse the input.wav file when you upload it to your google drive once.

The target.wav file get checked during record and run to a normalization function when needed.
(Only when the max peek in target is above the max peek in input).

The record will be saved in the PCM24 wav format (same as the input.wav file).

The UI provide a progress bar, a vu-meter, a clipping indicator and, well the profile button.
I made the UI by using css + javascript only, just to have one to play with. It didn’t need to stay this way when someone steps in to create a other one.

I’m not sure if the folder “/data/user-files/Audio Recordings/profiles/” is the right directory to store the files, as then, they been available in the audio-file-player. May be better to hide them from there as they didn’t been meant to listen to.
Other than that, from the description above, is there anything I’ve forgotten to implement to make it more comfortable?

23 Likes

For me this looks fine. Anyone with addtional ideas?

3 Likes

I just like this rubber-styled button, which looks like something water proof, or maybe like a roli seaboard. Cool.

3 Likes

What a cool idea!

I’ll be testing this one of the next days and if all goes well, I can already update my article with a simpler board.

suggestions:
a peak level meter and input level control could help keeping the incoming signal under -*6db
(*as suggested earlier here on the forum)

2 Likes

the peak meter should be on the left side, to indicate that it is related to the input, not the output (as the output of the plugin is always under control, due to it simply playing back a static audio file).

I disagree that it needs a gain knob, should be quite the contrary. if there is clipping or overall too loud volume, that means distortion during the AD conversion (input too hot?) which would ruin the training.
not sure if possible to detect this vs a very harsh distortion though…

One perhaps slightly crazy idea here is to have the plugin be a dumb frontend for a jack client running behind the scenes, something that autoconnects to the system ports and does not need the user to manually patch in things on the pedalboard.
Since I assume the plugin is made specially for MOD units, we know everything about the underlying audio system it runs on and can make the user experience be super simple.
For example:

  1. plugin has no IO of its own, making it very easy to just drop and record
  2. it can refuse to load more than 1 instance, preventing mistakes and misrecordings
  3. when profiling is activated and no signal is received for 5s or so, it can automatically stop and give a warning to the user
5 Likes

Very roli-like, I agree. Looks nice!

1 Like

agree, you’d rather tone down

being able to detect clipping would be useful to issue warnings indeed.
Signal too low-> “increate the output on the device you are modeling”
Signal too hot → “decrease” or in case of oocasional peaks indicate as well

I imagine a next level: a dedicated pedal board with a custom graphic indicating the mode :slight_smile: | it could be “baked in” as factory board. That would be more intuitive than the plugin suddenly showing some kind of behaviour you don’t expect or see in other plugins. Migt give you more control to grab the user by the hand, even do “steps” with notes that appear and disappear in a certain order when starting the process etc.

Thanks for feedback!

I get the following from it:

  • the peak meter should be on the left side :white_check_mark:
  • I disagree that it needs a gain knob, should be quite the contrary. :white_check_mark:
  • when profiling is activated and no signal is received for 5s or so, it can automatically stop and give a warning to the user :white_check_mark:
  • being able to detect clipping would be useful to issue warnings indeed :white_check_mark:

So peak meter moves to the left side and no gain control implemented.
The profiler send out a alert when it detect that the output isn’t connected to the input (via loop back), then it switch of and show a warning message.
The peak meter have a tad green lightning, when the input exceeds -6dB it becomes orange, when it exceeds 0dB it becomes reed. Still the clipping indicator is there, but, to be honest, it can’t detect clipping on the AD converters.

10 Likes

Well, it may be not so crazy at all. If we backed the profiler in like the tuner, we didn’t need a UI at all. When we add it to the tools menu, you could use the MOD on the fly to capture external gears were ever you are without needing a computer at all.
(I could do the needed work on the mod-controller)
I think we need then a “test” function to run a dry test while setup the gains (in/output) and display a peakmeter during that phase. Then, when really profile, just display a progress bar.
That will make the MOD to a “gear capture device” :heart_eyes_cat:
That means we didn’t need to display anything in the web ui at all. That will require truly to allow multiple saved target files (1 - 199).

11 Likes

@brummer That is a very cool suggestion! That would make the Dwarf again a class ahead of the market!

6 Likes

That’s very interesting @brummer

We already have the widget to rename banks and pedalboards, so naming the capture shall not be a big problem

5 Likes

@brummer will this be released as a plugin or for internal mod only?

it is surely not only for MOD’s internal use.

the discussio is if we release it as a plugin or if we embed this in the system as a device feature :slight_smile:

4 Likes

Is “Profiler” the right name for such a functionality? I tought it was about measuring CPU usage :smiley:

Good point, when it comes to expectations (and semantics): it isn’t really a profiler.
It crossed my mind but I never outed any concern up till now.

We distinct 3 large steps in this process, where the MOD device takes 2 roles.

1: MOD device: the listerner, everything starts with a good talk with a caring listener.
2: Google workbook attached to the “learning code”: interpreter, the learner, the profiler. Calculate the math behind the magic. The Hari Seldon. (sorry, Asimov reference ;))
3: MOD device: the operational machine, the simulator, the moment on stage, the proof in the pudding. The force that executes.

A name like Profiler could be …confusing, because it doesn’t do profiling.
People might think the tech is all included in that one step, using a “profiler” plugin while they are just handling step 1.

I was thinking: what would be best aimed at the consumer.

  • branding your complete process under the same flag an name would make the flow easier to sell and explain. When you are free but still a bit more complex than other tech, you need to find USP’s in other parts of the marketing P’s.
  • You can’t include it in the AIDA-X branding because you can use the ‘listener’ for other tech as well (NAM,…) although it would not be bad to have separate listeners if at one point, different parameters arise and you need to fork the listening road.

So I imagine

AIDA-X Listener
AIDA-X profiler workbook
AIDA-X plugin

doesn’t that look neat?

2 Likes

I was thinking about this.

The plugin serves both AIDA-X and NAM. It’s only a matter of selecting the adequate input.wav file

That said, maybe something like “Neural Capture” should be pretty self explanatory

9 Likes

+1 on “Neural Capture” as the name. That’s a more industry standard and recognised name for it

3 Likes

The Doppelganger ? Or the Doppel-amper ?

1 Like

I like the Capture idea

Yep, Neural Capture sounds good to me, I’ll use that as name for the plug.

It is a plugin, and will be released for desktop use as well.

6 Likes