guitarix go's midi

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

brummer

Re: guitarix go's midi

Post by brummer »

I don't think this will work for me..
We will see :)

I meen with this shot , the yellow line on top, is it static, all the time yellow, or did it change to green somtime ? also the wave, did it move or is it static ? And did they move at the same time ? Do you plug your guitar direct or do you use your amp?
The lights in the qsynth tab are controller messages from guitarix, what is missing is the pitch to send a channel message. It depend on the beatdetector, this one check for a change in the entry value, the hight of the change you can set with the beat_atack knob. The problem could be, that your signal isn't clean, grounding loops, or stuff like that, that make a detection difficult. Maybe it's a good idea to make the filter for the beatdetector scalable . . . .

Also, did you ever connect the guitarix_midi_out with fluidsynth, befor you switch on the midi_output in guitarix ?

@torgal
Now the VSTi I connect to guitarix MIDI out plays every wild guess the tuner is making. It sounds hellish man!
I have tamed the tuner now ! Revision 116 become to be more easy usable :twisted:
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

Hermann,

Got a lot of fun with your stuff:
my girlfriend at the mic for voice -> guitarix_in and ardour bus + TAP reflector
me at the guitar -> guitarix_in
guitarix_midi_out to Addictive Drums and zynaddsubfx.

It sounded like some crazy freejazz experiment :)

I am not sure I can use this for anything but fun time but it's great to have :D
User avatar
funkmuscle
Established Member
Posts: 2984
Joined: Mon Jun 02, 2008 2:30 pm
Has thanked: 194 times
Been thanked: 50 times

Re: guitarix go's midi

Post by funkmuscle »

Just doesn't work here. Yes, my clean tone distorts but that is only time I get a signal. Going completely clean, qsynth doesn't pick up the signal at all.

I'll give up for now because it ain't working for my... I keep tesing guitarix for tone and amp sounds but the midi, it's giving me a headache... :?
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

funkmuscle,

it's a bit weird. If you got the tuner to work (making guesses in realtime), then it's a matter of having the beat detector and MDI channel set up sort of correct. I tried to understand wthat the knobs meant and when I did, I adjusted the stuff to ultra-sensitive, to make sure I would get a note on event. And when I did, I ehard some extremely weird stuff out of the piano VSTi :lol:
I realized that there was a note-on event for every guess the tuner was making :D

then, I readjusted the knobs to avoid that big mess of notes. It still sounds a bit chaotic but more under control. The cool thing would be a perfect tuner guess within 0.x millisec :) if you have an algorithm for that, I'll buy it :lol:
User avatar
funkmuscle
Established Member
Posts: 2984
Joined: Mon Jun 02, 2008 2:30 pm
Has thanked: 194 times
Been thanked: 50 times

Re: guitarix go's midi

Post by funkmuscle »

ok, I see now.. The tuner is not working properly. No matter what note I play, the tuner will say the same note... Like for instance, I play an opened E, the tuner says B, open A, tuner says B. No matter what note, the tuner will give the same note output. :(
brummer

Re: guitarix go's midi

Post by brummer »

The tuner is not working properly. No matter what note I play, the tuner will say the same note...
Yea, I can reproduce it, it's when the tuner run with "bad note_on value" the funktion get a "overflow"
I have limit the note_on funktion to a level that will work.
Set the note_on value to 5-10 and then dont tutch it anymore. If it dont work, quite guitarix and start it new. Dont toutch the note_on value and lock if the tuner work.

Anyway, I have set the beat_atack and the note_atack to a new connection, now it work's on the base from the midi_volume. It meens between 1-127. note_atack meen the minimal volume value, beat_atack meen the minimal difference between a beat and not a beat. This is messure now in db convertet to midi numbers. This way I gues it is esay to setup. Set the minmal value(note_atack) and the value to witch the gain have to incrase to bring a beat(beat_atack).

rev 117
I am not sure I can use this for anything but fun time but it's great to have :D
Yup, here we have also a lot of fun, with the somtimes supriced results.
Have you try to use your mic as a drum (like a conga or so) with guitarix ? We, somtimes lie on the ground for laugh :lol:

have fun

here is more funy stuff:
http://hackaday.com/category/digital-audio-hacks/
User avatar
funkmuscle
Established Member
Posts: 2984
Joined: Mon Jun 02, 2008 2:30 pm
Has thanked: 194 times
Been thanked: 50 times

Re: guitarix go's midi

Post by funkmuscle »

no change my friend... it just won't work but guitarix as an amp is sounding better dude...117 version.
But I only use the jconv output. I run guitar>jack>guitarix>jconv>output
brummer

Re: guitarix go's midi

Post by brummer »

no change my friend... it just won't work
Thanks for testing it for me, my friend, anyway, sooner or later it will. :)
This tuner unit is only for test purpose, I will switch to use libfftw3 later, when I have found out how to, and I gues then it will work also for you.
but guitarix as an amp is sounding better dude...117 version.
Yea, first enough from the midi stuff, the amp is the important part from guitarix, do you like the "little sliders" for tube, drive, vibrato and anti aliase ? They bring a lot of power in the amp, I meen.
I like the sound from the tube at half stage, a little drive in the amp, and disstortion (drive 24) with vibrato 1.
That a litlle compressed, add reverb and a small time echo, . . . .
User avatar
funkmuscle
Established Member
Posts: 2984
Joined: Mon Jun 02, 2008 2:30 pm
Has thanked: 194 times
Been thanked: 50 times

