Impulse convolver/guitarix

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

brummer

Re: Impulse convolver/guitarix

Post by brummer »

I see in the picture that you have enabled the experimental switch, have you try it without the experimental flag enabled ?
Do you get this behaviour with all presets ?
I mean it's strange anyway, I will start a measure session, to find out what's going on.
brummer

Re: Impulse convolver/guitarix

Post by brummer »

could you send me the preset were you get the most notable delay ?
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Impulse convolver/guitarix

Post by autostatic »

Sure! But I wasn't using the experimental preamp, or does the experimental setting enable an extra stage anyway?
And I'm back on 0.08.0. No lagging.
Here's the relevant preset data:

Code: Select all

"OLP-Bass", {
    "engine": {
      "IR.auto_freq": 0,
      "IR.bandwidth": 100,
      "IR.freq": 440,
      "IR.on_off": 0,
      "IR.peak": 1,
      "IR.position": 4,
      "MultiBandFilter.Q125": 50,
      "MultiBandFilter.Q16k": 50,
      "MultiBandFilter.Q1k": 50,
      "MultiBandFilter.Q250": 50,
      "MultiBandFilter.Q2k": 50,
      "MultiBandFilter.Q31_25": 50,
      "MultiBandFilter.Q4k": 50,
      "MultiBandFilter.Q500": 50,
      "MultiBandFilter.Q62_5": 50,
      "MultiBandFilter.Q8k": 50,
      "MultiBandFilter.f125": 0,
      "MultiBandFilter.f16k": 0,
      "MultiBandFilter.f1k": 0,
      "MultiBandFilter.f250": 0,
      "MultiBandFilter.f2k": 0,
      "MultiBandFilter.f31_25": 0,
      "MultiBandFilter.f4k": 0,
      "MultiBandFilter.f500": 0,
      "MultiBandFilter.f62_5": 0,
      "MultiBandFilter.f8k": 0,
      "MultiBandFilter.on_off": 0,
      "SampleLooper.Capture": 0,
      "SampleLooper.Play": 0,
      "SampleLooper.gain": 0,
      "SampleLooper.on_off": 0,
      "amp.balance": 0,
      "amp.bass_boost.on_off": 0,
      "amp.feedback": 0,
      "amp.feedforward": 0,
      "amp.fuzz": 1,
      "amp.in_level": 0,
      "amp.out_master": -15,
      "amp.oversample.on_off": 0,
      "amp.select": 4,
      "amp.threshold": 0,
      "amp.tonestack.Bass": 0.7,
      "amp.tonestack.Middle": 1,
      "amp.tonestack.Treble": 1,
      "amp.tonestack.select": 0,
      "anti_aliase.feedback": 0.3,
      "anti_aliase.on_off": 0,
      "beat_detector.atack_gain": 5,
      "beat_detector.beat_gain": 1,
      "beat_detector.midi_gain": 1,
      "beat_detector.note_off": 2,
      "beat_detector.stepper": 1,
      "biquad.Freq": 1200,
      "biquad.on_off": 1065353216,
      "cab.on_off": 0,
      "chorus.delay": 0.025,
      "chorus.depth": 0.02,
      "chorus.freq": 3,
      "chorus.level": 0.5,
      "chorus.on_off": 0,
      "chorus.position": 7,
      "compressor.attack": 0.002,
      "compressor.knee": 3,
      "compressor.on_off": 0,
      "compressor.position": 0,
      "compressor.ratio": 15.5609,
      "compressor.release": 0.5,
      "compressor.threshold": -20,
      "convolve.on_off": 1065353216,
      "convolve.select": 0,
      "crybaby.autowah": 0,
      "crybaby.level": 0.1,
      "crybaby.on_off": 0,
      "crybaby.position": 5,
      "crybaby.wah": 0,
      "crybaby.wet_dry": 0,
      "delay.delay": 0,
      "delay.gain": 0,
      "delay.on_off": 0,
      "delay.position": 8,
      "distortion.drive": 0.18,
      "distortion.gain": 2,
      "distortion.high_drive": 1,
      "distortion.high_gain": 10,
      "distortion.level": 0.01,
      "distortion.low_drive": 1,
      "distortion.low_gain": 10,
      "distortion.low_highcutoff.high_freq": 5000,
      "distortion.low_highcutoff.low_freq": 130,
      "distortion.low_highcutoff.on_off": 0,
      "distortion.low_highpass.high_freq": 130,
      "distortion.low_highpass.low_freq": 5000,
      "distortion.low_highpass.on_off": 0,
      "distortion.middle_drive": 1,
      "distortion.middle_gain": 10,
      "distortion.on_off": 0,
      "distortion.position": 1,
      "distortion.resonator.on_off": 0,
      "distortion.split_high_freq": 650,
      "distortion.split_low_freq": 250,
      "distortion.trigger": 0.12,
      "distortion.vibrato": 1,
      "distortion1.drive": 0.64,
      "distortion1.gain": 2,
      "distortion1.level": 0.01,
      "distortion1.low_highcutoff.high_freq": 5000,
      "distortion1.low_highcutoff.low_freq": 130,
      "distortion1.low_highcutoff.on_off": 0,
      "distortion1.low_highpass.high_freq": 130,
      "distortion1.low_highpass.low_freq": 5000,
      "distortion1.low_highpass.on_off": 0,
      "distortion1.resonator.on_off": 0,
      "distortion1.trigger": 0.12,
      "distortion1.vibrato": 1,
      "distortiont.onetwo": 0,
      "drive.on_off": 0,
      "drive.value": 8,
      "echo.on_off": 0,
      "echo.percent": 0,
      "echo.position": 6,
      "echo.time": 1,
      "eq.Q125": 50,
      "eq.Q16k": 50,
      "eq.Q1k": 50,
      "eq.Q250": 50,
      "eq.Q2k": 50,
      "eq.Q31_25": 50,
      "eq.Q4k": 50,
      "eq.Q500": 50,
      "eq.Q62_5": 50,
      "eq.Q8k": 50,
      "eq.f125": 0,
      "eq.f16k": 0,
      "eq.f1k": 0,
      "eq.f250": 0,
      "eq.f2k": 0,
      "eq.f31_25": 0,
      "eq.f4k": 0,
      "eq.f500": 0,
      "eq.f62_5": 0,
      "eq.f8k": 0,
      "eq.on_off": 0,
      "eqs.Qs125": 50,
      "eqs.Qs16k": 50,
      "eqs.Qs1k": 50,
      "eqs.Qs250": 50,
      "eqs.Qs2k": 50,
      "eqs.Qs31_25": 50,
      "eqs.Qs4k": 50,
      "eqs.Qs500": 50,
      "eqs.Qs62_5": 50,
      "eqs.Qs8k": 50,
      "eqs.freq125": 125,
      "eqs.freq16k": 16000,
      "eqs.freq1k": 1000,
      "eqs.freq250": 250,
      "eqs.freq2k": 2000,
      "eqs.freq31_25": 31,
      "eqs.freq4k": 4000,
      "eqs.freq500": 500,
      "eqs.freq62_5": 62,
      "eqs.freq8k": 8000,
      "eqs.fs125": 0,
      "eqs.fs16k": 0,
      "eqs.fs1k": 0,
      "eqs.fs250": 0,
      "eqs.fs2k": 0,
      "eqs.fs31_25": 0,
      "eqs.fs4k": 0,
      "eqs.fs500": 0,
      "eqs.fs62_5": 0,
      "eqs.fs8k": 0,
      "eqt.onetwo": 0,
      "flanger.LFO freq": 0.2,
      "flanger.depth": 1,
      "flanger.feedback gain": 0,
      "flanger.flange delay": 10,
      "flanger.flange delay offset": 1,
      "flanger.invert": 0,
      "flanger.level": 0,
      "flanger.on_off": 0,
      "flanger.position": 8,
      "freeverb.RoomSize": 0.5,
      "freeverb.damp": 0.5,
      "freeverb.on_off": 0,
      "freeverb.position": 2,
      "freeverb.wet_dry": 0,
      "jconv.left_delay": 0,
      "jconv.left_gain": 0,
      "jconv.on_off": 1,
      "jconv.right_delay": 0,
      "jconv.right_gain": 0,
      "jconv.wet_dry": 0,
      "midi_out.channel_1.auto_pitch": 0,
      "midi_out.channel_1.autogain": 0,
      "midi_out.channel_1.channel": 0,
      "midi_out.channel_1.oktave": 0,
      "midi_out.channel_1.program": 0,
      "midi_out.channel_1.sensity": 20,
      "midi_out.channel_1.velocity": 64,
      "midi_out.channel_1.volume": 64,
      "midi_out.channel_2.auto_pitch": 0,
      "midi_out.channel_2.autogain": 0,
      "midi_out.channel_2.channel": 0,
      "midi_out.channel_2.oktave": 0,
      "midi_out.channel_2.on_off": 0,
      "midi_out.channel_2.program": 0,
      "midi_out.channel_2.sensity": 20,
      "midi_out.channel_2.velocity": 64,
      "midi_out.channel_2.volume": 64,
      "midi_out.channel_3.auto_pitch": 0,
      "midi_out.channel_3.autogain": 0,
      "midi_out.channel_3.channel": 0,
      "midi_out.channel_3.oktave": 0,
      "midi_out.channel_3.on_off": 0,
      "midi_out.channel_3.program": 0,
      "midi_out.channel_3.sensity": 20,
      "midi_out.channel_3.velocity": 64,
      "midi_out.channel_3.volume": 64,
      "moog.Q": 1,
      "moog.fr": 3000,
      "moog.on_off": 0,
      "noise_gate.on_off": 0,
      "noise_gate.threshold": 0.21,
      "overdrive.drive": 3.57895,
      "overdrive.on_off": 0,
      "overdrive.position": 3,
      "preamp.atan": 6,
      "preamp.on_off": 0,
      "shaper.on_off": 0,
      "shaper.sharper": 1,
      "test.Pregain": 30,
      "test.highshelf": 0,
      "test.stage1.ON": 0,
      "test.stage1.gain1": 6,
      "test.stage2.ON": 0,
      "test.stage2.gain2": 6,
      "test.stage3.ON": 0,
      "test.stage3.gain3": 6,
      "test.upsample": 0,
      "tube.fuzzy": 2,
      "tube.on_off": 1065353216,
      "tube.vibrato": 0,
      "tube.vibrato.on_off": 0,
      "tube2.fuzzy": 6,
      "tube2.on_off": 0,
      "tube2.resonanz": 0,
      "tube2.vibrato": 0,
      "tube3.dist": 0,
      "tube3.g": 1,
      "tube3.on_off": 0,
      "tube3.q": 0.4
    },
    "jconv": {
      "jconv.IRFile": "Ampeg_8x10_D6_AH.wav",
      "jconv.IRDir": "/home/music/Guitarix/IR",
      "jconv.Gain": 0.2,
      "jconv.lGain": 0.2,
      "jconv.Mem": 24320,
      "jconv.Mode": 0,
      "jconv.BufferSize": 64,
      "jconv.Offset": 0,
      "jconv.Length": 0,
      "jconv.Delay": 0,
      "jconv.lDelay": 0
    }
  }
