Jump to content

Hexaphonic Project


McSeem

Recommended Posts

Hi,

This is my hexaphonic guitar project. It's totally for experiments with new sounds and sound processing, not for any kind of a performance. I bought quite a budget guitar in case I break it I wouldn't cry. But eventually I installed a lot of stuff in it, I can't even say how much money it cost. Maybe $1K or so, but it doesn't matter, I do it just for fun. I'm not a musician, I'm an engineer and a computer programmer. But I fond of music and I truly enjoy building unusual guitars. So that, I started my hexaphonic project. Long time ago I even made my own guitar strings, metal and nylon, some of them had double winding! It's not that hard by the way, to make strings. Anyways, what is this project about? - I'm not sure. The minimal goal is to play with it and just to throw it out when I'm bored. The maximal goal is to create some hardware/software system where you can configure all 6 channels independently and can control the sound of each string with a kind of a MIDI controller connected via USB. Or, even on-body pots, or even with something wireless, in a way termenvox works. But it's not MIDI! Everything must be truly analog.

So that, for the beginning I ordered a hexaphonic magnetic pickup from Paul Ribinstein, http://www.ubertar.com/ but I wasn't satisfied with its design. So that, I used the coils and designed my own fully adjustable pickup. It's not practical, and I made a lot of mistakes that I had to fix on demand, so that, the design is very fancy and it took me a lot of time. Nevermind, I now know how to do that simpler.

The major problem was the separation of the channels, the crosstalk. I estimate it as about 24-28db, which is good for stereo panning, but might be problematic if you want to use DSP with pitch detection. Then I learned about Graphtech piezo pickups, they produce very nice acoustic sound and have excellent channel separation. So, I eventually ordered 6 Graphtech preamps with their saddle pickups, of course.

This is how it looks (I don't use "IMG" tags in order not to pollute the message to much, so, just click it)

http://antigrain.com/hex_project/hex_project01.jpg

http://antigrain.com/hex_project/hex_project02.jpg

Wiring nightmare:

http://antigrain.com/hex_project/hex_project03.jpg

http://antigrain.com/hex_project/hex_project04.jpg

http://antigrain.com/hex_project/hex_project05.jpg

Yes, I found 6-pole potentiometers (actually, 8-pole ones) so that, I can control the volume of the magnetic pickup and the saddles. Each Graphtech preamp has two channels - one with a fancy filter for the piezo saddles, and the other - just straight for magnetic. The preamps are very fine and based on a precision low power 2022C chip, so that, they don't color the mag sound at all.

This is the preamp with a commutation cable:

http://antigrain.com/hex_project/hex_project06.jpg

Six preamps and the commutation board:

http://antigrain.com/hex_project/hex_project07.jpg

http://antigrain.com/hex_project/hex_project08.jpg

Assembled and connected:

http://antigrain.com/hex_project/hex_project09.jpg

On the right there's a box with transformers for the magnetic hex pickup. The direct voltage is about 10 mv, which it too low, while after the transformers the signal is about the typical instrument level, that is, 100-1000 mv. Yes, I could tweak it with the preamp gain, but it would be too tricky to experiment with the assembled preamps. It would require some reverse engineering... too much hassle.

Pickups:

http://antigrain.com/hex_project/hex_project10.jpg

http://antigrain.com/hex_project/hex_project11.jpg

Added one more pot for the neck humbucker.

http://antigrain.com/hex_project/hex_project12.jpg

http://antigrain.com/hex_project/hex_project13.jpg

The workspace:

http://antigrain.com/hex_project/hex_project14.jpg

And, of course, I'm going to experiment with sustainer drivers. I made coils, while waiting for the parts:

http://antigrain.com/hex_project/hex_project15.jpg

http://antigrain.com/hex_project/coils14.jpg

Of course, I made a lot of mistakes. The major one is the 13-pin female connector. I used a round one, without the locker, which was easier to install. So that, it doesn't hold the cable well. But it's still OK for experiments. I should have ordered the original ones that Roland use. But just laziness. Of course, there's also a breakout box with a battery. I use a budget MOTU 8pre interface, and I also bought a cheap 8-channel Behringer ADAT converter to extend the ins and outs, when I play with a sustainer.

So, how it sounds. Once again, I'm not a good guitar player, I can play some very simple basic chords, long time ago I used to play an acoustic guitar, so, the narrow string spacing is very tricky to me. The sound is not processed anyhow, just to estimate. It's a very-very beginning, so, don't expect anything spectacular. I just panned hex pickups left-right, but it can potentially be used for very spatial sound, 5.1 or even 7.1.

Regular neck humbucker (very fat):

http://antigrain.com/hex_project/sample01_neckHB.mp3

http://antigrain.com/hex_project/sample02_neckHB.mp3

Hex magnetic:

http://antigrain.com/hex_project/sample01_hexmag.mp3

http://antigrain.com/hex_project/sample02_hexmag.mp3

Graphtech Ghost hex:

http://antigrain.com/hex_project/sample01_hexghost.mp3

http://antigrain.com/hex_project/sample02_hexghost.mp3

Mixed all together:

http://antigrain.com/hex_project/sample01_mix.mp3

http://antigrain.com/hex_project/sample02_mix.mp3

So that, if someone is interested in this project, I'll be very happy to cooperate, share the ideas, and so on. And, most of all, if someone in U.S., Washington DC area wants to test it, play, record some demo samples, you are very welcome to visit my place. I'm in Maryland, College Park. Just leave a personal message.

McSeem

Link to comment
Share on other sites

Hi,

This is my hexaphonic guitar project. It's totally for experiments with new sounds and sound processing, not for any kind of a performance. I bought quite a budget guitar in case I break it I wouldn't cry. But eventually I installed a lot of stuff in it, I can't even say how much money it cost. Maybe $1K or so, but it doesn't matter, I do it just for fun. I'm not a musician, I'm an engineer and a computer programmer. But I fond of music and I truly enjoy building unusual guitars. So that, I started my hexaphonic project. Long time ago I even made my own guitar strings, metal and nylon, some of them had double winding! It's not that hard by the way, to make strings. Anyways, what is this project about? - I'm not sure. The minimal goal is to play with it and just to throw it out when I'm bored. The maximal goal is to create some hardware/software system where you can configure all 6 channels independently and can control the sound of each string with a kind of a MIDI controller connected via USB. Or, even on-body pots, or even with something wireless, in a way termenvox works. But it's not MIDI! Everything must be truly analog.

Congratulations, McSeem! You build with the speed of light, truly amazing.

I love the sound of your hexaphonic pickup. It's hard to believe it's not eq-ed, it's so clear. Well, I never built one, so what do I know about it. The way you constructed the hexaphonic with the adjustable string alignment looks very neat. Of course I would like to know more about the hexaphonic, how it's constructed and about the coils electrical properties. And a lot more.

You presented a lot of information at once. (Thank you.) I need to study and let it sink in.

How was your experience with the hexaphonic as sustainer driver?

And when you're bored you may throw it in my direction :D

Cheers

FF

Link to comment
Share on other sites

Thanks! My major problem is what to do next. :-) Well, I feel a lot of potentials here, but I also need help from real guitar players. What kind of sounds musicians would like to try? What kind of controls? And so on. I can't be a good player and an engineer at the same time. I'm an engineer. So, any cooperation with musicians is highly appreciated. I aim for new kind of sounds and fancy processing. I know, for example, the great Guitar Rig software, but it mostly simulates different devices, and it's not hexaphonic. Well, you can run 6 instances of Guitar Rig, and it works, but routing and configuring becomes a nightmare.