Re: guitarix go's midi

Post by funkmuscle »

Yeah, I got a really nice tone for using single coil neck pickup and for the humbucker, I got a nice, I guess 60s-70s fuzz tone.
It's getting there man. You keep producing and I'll keep testing.... I feel soon that guitarix will be linux answer to Amplitube, GuitarRig, etc...
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

Hermann,

The MIDI out has improved, I start to tame it ;)

But another thing unrelated:
- guitarix has a bug that makes it crash. I believe you forgot to implement a "set_buffer" callback function.

Try it with jack2, and then, from a terminal, change the buffer size on the fly:

Code: Select all

jack_bufsize <some value like 128 or 256>
you get a big crash ;)

it would be wise to implement a set_buffer_size callback function in guitarix and publish it to the server via jack_set_buffer_size_callback(...), as you do with the sample_rate callback.
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

here is a patch to prevent the crash (the callback function is just a stub)

Code: Select all

Index: main.cpp
===================================================================
--- main.cpp    (revision 123)
+++ main.cpp    (working copy)
@@ -188,6 +188,13 @@
     return 0;
 }

+int buffersize(jack_nframes_t nframes, void *arg)
+{
+    // printf("the buffer size is now %d frames\n", nframes);
+    // whatever buffer_size var = nframes
+    return 0;
+}
+
 void jack_shutdown(void *arg)
 {
     fprintf(stderr, "jack has bumped us out , exiting ...\n");
@@ -368,6 +375,7 @@
     jack_set_graph_order_callback (client, graph_callback, NULL);
     jack_set_xrun_callback(client, xrun_callback, NULL);
     jack_set_sample_rate_callback(client, srate, 0);
+    jack_set_buffer_size_callback(client, buffersize, 0);
     jack_on_shutdown(client, jack_shutdown, 0);
     gNumInChans = DSP.getNumInputs();
     gNumOutChans = DSP.getNumOutputs();
brummer

Re: guitarix go's midi

Post by brummer »

Thanks James :)

Yes indied, I just have a jack_get_buffer_size (client); call in init, I never change the buffersize, when run audio applications, but yea, you are right, I will add it, thanks.

The buffersize var in guitarix is "frag", it's declared in guitairx.cpp as int.

If you like to work one the guitarix code, you are welcome, my friend. There is a lot to do :D
If you like I will give you acess to the sourceforge svn, or anyway, patchs are allways welcome.

Hey, I like it, guitarix become to be a open projekt, that was my goal, I recive allready patch's from FEDORA, and GENTO, maybee if more dev's work on guitarix it can become "real cool"

hermann

EDIT:// but that will be a bit more work then the callback, guitarix look some buffers (frag size) for midi and osciloscope useage, they need to be free and memlock with newsize, therefor the engine must stop and restart.

that's the part in main.cpp were I look the memory,

Code: Select all

    frag = jack_get_buffer_size (client);
    printf("the buffer size is now %u/frames\n", frag);
    get_frame = new float[frag];
    for (int i=0; i<(frag); i++) get_frame[i] = 0;
    checkfreq = new float[frag];
    for (int i=0; i<(frag); i++) checkfreq[i] = 0;

here I make it free. main.cpp on the botton.

Code: Select all

   if (checkfreq)
        delete[] checkfreq;
    if (get_frame)
        delete[] get_frame;
    

checky = 0

stop the engine, checky = 1, start it again.
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

Hallo,

I have not yet studied the guitarix code. I have too many other small projects + job + my music album to manage :D

EDIT: just updated the svn version and it does not crash any longer. It now works fine :)

You don't need to give me a special svn access since I am way too busy ATM. If I feel I need one, I will ask you. Is that a deal ? in the mean time, I will give you some patches if I find anything. You are a member of the LAD list, so I can submit stuff in there instead of here.

Cheers!
J. / T.
brummer

Re: guitarix go's midi

Post by brummer »

You don't need to give me a special svn access since I am way too busy ATM. If I feel I need one, I will ask you. Is that a deal ? in the mean time, I will give you some patches if I find anything.
Allway's welcome :D

Pushed out a new release today, 0.04.4-1

have fun
thorgal
Established Member
Posts: 739
Joined: Mon Apr 07, 2008 6:04 pm

Re: guitarix go's midi

Post by thorgal »

by the way, I was thinking again about this buffer size change on the fly:
that's what ardour is proposing in the drop down menu JACK -> Latency. I think guitarix should have something like that too so that users can modify the latency from guitarix. I believe some ppl use your app as a real time effect box in a "live" environment (I did that a couple of times, with the MIDI out, to have great fun ;) ). Fiddling with the jack latency would be a nice touch from guitarix as well. I don't think it would be hard to implement.

EDIT: I submitted a quick patch on the LAD list. You can control the jack latency from guitarix with the patch.
Post Reply