brummer

Re: Impulse convolver/guitarix

Post by brummer »

So, I have made some measure's with both versions, and couldn't found a diff in terms of time and sample duration, . . ?
I see in the screenshot a jack_buffer_size from 1024 samples, in your preset you use 64 samples, could it be that you run the test with different frames/periode settings then you normal use ?
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Impulse convolver/guitarix

Post by autostatic »

Hello brummer, I made the screenshot on a different machine than the machine I normally work on. I'll try compiling 0.09.0 without the experimental stuff and report back.
The setup is like this: sequencer (Hydrogen) with bass sample --> guitarix --> Qtractor
The slight lagging is audible at the beginning of the loop/pattern so it could be a Hydrogen timing issue too. But that doesn't explain why it works with 0.08.0.
morko
Established Member
Posts: 45
Joined: Thu Mar 25, 2010 8:08 am
Location: Finland

Re: Impulse convolver/guitarix

Post by morko »

Hi.

I tried to build with optimization flag and it failed.

Code: Select all

Waf: Entering directory `/tmp/packerbuild-1000/guitarix/guitarix/src/guitarix-0.09.0/build'
[ 1/43] cxx: ladspa/crybaby.cpp -> build/default/ladspa/crybaby_1.o
[ 2/43] cxx: ladspa/distortion.cpp -> build/default/ladspa/distortion_2.o
../ladspa/crybaby.cpp:1:0: virhe: bad value (K8) for -march= switch
../ladspa/distortion.cpp:1:0: virhe: bad value (K8) for -march= switch
Waf: Leaving directory `/tmp/packerbuild-1000/guitarix/guitarix/src/guitarix-0.09.0/build'
Build failed
 -> task failed (err #1): 
	{task: cxx crybaby.cpp -> crybaby_1.o}
 -> task failed (err #1): 
	{task: cxx distortion.cpp -> distortion_2.o}
==> ERROR: Build Failed.
adegert
Established Member
Posts: 10
Joined: Sun Feb 21, 2010 12:45 pm

Re: Impulse convolver/guitarix

Post by adegert »

AutoStatic wrote:The fx loop introduces extra latency so now my recorded loops/samples that I run through guitarix are lagging :(
I don't think its Guitarix. You can use jdelay to measure the latency: check out and compile the newest svn version, then switch off all processing (especially tonestack = "Off", jdelay can only work with a clean channel without filtering or distortion) and connect the jdelay ports to input and output of Guitarix (jdelay:out -> guitarix_amp -> guitarix_fx -> jdelay:in). jdelay should report a latency equal to your current jack buffer size.

Switching on oversampling of the amp section (but without any further processing) should add 32 samples latency (that's 0.7ms at a sample rate of 44100).

Off course any filter introduces a phase delay, but I don't think that's what you describe as "lag" (how much lag do you see, in samples?)

ciao
Andreas
adegert
Established Member
Posts: 10
Joined: Sun Feb 21, 2010 12:45 pm

Re: Impulse convolver/guitarix

Post by adegert »

morko wrote:Hi.

I tried to build with optimization flag and it failed.

Code: Select all

../ladspa/crybaby.cpp:1:0: virhe: bad value (K8) for -march= switch
does it work when you change -march=K8 to -march=k8 (lowercase k) in trunk/wscript?
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Impulse convolver/guitarix

Post by autostatic »

adegert wrote:
AutoStatic wrote:The fx loop introduces extra latency so now my recorded loops/samples that I run through guitarix are lagging :(
I don't think its Guitarix. You can use jdelay to measure the latency: check out and compile the newest svn version, then switch off all processing (especially tonestack = "Off", jdelay can only work with a clean channel without filtering or distortion) and connect the jdelay ports to input and output of Guitarix (jdelay:out -> guitarix_amp -> guitarix_fx -> jdelay:in). jdelay should report a latency equal to your current jack buffer size.

Switching on oversampling of the amp section (but without any further processing) should add 32 samples latency (that's 0.7ms at a sample rate of 44100).

Off course any filter introduces a phase delay, but I don't think that's what you describe as "lag" (how much lag do you see, in samples?)

ciao
Andreas
Hello Andreas, I jumped to the wrong conclusions and already figured out that it's not the FX loop that causes the lagging. It must be something else, I'll reinstall 0.09.0 svn 743 and give it a testride again with jdelay. What about the Experimental part of guitarix, does that introduce an extra stage/latency? Otherwise I should try compiling a version without the experimental switch.
adegert
Established Member
Posts: 10
Joined: Sun Feb 21, 2010 12:45 pm

Re: Impulse convolver/guitarix

Post by adegert »

AutoStatic wrote:I'll reinstall 0.09.0 svn 743 and give it a testride again with jdelay. What about the Experimental part of guitarix, does that introduce an extra stage/latency? Otherwise I should try compiling a version without the experimental switch.
No it shouldn't, and anyhow there is a switch to activate (or deactivate) it (open the experimental window from the engine menu and check the switches; and maybe just activate it because it sounds good ;-).

For jdelay you'd have to use svn 744, that's the version where I added "Off" to the tonestack.

ciao
Andreas
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Impulse convolver/guitarix

Post by autostatic »

Ok, now using svn 746 and all is well, no more lagging and a good sound. Thanks guys!
brummer

Re: Impulse convolver/guitarix

Post by brummer »

Good to hear :)
AutoStatic, I have move the link for ubuntu karmic binary's , on the guitarix project-page, form pillips to your ppa, hope that is well for you.
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Impulse convolver/guitarix

Post by autostatic »

Hello brummer, that' s ok!
And I can load presets now with the help of the -f option, was it there before?
brummer

Re: Impulse convolver/guitarix

Post by brummer »

Yes, it's included since 0.08.0, but you cant really load a presetfile with it, you can load a state file, that means a main settings file, guitarix_rc (now guitarix_amp_rc), witch contain a bit more info (GUI settings, . . ) then the presetfiles, so you need to save your preset as "main settings" and rename the resulting file guitarix_amp_rc to your needs to get it permanent. Then you could load it at startup with the -f option.
I have completely forget this option. :)
User avatar
funkmuscle
Established Member
Posts: 2811
Joined: Mon Jun 02, 2008 2:30 pm
Has thanked: 132 times
Been thanked: 33 times

Re: Impulse convolver/guitarix

Post by funkmuscle »

Updated to revision 750

./waf build
Waf: Entering directory `/home/harv/audio/guitarix/build'
Waf: Leaving directory `/home/harv/audio/guitarix/build'
source not found: 'gxwidgets-module.c' in 'dir:///home/harv/audio/guitarix/lib'
Post Reply