The coils I used for the mag hex pickup are, Paul's Type 1 with step-up transformers: http://ubertar.com/hexaphonic/

It's some kind of industrial coils from old telephony. They have about 314 ohms DC resistance and about 10 mv output. Paul also makes other type of coils. His original design is very simple, and although he claims the coils are individually adjustable, in practice it's useless, because after you install the pickup you can't adjust the height, so, you have to do that in advance, which is tricky and inaccurate. And the adjustment is critical to balance the signal levels from each coil. So, I designed my own binding. It looks nice, but it's very impractical in assembly. The design could be way much simpler. And yes, it takes the entire humbucker space because I wanted to have adjustable spacing too, so that, you can place the poles very accurately, exactly under the strings.

As for the sustainers, I plan to design a hex driver, but first I want to handle at least the simplest processing via the ASIO SDK (pass-through, and multichannel recording, at least). I only did some very early experiments, and it proves that the latency is not a problem, although, I expect tricky time when I tweak the phase of the signal.

So, the first experiment I did is with the HB signal, passed through the Guitar RIG, with a compressor, slight overdrive, reverb, tremolo, and something else. And... I recorded it via a USB Samson Go Mic. :-) So, there's a lot of hum and noise and the quality is poor. There's nothing musical in those samples, mostly random dissonances. It's because my right hand was busy with the driver coil, and the guitar was on the carpet. Very tricky to produce anything musical.

http://antigrain.com/hex_project/sus01.mp3

The second experiment is also with the Guitar RIG and very heavy distortion on the driver coil. But I figured out how to use the Guitar RIG loop machine to record the signals -- rather poor tool, but still can be used.

http://antigrain.com/hex_project/sus02.mp3 - signal recorded from the Guitar RIG input

http://antigrain.com/hex_project/sus04.mp3 - signal recorded from the Guitar RIG output (lower the volume!)

Another experiment is also interesting. I run Audacity and generated very harsh E2 tone -- sawtooth. Then I powered the coil with this signal through a separate amp, and recorded the signal from the saddle pickups. As I expected, the only low frequency, E2, 82.4 Hz perfectly drives all E notes, from E2 to E5.

http://antigrain.com/hex_project/sus03.mp3

Which proves that it's not obligatory to power the drivers with the original sound, instead, you can achieve interesting results, if you drive the coils with an octave lower signal, heavily distorted, namely a sawtooth. And, yes, the phase was arbitrary and totally out of sync, because the signal was artificially generated. It will be very interesting to tweak the phase.

McSeem

Link to comment
Share on other sites

  • 5 weeks later...

Hi,

I get up this topic to report about my progress. Talking myself, basically. I finally made the sustainer coils, I described earlier http://projectguitar.ibforums.com/index.php?showtopic=43502 and by the way, I ended up with bobbins; I just figured out how to lathe nylon with a simple tool. The major advantage is that I could make them smaller. I inserted slightly shorter pole pieces and small neodymium disk magnets (3/16" in dia, 3/32 thick). The coils have about 12 ohms DC resistance. The driver looks like this:

http://antigrain.com/hex_project/hex_driver_installed.jpg

The technology, in case someone interested:

http://antigrain.com/hex_project/tool_for_lathing.jpg

http://antigrain.com/hex_project/equipment_for_lathing.jpg

http://antigrain.com/hex_project/bobbins.jpg

http://antigrain.com/hex_project/bobbins_w...pole_pieces.jpg

http://antigrain.com/hex_project/coils_ready_to_install.jpg

Well, I admit, it's not the best place for the driver, but it's just my initial experiment. Besides, it definitely wants some cover. I wanted to place the driver as far as possible from the hex magnetic pickup, trying to keep the neck HB. Also, the coils are not shielded anyhow. In the next version I'll try a heavy magnetic shielding, but it will take more space, as I expect, a humbucker cavity. I also tried light magnetic shielding, a cup made of a AAA battery, but the strong magnet completely saturates it and it doesn't have any effect. The shielding must be way much heavier.

http://antigrain.com/hex_project/guitar_connector.jpg

The guitar is connected with a 24-pin DVI dual link cable, which has very reliable pins (compared to Roland 13-pin DIN crap), and most of all, 7 pairs of separately shielded wires, so that, I can use a single cable for the input and output without any noticeable feedback. I use 3 cheap stereo mini-amps to drive the coils, which is not the best idea, but I have no more room in the cavities to install 6 power amps into the body. I used some cheating with the amps. The amps are bridged, which would require 12 wires for the coils. It would be possible, but I wanted to save some wires for the on-body controls (in future). So, I used a common ground and capacitors. The thing is the amps have single power supply, +12V, so, at the outputs there's a 6V DC, which allows me to use electrolytic capacitors and a common ground. In fact, I use only half of the amp, which still provides me plenty of power.

The system looks like a monster, but I want to experiment with software a lot, which was my initial goal. There's a lot of work, but there're some early results. First, I wanted to simulate a simplest overdrive/distortion. In fact, I use a cubic Bezier curve to simulate any transfer characteristic, symmetric or asymmetric. Just linear:

http://antigrain.com/hex_project/sample_linear.png

http://antigrain.com/hex_project/sample_linear.mp3

Exaggerated "warm tube sound" with the mag hexaphonic and very asymmetric transfer:

http://antigrain.com/hex_project/sample_tube.png

http://antigrain.com/hex_project/sample_tube.mp3

Then, a soft symmetric overdrive, without any post-filtering:

http://antigrain.com/hex_project/sample_overdrive.png

http://antigrain.com/hex_project/sample_overdrive.mp3

The yellow lines are not actual signals, they show what happens to the sine wave at -12, -6 and 0 dB.

Note that even with a significant non-linearity, there's no intermodulation, so, even big chords remain very detailed. However, it's not good for solo, because any noise from other strings is very noticeable due to the huge gain at low signal levels. When the signal is pre-mixed in the pickup, non-linear distortion has a side effect that suppresses low level signals, which is perfect for solo. I have a solution that would allow you to play both, solo and chords without losing any details and without intermod, but I haven't implemented it yet.

Now about the sustainer. It doesn't yet work as I want, I only tried if it works at all. In fact, for now I only simulated a simple hexaphonic sustainer solution with a monster system, but I'm sure, with the software and DSP I can do a lot of things that you can never achieve with circuits. Well, at least I can now sustain big chords. The sustainer completely confirmed my expectations. I can use it with a mag pickup, but the sustain is kinda weak, or, otherwise I get a huge direct E/M feedback. Exactly as expected. In future, with heavily shielded coils it will be possible to vastly improve it, but at this step it's good enough to use it with Graphtech saddle pickups. I can feed the coils with a lot of power, which gives me just crazy sustain. In fact you have to damp the strings heavily all the time. I also was amazed how many harmonics you can excite.

Just a sample with distortion:

http://antigrain.com/hex_project/sample_sus_overdrive.mp3

The same, with linear transfer:

http://antigrain.com/hex_project/sample_sus_linear.mp3

(don't worry about the "dzzz" buzz, it's not because of any interference, it's just because I'm not a good guitar player and don't hold the strings well)

So, here's my experiment: I hold my finger across the strings, not touching the frets at all (finger, not any metal), starting from the 18th fret and move it slowly to the nut. There're 3 stops: at 12th, 7th and 5th frets, which correspond to the major natural harmonics. The amazing thing is how many OTHER harmonics there are.

http://antigrain.com/hex_project/sample_sus_move_finger.mp3

So, it drives the strings crazily, but for now it's totally out of control. First, I plan to dynamically adjust the level and the phase, to make it perfectly predictable and stable. Then, I want to synthesize the signal, that will provide me full control on the harmonics. Well, something like Moog Guitar, but way much better. This is my very ambitious plan, we will see, maybe it will be an epic fail, that's OK too, but it's so exciting to work on it.

I also have a lot of other ideas with hexaphonic. For example, you can control certain strings with other strings. Say, you use the low E string to control the distortion by just its level, or the pitch. And so on.

McSeem

Link to comment
Share on other sites

There is some seriously cool stuff going on here.

years ago all I wanted to do was pickup up the 6 strings hexophonic so I can pan them on an acoustic. I did get it to work. When I went to repeat it for a cleaner install, I had issues with the DIY piezos out of balance. Still working on that one, although not very hard.

This kind of thing is just what I am into.

Keep going!!!

Link to comment
Share on other sites

years ago all I wanted to do was pickup up the 6 strings hexophonic so I can pan them on an acoustic. I did get it to work. When I went to repeat it for a cleaner install, I had issues with the DIY piezos out of balance. Still working on that one, although not very hard.

In my case it's not a problem at all. I use Graphtech piezo saddles, which are already well balanced, besides, 6 pre-amps with adjustable gain. I'm not a big fan of DIY everything, if I can find a ready to use solution, I'd rather buy it.

Link to comment
Share on other sites

years ago all I wanted to do was pickup up the 6 strings hexophonic so I can pan them on an acoustic. I did get it to work. When I went to repeat it for a cleaner install, I had issues with the DIY piezos out of balance. Still working on that one, although not very hard.

In my case it's not a problem at all. I use Graphtech piezo saddles, which are already well balanced, besides, 6 pre-amps with adjustable gain. I'm not a big fan of DIY everything, if I can find a ready to use solution, I'd rather buy it.

I have 2 piezos bridges I purchased. Midi rig as well. I know what you mean about DIY. But that was my goal. Make the whole diy thing work.

I have been doing DIY on 25 or so guitars. If I tried to buy everything for these guitars, I would not be able to do as much blow. lol

Link to comment
Share on other sites

Thanks! There's an impressive demo by Burr Johnson with MIDI. http://truefiretv.net/graphtech/index.html?id=2 However, in my opinion, any MIDI produces sound refined to death. Not alive. I'm sure, you can do a lot with software, but I'm also sure that MIDI just kills the live sound. Also, with a live string feedback it's a huge difference from any sample-synthesized sounds. So, I want to keep the live guitar signal, combined with fancy effects and controls, plus sustain feedback. And of course, hexaphonic. Not sure what I can achieve eventually, but so far it's being very exciting. For example, I'm now experimenting with double filtering - direct and "counter-motion" one. Basically, computationally cheap infinite impulse response filters, but applied in both directions - forward and backward. No big success so far, but we will see.

Link to comment
Share on other sites

This is my experiment with overdrive, simplest software low pass filter (adjusted for each string) and very subtle sustain power. Just two very basic chords:

http://antigrain.com/hex_project/sample_2chords_lp.mp3

Still, you clearly hear wrong dominating frequencies. Now (without strong control) it depends on the best "sustain-driving" conditions. As I suspected, with the direct feedback, a single harmonic wins out. And it's not obligatory the fundamental one. If it's 2nd or 4th - it's OK, but 3rd or 5th will excite the wrong note! It's still harmonic, as PSW noticed, but the note itself is wrong, not the one you wanted to play. So, it's very important to have a strong control on the sustain signal. I'm trying to work it out...

Edited by McSeem
Link to comment
Share on other sites

This is my experiment with overdrive, simplest software low pass filter (adjusted for each string) and very subtle sustain power. Just two very basic chords:

http://antigrain.com/hex_project/sample_2chords_lp.mp3

Still, you clearly hear wrong dominating frequencies. Now (without strong control) it depends on the best "sustain-driving" conditions. As I suspected, with the direct feedback, a single harmonic wins out. And it's not obligatory the fundamental one. If it's 2nd or 4th - it's OK, but 3rd or 5th will excite the wrong note! It's still harmonic, as PSW noticed, but the note itself is wrong, not the one you wanted to play. So, it's very important to have a strong control on the sustain signal. I'm trying to work it out...

It's harmonic if the 3rd or 5th harmonic are built on the fundamental of a major chord (like both E-strings in E major).

E major

3rd on b: f#, 9

5th on b: d#, maj 7

3rd on g#: d#, maj 7

5th on g#: c, 6-

e minor

wrong 5th harmonic on e! g#, maj 3

3rd on b: f#, 9

5th on b: d#, maj 7

3rd on g: d, 6

5th on g: b, 5

I would say you need to avoid the 5th harmonic to occur. You get too strange combinations (maj 3 and maj 7 in minor chords, 6- in major).

The low pass filters (per string adjusted) have to be steep enough to filter out the 5th harmonic of the open strings sufficiently but not to weaken the fundamentals in higher fretting positions too much.

Yes, keep going!

FF

Link to comment
Share on other sites

If it's 2nd or 4th - it's OK, but 3rd or 5th will excite the wrong note! It's still harmonic, as PSW noticed, but the note itself is wrong, not the one you wanted to play.

Well...I ahve a different perspective...it certainly would be nice to have all octaves say, and something to pursue...

But, I disagree with the wrong note thing...these are harmonics, derived from the harmonic series and are within the notes, not imposed on it.

As a player, I use a lot of harmonics these days especially. Now, the 12th frets will give you your octaves, the seventh fret is going to give you an octave and a fifth above that...so on the A string, 12th fret will be an A note and octave higher, the 7th fret that and a fifth higher than that...so A, A octave, E and octave and a fifth above that...the 4th fret (ish) is going to give you a C# on the A string, an octave higher still.

This is just the manner in which strings vibrate and the overtones within the vibrating note as they naturally occur. It is only reasonable that the natural effect of generating harmonics will apply the same laws...

So, with the harmonic generating device in a fixed position (the driver) and the source signal in another place (harmonically rich) you are going to have to expect that the driver will suppress the fundamental (as lightly touching the string at the nodes of the string does) and expose the harmonic in relation to that.

So...sometimes the note is going to be an octave, more often a fifth, sometimes a 3rd, sometimes reverting back to the fundamental again (too high and the sound will be too weak or high to sustain).

You can have some choice in this by which fretted tone you use of course, and some installations and approaches may lead to different results.

It's admirable to pursue these things, but it is also encumbered on a musician to be able to map these things out and work with them, and this can be rewarding in of itself. A trumpet uses the harmonics to get all the notes and range for instance from only three valves and blowing harmonics and adjusting...a bugle gets all of it's note in this manner!

So...it is a matter of knowing what the thing is doing and mapping out what you play with this in mind really...I know, sounds like work...but really, I don't see why if the goal is to play "octaves" (especially if going to this extent and already with midi capability) because harmonics sound "wrong" then, surely the most obvious thing to do is simply plug in a pitch shifter and getting all the octaves you want...or any interval for that matter?

The interesting thing about the harmonics generated by the sustainer or just generally, like natural harmonics techniques, or pick harmonics, or whatever...is that it is surprising how "right" these things do sound. You listen to ZZ tops La Grange and hear all those 'pick harmonics' including high major thirds, and you don't think, "woah, that one was a clanger Billy!" No, the thing is that these harmonics are already there in the tonal makeup underneath the fundamental...that can be a beautiful thing...it can be used.

Fortunately, in general the sustainer devices used conventionally (and they all do it of course) are incredibly predictable, you just need to 'learn' the instrument...as you need to learn the notes that natural harmonics make if you want to use them effectively. Or, you can just enjoy the fact that they can sound "right" even though apparently wrong, as they were always there in the first place in the original note.

I can see why you might seek to get 'octaves' as a rule, it kind of "would be nice" and it may well be that with this elaborate approach it might be possible, it's a little hard to tell as yet, there are physics of the vibrating string and limitations to the physical layout of the device.

But, there certainly other, less invasive and easier ways to get octave sounds from a note than a sustainer...for that matter, there are easier ways to get a sound to hold forever digitally too, especially with synth or digital capability with things like sample and hold.

The beauty of the sustainer to me is in that it is an organic thing (like harmonics in the string) and that it opens up a door to these organic if quirky things that are available from manipulating the physical vibrations of the string.

Different aims perhaps, but if the aim was ever to produce harmonics only of an octave or whatever, this is not the way I'd be going about it frankly, far easier ways.

I can see where you are coming from, once you get into polyphonic things (unlike the trumpet) you are going to get all sorts of musical problems...for instance, from memory...

My note G on the low e string first fret in harmonic mode is going to play the note B...so a major third, way up on the high e, 7th fret as an equivalent. So, when I hold the chord G, the low note will morph to add a B note and octave and a fifth above that...so equivalent to the 4th fret b string.

So, I know that as a musican who has learned the "instrument" and can use it...and avoid it. For instance, If I am playing a G minor chord, I'm not going to want a huge sustaining B note to emerge right next to the Bb, even if it is an element of the G note (hidden within the harmonic series).

However, with my guitar...(I plugged it in right now, so I am testing it)...I have it set up so that the low notes in the 'fundamental mode' also "bloom" into harmonics...I find this to be musical and a creative element to it. And, that note G will drive the harmonic an octave higher, so avoiding any clash, but still creating the harmonic effect. Now, turn down the "drive" and you can alter the timing of the "bloom" from fairly instantaneous to a slow emerging where both the harmonic and the fundamental can be heard from the one string.

So, it is simply a matter of saying, well, some notes produced by the natural harmonics produced by this device (as with the natural harmonics produced along any string) are not going to work with all chords, other times they are going to be great...say if in fact the chord is a G major and by playing a power chord of G and D on the lower two strings, I get say G morphing and for a bit sounding together, through the octave to a 5th above and the D string morphing to an octave above that.

But, it is tricky to take everything into account, especially when things are polyphonic, but that is something I tend to see as something of the nature of the instrument, something to work with or around as required, and further avenues to explore...not as "wrong"...just requiring a different kind of intuition. Bit like the way with using natural harmonics they get higher the lower down the fretboard you go!

To me, the organic nature of the device is a part of it's "charm" if you will, there are other ways to get all octaves and even sustain without going into this technology. It may even be possible to get what you desire from it, but it is going to take a lot if it's going to be practical at all to fight the laws inherent in the harmonic series and the limitations of most of this technology.

Link to comment
Share on other sites

About the harmonics.

It matters whether it is for melody (lead guitar) or backing (chords). Pinched harmonics (lead guitar) are played on top of the backing while in case of the hexaphonic sustainer sustaining with higher harmonics you lose the fundamentals and the relationship with the original chord.

Of course you can play all of the 12 notes as a melody note. But a wrong harmonic in a chord just sounds wrong!

Carrilons have bells that produce a 'minor' sound. Major chords played by these bells sound weird!

Cheers,

FF

Link to comment
Share on other sites

Thanks for your comments! I also want to share my latest discover. I have some preliminary success with my "counter-motion" experiment. In sound processing there are two major types of filters. IIR - infinite impulse response and FIR - finite impulse response. The FIR filters are the best ones. They are absolutely stable, they keep perfect phase-frequency characteristic, but they are computationally expensive. For every sample you have to multiply and sum, say, 1000 samples. Even with modern general purpose processors it's too much. IIR filters are very interesting. They are recursive, computationally cheap, and basically they simulate RLC circuits. But they shift the phase, depending on the frequency. In my graphic project, antigrain geometry, I used IIR not knowing about it. It's recursive Gaussian Blur, which is essentially, a low pass filter. But in Antigrain, I use it in both directions - forward and backward. And I used the very same thing to filter sound. Since I get the signal with frames, I have the right to apply the filter both ways - directly and backward. So, I get a local "time counter-motion". Of course, for the price of extra latency, because the filters take time to stabilize in the backward direction. But it perfectly symmetrize the signal in time domain, and most of all - returns the phase exactly back! So, it looks like two filters connected in series, but in both directions, which is absolutely impossible to do with analog circuits.

Link to comment
Share on other sites

Some new demos with the magnetic hex pickup and double filtering with "time counter-motion". It's not that bad to use the mag pickup with non-shielded driver coils. I thought it must be terrible, however, it works well enough. Of course, I can't feed the coils with a lot of power, as I can do with piezo saddles, but still, it works, and I can produce some fancy reverb using a digital delay and string feedback. In the first demo you hear some unwanted reverb sounds, but I can also use this for the effects. Not sure I can come up with something nice, though, but I'll try.

Once again, I'm a shitty guitar player, so, I apologize for that in advance. Also, there's some noticeable hum, I suspect it's because of poor filtering in my power adapters and power amps. Anyways, I'm sure I can get rid of the hum.

http://antigrain.com/hex_project/sample_hex_mag01.mp3

http://antigrain.com/hex_project/sample_hex_mag02.mp3

By the way, there's a very nice King Crimson live performance. http://www.youtube.com/watch?v=7y6uL_sEelw

So, I'm sure Andrew Belew, and probably, Robert Fripp too, use some string drivers in their guitars.

I do want to make this kind of sound. It's so great.

Link to comment
Share on other sites

Some new demos with the magnetic hex pickup and double filtering with "time counter-motion". It's not that bad to use the mag pickup with non-shielded driver coils. I thought it must be terrible, however, it works well enough. Of course, I can't feed the coils with a lot of power, as I can do with piezo saddles, but still, it works, and I can produce some fancy reverb using a digital delay and string feedback. In the first demo you hear some unwanted reverb sounds, but I can also use this for the effects. Not sure I can come up with something nice, though, but I'll try.

Once again, I'm a shitty guitar player, so, I apologize for that in advance. Also, there's some noticeable hum, I suspect it's because of poor filtering in my power adapters and power amps. Anyways, I'm sure I can get rid of the hum.

http://antigrain.com/hex_project/sample_hex_mag01.mp3

http://antigrain.com/hex_project/sample_hex_mag02.mp3

By the way, there's a very nice King Crimson live performance. http://www.youtube.com/watch?v=7y6uL_sEelw

So, I'm sure Andrew Belew, and probably, Robert Fripp too, use some string drivers in their guitars.

I do want to make this kind of sound. It's so great.

Clip 1: very nice sustain McSeem!

Clip2: the same + some very nice Mustaine! May that shitty guitar playing of yours Rust In Peace.

Which song does it remind me of?

Perhaps you could tell what's in the sustainer's feedback loop apart from the double filter. Limiters, eq? Is the double filtering meant to deal with phase differences caused by the low pass filter or does it compensate phase differences between hex pickup and sustainer driver? Time counter-motion sounds very mysterious to me. :D

Cheers

FF

Link to comment
Share on other sites

Thanks!

Clip2: the same + some very nice Mustaine! May that shitty guitar playing of yours Rust In Peace.

Which song does it remind me of?

http://en.wikipedia.org/wiki/Is_There_Anybody_Out_There

Perhaps you could tell what's in the sustainer's feedback loop apart from the double filter. Limiters, eq? Is the double filtering meant to deal with phase differences caused by the low pass filter or does it compensate phase differences between hex pickup and sustainer driver? Time counter-motion sounds very mysterious to me. smile.gif

There's only a smooth distortion with a lot of gain plus a low pass filter. That's it. The filter is a simplest one-pole:

class one_pole_lpf

{

public:

	one_pole_lpf() { a = 0.9; b = 1.0 - a; z = 0; };

	one_pole_lpf(double a_) { a = a_; b = 1.0 - a; z = 0; };

	void set(double a_) 

	{

		if (a != a_)

		{

			a = a_; b = 1.0 - a; z = 0;

		}

	}

	double process(double in) { z = (in * b) + (z * a); return z; }

private:

	double a, b, z;

};

So, function "process" recursively simulates just the simplest RC low pass filter. You just call it for each sample. But I apply it in both directions. Basically I take one extra frame of 256 samples to allow the filter to stabilize and apply the very same filter in the opposite direction.

To simulate it you can take Audacity, which is free and open source and do the following steps.

1. Generate a tone, square of say, 110 Hz and 2 seconds length.

2. Apply a low pass filter with the cut-off frequency of 220 Hz (in the Effects menu). This is exactly how a single pole RC filter works.

3. Then you reverse the resulting signal and apply the very same filter once again. Watch for the shape of the sound, how it changes. It becomes almost a sine wave, at least, perfectly symmetric in time.

In the real life you have to reverse the signal once again, but in this experiment it doesn't matter. So, I just do that for each frame. I was also surprised that a very basic single-core laptop can easily handle 6 input and 8 output channels. I didn't make any efforts to optimize my code (I use just memmove to simulate the ring buffer for all 14 channels), still, it works perfectly.

And of course, there's about 20 milliseconds delay, which is undesirable but inevitable with DSP. Perhaps I can employ it for effects, but not sure. So far I don't do anything with the phase, but I feel it's the very thing to work on -- automatic phase adjustment depending on the frequency. We will see.

Link to comment
Share on other sites

There's only a smooth distortion with a lot of gain plus a low pass filter. That's it. The filter is a simplest one-pole:

class one_pole_lpf

{

public:

	one_pole_lpf() { a = 0.9; b = 1.0 - a; z = 0; };

	one_pole_lpf(double a_) { a = a_; b = 1.0 - a; z = 0; };

	void set(double a_) 

	{

		if (a != a_)

		{

			a = a_; b = 1.0 - a; z = 0;

		}

	}

	double process(double in) { z = (in * b) + (z * a); return z; }

private:

	double a, b, z;

};

I see :D Thanks for the information!

So it's applying a low pass filter, reversing the frame, applying the low pass filter once again, reversing the frame. So the phase shifting caused by the filter will be zero. Clever.

It's not that ridiculous after all to distort the signal that goes to the sustainer driver. I tried that for my first sustainer device. But it didn't work well with monophonic pickup and driver. (too much bandwidth, cannot filter per string, intermodulation)

A problem with distortion is that it's reacting fast. Especially in higher fretting positions. When using a limiter with a long release time the signal first sags right after the string is picked before it goes into sustain.

So, function "process" recursively simulates just the simplest RC low pass filter. You just call it for each sample. But I apply it in both directions. Basically I take one extra frame of 256 samples to allow the filter to stabilize and apply the very same filter in the opposite direction.

To simulate it you can take Audacity, which is free and open source and do the following steps.

1. Generate a tone, square of say, 110 Hz and 2 seconds length.

2. Apply a low pass filter with the cut-off frequency of 220 Hz (in the Effects menu). This is exactly how a single pole RC filter works.

3. Then you reverse the resulting signal and apply the very same filter once again. Watch for the shape of the sound, how it changes. It becomes almost a sine wave, at least, perfectly symmetric in time.

In the real life you have to reverse the signal once again, but in this experiment it doesn't matter. So, I just do that for each frame. I was also surprised that a very basic single-core laptop can easily handle 6 input and 8 output channels. I didn't make any efforts to optimize my code (I use just memmove to simulate the ring buffer for all 14 channels), still, it works perfectly.

I tried the procedure you described for myself.

So far it could be done the analogue way. With 24 dB /octave low pass filters and eventually some all pass filters to compensate phase differences.

But I understand you work one step at a time. I'm very curious how you will take this project to the next level.

And of course, there's about 20 milliseconds delay, which is undesirable but inevitable with DSP. Perhaps I can employ it for effects, but not sure. So far I don't do anything with the phase, but I feel it's the very thing to work on -- automatic phase adjustment depending on the frequency. We will see.

The delay does 2 things.

It eases the problems you have with squealing.

It works as a comb filter, it really disturbs the phase relationship between driver and pickup. (lowest frequency with a 180 degrees phase shift: 1 / 0.020 / 2 = 25 Hz) Some fundamentals are out of phase.

Cheers

FF

Link to comment
Share on other sites

It's not that ridiculous after all to distort the signal that goes to the sustainer driver. I tried that for my first sustainer device. But it didn't work well with monophonic pickup and driver. (too much bandwidth, cannot filter per string, intermodulation)

A problem with distortion is that it's reacting fast. Especially in higher fretting positions. When using a limiter with a long release time the signal first sags right after the string is picked before it goes into sustain.

I'd say it's bad for mono, namely because of intermod. With 6 separate channels it's OK.

I tried the procedure you described for myself.

So far it could be done the analogue way. With 24 dB /octave low pass filters and eventually some all pass filters to compensate phase differences.

But I understand you work one step at a time. I'm very curious how you will take this project to the next level.

Yes, I see what you mean. Basically, it's better in some way, because you can get an absolute minimal total delay in both, analog and digital implementations. The only problem is exact matching between two filters. The first filter may be very complex and fancy, and the all pass filter must match it exactly. In my approach there's automatic matching, for the price of extra delay.

The delay does 2 things.

It eases the problems you have with squealing.

It works as a comb filter, it really disturbs the phase relationship between driver and pickup. (lowest frequency with a 180 degrees phase shift: 1 / 0.020 / 2 = 25 Hz) Some fundamentals are out of phase.

Yes, I understand that.

In my latest experiments I took the signal from the guitar output (the high E string) and the coil and wrote a simple 2-channel software oscilloscope that uses two extra audio interface ins. I also wrote a manual phase shifter, basically adjustable delay with a slider. So, I figured out that the best conditions to sustain the fundamental is NOT exactly cophasal signal. I suspect it's because of the phase shift in the coil itself (since it has significant inductance). Also, the pickups and the amp circuits add some frequency-dependent phase shift. Initially I thought that the digital delay is a total evil, but it's not that bad. Besides, I tried just a direct feedback with a preamp - there's no much difference from the full system with a digital delay. That is, you cannot predict in advance what harmonic will be sounding -- it depends on many different conditions. Even in Moog Guitar it remains a problem -- I see it in youtube demos. I realize that the task to control the phase-shift depending on the strings and frets is very tricky, but IMO, it's the only way to obtain a full control on harmonics. I'm not sure I can succeed, though.

I also got rid of the 60Hz hum -- it was just because of dirty power supply for the coil amps. I replaced it with my old laptop adapter, which produces very clean DC.

I plan my next steps to experiment with a compression and/or automatic power control. As you mentioned earlier, any tiny noise initiate the sustain, basically it's self-excitation. To have a full control it's a good idea to have some kid of an expander-compressor, that would work as a smooth noise gate at low level signals and a compressor in the mid-range. Although, I'm not sure what is better to measure the level -- peak or RMS. I'll need to try both.

Basically, so far I just collect the knowledge and experience. I hope eventually I can combine it all and come up with something significant.

Link to comment
Share on other sites

So, I figured out that the best conditions to sustain the fundamental is NOT exactly cophasal signal. I suspect it's because of the phase shift in the coil itself (since it has significant inductance). Also, the pickups and the amp circuits add some frequency-dependent phase shift.

The physical distance between pickup and driver adds a significant phase shift. The angle of shift is dependent on which fret you are playing at.

That is, you cannot predict in advance what harmonic will be sounding -- it depends on many different conditions. Even in Moog Guitar it remains a problem -- I see it in youtube demos. I realize that the task to control the phase-shift depending on the strings and frets is very tricky, but IMO, it's the only way to obtain a full control on harmonics. I'm not sure I can succeed, though.

It is not difficult to track a monophonic pitch, you can then calculate which fret is in use per string (in a hexophonic system)

To use that info to generate a predictable controllable harmonic would require a fairly complex filter, but you will know which string and which fret is causing the fundamental, so if you can build up data tables of the phase response of your system per string, you should be able to set up a working system.

You would need decent processing power though, and building the filter will be a big job.

Not sure how useful it will be though - totally predictable completely controllable harmonics don't sound like fun to me - the fun of harmonics is exactly in their wild unpredictable nature, and the energy this gives to the sound.

cheers

Col

Link to comment
Share on other sites

It is not difficult to track a monophonic pitch, you can then calculate which fret is in use per string (in a hexophonic system)

To use that info to generate a predictable controllable harmonic would require a fairly complex filter, but you will know which string and which fret is causing the fundamental, so if you can build up data tables of the phase response of your system per string, you should be able to set up a working system.

You would need decent processing power though, and building the filter will be a big job.

Yes, I'm going to do namely that. And as I said, I expect tricky time and a lot of experiments with heuristics. For high harmonics the phase shift can be close to 180.

Not sure how useful it will be though - totally predictable completely controllable harmonics don't sound like fun to me - the fun of harmonics is exactly in their wild unpredictable nature, and the energy this gives to the sound.

I understand. "Totally predictable" doesn't mean it's only with fundamental. For example, you can setup the sustain to keep 2nd, 4th and so on harmonics. So that, you pluck the string, after which it "falls into higher harmonics". But it happens for sure. You can also make the odd harmonics sounding, or, control it with a pedal and switches. I like the idea in Moog Guitar to control the harmonics with a pedal. I'm talking about the unpredictability from the musical point of view. You must know in advance what note you will eventually hear. It may be 3rd or even 5th harmonic, but it must be predictable, depending on the settings.

Another potential possibility with hexaphonic is to control the harmonics, or something else with certain strings. Say, you assign the low E string as a control, it isn't mixed in the output (or, may be mixed as well). And its signal level can control certain parameters.

Link to comment
Share on other sites

Has anyone ever actually been up close and personal with the "Moog"...there certainly is a lot subscribed to it and a lot of assumptions, but as yet and only one slightly independent review, there's been little and nothing on the technical details at all...let along the musical and other attributes of the thing.

I have a sense of what you are going for, but it seems to be a rare wish, and what it is you intend to do with it is still evading me...it's certainly a lot of work and computer power and invasive modification for something that seems to be completely possible by other means without it...

I could be wrong, but my impression of the moog thing and ideals is that it will be a novelty footnote like the gizmotron in time with little effective use made of it...just a hunch...more will and has been made with ebows and conventional sustainers or even natural feedback, but it is likely even there it will remain a bit of an "effect"...

I suppose one day the guitar might evolve to have the range and expressiveness of a violin bow while retaining it's present attributes, but that day if ever is a long way away and this is likely the way towards it. Anyone that has tried to bow a violin will realize that it can be tricky and require technique and compromises, but what an amazing expressive device. With all things there are the untamed elements, and those who can tame them effectively...if the devices are too neutered, with that too goes some of the potential for expression.

But then, perhaps I just don't "get" what you are shooting for or what this thing is being built to do?!

Link to comment
Share on other sites

Well, I'm not quite sure what am I shooting for. Basically, so far, just experiments, new sounds, new expressions. Tonight I tried a random phase shift in dynamics. It's not actually random, but just the rotation speed is random for each string. There's nothing very interesting, but now I'm sure with the dynamic phase shifting you can do a lot. Here's an example with a couple of chords, in the self-excitation sustain mode:

http://antigrain.com/hex_project/sample_ra...phase_shift.mp3

So, when I achieve some results with the "best phase conditions" by default for each string and each fret, I can add a pedal that shifts the phase. Or, as I mentioned before, you can control it even with dedicated strings. I admit musicions, in particular, are looking for some fancy things that are tricky to handle, like ebow. Well, I'm thinking about it too. Not ebow, of course, but something else - strings plus pedals puls other controls. We will see. Maybe it's all about nothing, but I feel a lot of potentials in this area of engineering. So far it's pretty exciting.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...