MIDI bass guitar?
Archiver
Posts: 46,084
Hello,
I plan on developing a MIDI bass guitar over spring term with the BS2
and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
have no idea how to get this many inputs recognized. I can already
send MIDI signals with my stamp, I just need it to the 80 inputs.
Any advice or suggestions are welcome [noparse]:)[/noparse]
-Jeff
I plan on developing a MIDI bass guitar over spring term with the BS2
and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
have no idea how to get this many inputs recognized. I can already
send MIDI signals with my stamp, I just need it to the 80 inputs.
Any advice or suggestions are welcome [noparse]:)[/noparse]
-Jeff
Comments
fifths and such. You could definitely cut down on inputs if you make
the 7th fret of the A string the same as the 12th fret on the E string.
Just an idea
Adam
Original Message
From: jeff_m_hopkins [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=9oyJo8FPcoAilVIqViS0VC2ffuwKr7gKHdXpVv1nnqxFWsn9S_QdG2odG6pCiZW9fOAZHa1txBtmBAlkGPmGppk]jeff_m_hopkins@y...[/url
Sent: Sunday, March 21, 2004 6:37 PM
To: basicstamps@yahoogroups.com
Subject: [noparse][[/noparse]basicstamps] MIDI bass guitar?
Hello,
I plan on developing a MIDI bass guitar over spring term with the BS2
and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
have no idea how to get this many inputs recognized. I can already
send MIDI signals with my stamp, I just need it to the 80 inputs.
Any advice or suggestions are welcome [noparse]:)[/noparse]
-Jeff
To UNSUBSCRIBE, just send mail to:
basicstamps-unsubscribe@yahoogroups.com
from the same email address that you subscribed. Text in the Subject
and Body of the message will be ignored.
Yahoo! Groups Links
Typically a MIDI guitar or bass uses a multi-output piezo pickup with one
output per string. Then each string's output is sampled to determine its
frequency at any given time. That information, along with volume level, is
converted into a MIDI string, which can then be passed onto whatever MIDI
device or recorder you like. I've never seen any sort of MIDI guitar, bass
or otherwise, that looks at every fret on the neck. But then again, I'm a
keyboard player.
One of the big problems with any MIDI guitar is response time, since a
musician will be stifled in his playing once the lag time between hitting a
string and hearing the response gets over a few tens of milliseconds. Your
system might get over that lag issue if you're very clever.
Mike Sokol
mike@f...
www.fitsandstarts.com
" One should not increase, beyond what is necessary,
the number of entities required to explain anything"...
-William of Occam-
> Hello,
> I plan on developing a MIDI bass guitar over spring term with the BS2
> and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
> have no idea how to get this many inputs recognized. I can already
> send MIDI signals with my stamp, I just need it to the 80 inputs.
>
> Any advice or suggestions are welcome [noparse]:)[/noparse]
>
> -Jeff
>Jeff,
>
>Typically a MIDI guitar or bass uses a multi-output piezo pickup with one
>output per string. Then each string's output is sampled to determine its
>frequency at any given time. That information, along with volume level, is
>converted into a MIDI string, which can then be passed onto whatever MIDI
>device or recorder you like. I've never seen any sort of MIDI guitar, bass
>or otherwise, that looks at every fret on the neck. But then again, I'm a
>keyboard player.
Actually the system of wired frets has been used many times over the years
for synthesis control. Peavey used to market the Cyber-bass (actually
made by an Aussie company) that used wired frets for note sensing but used
piezo pickups for the actually triggering of the note. The Ampeg Patch 2000
AKA Hagstrom 2000 as well as the venerable Guit-organ all used wired frets
for synthesis. These were very fast in the triggering department but
couldn't sense when a note was bent.
>One of the big problems with any MIDI guitar is response time, since a
>musician will be stifled in his playing once the lag time between hitting a
>string and hearing the response gets over a few tens of milliseconds. Your
>system might get over that lag issue if you're very clever.
This is less of a problem for an experience midi-guitarist since you pretty
rapidly learn to play just early enough to make the notes fall on the beat.
In my case this took well less than a week. Lag exists in many instruments.
In fact the synth patches being triggered can cause more seeming timing
problems than any triggering delays, for instance if your patch has little
or no attack on the front end but swells in volume. Consider large pipe
organs in big old churches many of these use long wooden strips to connect
the keys to the pipe valves in some cases these strips can be 20 feet long
and there is an appreciable delay between the key press and valve action
due the slack in the wood strip, bending etc. even before you add in the
physical distance between the pipes and the organist Real old time pipe
organists take this in stride. Most newer organs use electrical valves but
the old mechanical types are still being built today. However I must say
that this sounds a bit like re-inventing the wheel since Cyber-basses
routinely appear on Ebay for reasonable prices, and there is also the Z-tar
line by Starr Labs which are in current production. You can also use Axon
AX100's for bass to midi conversions as well as the new Roland GI-20 system
both currently in production (these trigger from either piezo or mag
pickups). matt
information, though I'm not precisely sure how you transmit that on the
midi bus, since there's only one global bend parameter (to my knowledge)
I wonder if it might make sense, instead of considering a 'fret' an input
to consider a 'string' an input. Basically I'm saying get 4 pickups, feed
the pickups into ADC's, and use the microcontroller to process the wave.
My only trepidation with this would be that the overall wave of a bass
guitar might be too complex to process without something like a phase
vocoder or FFT algorithm, which can't reasonably be done on a stamp.
On Mon, 22 Mar 2004, jeff_m_hopkins wrote:
> Hello,
> I plan on developing a MIDI bass guitar over spring term with the BS2
> and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
> have no idea how to get this many inputs recognized. I can already
> send MIDI signals with my stamp, I just need it to the 80 inputs.
>
> Any advice or suggestions are welcome [noparse]:)[/noparse]
>
> -Jeff
>
>
>
>
> To UNSUBSCRIBE, just send mail to:
> basicstamps-unsubscribe@yahoogroups.com
> from the same email address that you subscribed. Text in the Subject and Body
of the message will be ignored.
>
> Yahoo! Groups Links
>
>
>
>
>
>
Sean T. Lamont, CTO / Chief NetNerd, Abstract Software, Inc. (ServNet)
Seattle - Bellingham - Vancouver - Portland - Everett - Tacoma - Bremerton
email: lamont@a... WWW: http://www.serv.net
"Do not fear mistakes, There Are None" - Miles Davis
I was afraid that they wouldn't be able to handle it. I'm not
interested in sending pitch or volume levels, I'm going to have those
on potentiometers. I think I've found out how to get so many inputs
though. The actual finished product I had no intention of playing
like an actual bass guitar. It's just a MIDI input device.
Now here goes the Idea, Tell me if this is really bad [noparse]:)[/noparse]
Okay, the thought was to have 5 volts go from the string down to
contact plates that are below where the frets are. when you press the
string down it maked contact with the contact plate, completing the
circuit. On the back side of these contact platese there will be
resistors. These resistors will change the voltage depending on what
fret is pressed down. So by having 2 pins per string it takes the
inputs up to 8. All I need is to get the BS2 to be able to
distinguish between about 10 sets of resistors. Maybe a ADC for each
input string? and then we have a tuning potentiometer, and MIDI
program up and down buttons, and a MIDI transpose up and down (just
in case you wanted to play flute or something).
--- In basicstamps@yahoogroups.com, "Sean T. Lamont .lost."
<lamont@a...> wrote:
>
> It's much worse than that, you've got velocity information & bending
> information, though I'm not precisely sure how you transmit that on
the
> midi bus, since there's only one global bend parameter (to my
knowledge)
>
> I wonder if it might make sense, instead of considering a 'fret' an
input
> to consider a 'string' an input. Basically I'm saying get 4
pickups, feed
> the pickups into ADC's, and use the microcontroller to process the
wave.
> My only trepidation with this would be that the overall wave of a
bass
> guitar might be too complex to process without something like a
phase
> vocoder or FFT algorithm, which can't reasonably be done on a stamp.
>
>
> On Mon, 22 Mar 2004, jeff_m_hopkins wrote:
>
> > Hello,
> > I plan on developing a MIDI bass guitar over spring term with the
BS2
> > and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
> > have no idea how to get this many inputs recognized. I can already
> > send MIDI signals with my stamp, I just need it to the 80 inputs.
> >
> > Any advice or suggestions are welcome [noparse]:)[/noparse]
> >
> > -Jeff
> >
> >
> >
> >
> > To UNSUBSCRIBE, just send mail to:
> > basicstamps-unsubscribe@yahoogroups.com
> > from the same email address that you subscribed. Text in the
Subject and Body of the message will be ignored.
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
>
> Sean T. Lamont, CTO / Chief NetNerd, Abstract Software, Inc.
(ServNet)
> Seattle - Bellingham - Vancouver - Portland - Everett - Tacoma -
Bremerton
> email: lamont@a... WWW: http://www.serv.net
> "Do not fear mistakes, There Are None" - Miles Davis
determining resistance.
One thing I wondered about this : Do bass strings have enough inherent
resistance to measure the resistive difference from fret to fret? If so,
you could sort of make the contact point your fret board, and send voltage
along the string itself. Then you can basically have all your frets on a
given string be connected. Interestingly enough, this would also work on a
fretless bass, but you'd have to have the entire neck of the bass be
metal, then as you put your finger further down the fretboard, you'd get
higher resistance because of the voltage travelling farther down the
string before it contacted the metal.
My main concern with anything that doesn't involve some manner of sensing
vibrations, though, is this: You have *no* dynamics whatsoever, including
plucking. The instant you put your left hand on a fret, it plays the note.
I'm not an expert bassist or anything, but whenever I play stringed
instruments, I first position the finger on the fretboard, then I play it,
then I might stop it with my hand. Just tracking the fingers on the
fretboard isn't going to give you the ability to move your left hand
without making noise, regardless of whether you're plucking or not. And
then there's the matter of the open strings - if you made un-fretted
strings default to playing a note, they'd make noise all the time. If you
made them default to silence, it would be very hard to play the notes in
their natural open position.
Alternatively, doing WAV processing would get all those nuanced bit, you'd
just have to move up to something with some greater horsepower. Plus, you
might learn something about linear algebra. If you want to research it,
there's a lot of stuff around the net on "FFT", or fast fourier transform.
Here's one such:
http://www.spd.eee.strath.ac.uk/~interact/fourier/fft.html
On Mon, 22 Mar 2004, jeff_m_hopkins wrote:
> I wanted to stay away from using the ADCs for wav proccessing because
> I was afraid that they wouldn't be able to handle it. I'm not
> interested in sending pitch or volume levels, I'm going to have those
> on potentiometers. I think I've found out how to get so many inputs
> though. The actual finished product I had no intention of playing
> like an actual bass guitar. It's just a MIDI input device.
>
> Now here goes the Idea, Tell me if this is really bad [noparse]:)[/noparse]
>
> Okay, the thought was to have 5 volts go from the string down to
> contact plates that are below where the frets are. when you press the
> string down it maked contact with the contact plate, completing the
> circuit. On the back side of these contact platese there will be
> resistors. These resistors will change the voltage depending on what
> fret is pressed down. So by having 2 pins per string it takes the
> inputs up to 8. All I need is to get the BS2 to be able to
> distinguish between about 10 sets of resistors. Maybe a ADC for each
> input string? and then we have a tuning potentiometer, and MIDI
> program up and down buttons, and a MIDI transpose up and down (just
> in case you wanted to play flute or something).
>
>
> --- In basicstamps@yahoogroups.com, "Sean T. Lamont .lost."
> <lamont@a...> wrote:
> >
> > It's much worse than that, you've got velocity information & bending
> > information, though I'm not precisely sure how you transmit that on
> the
> > midi bus, since there's only one global bend parameter (to my
> knowledge)
> >
> > I wonder if it might make sense, instead of considering a 'fret' an
> input
> > to consider a 'string' an input. Basically I'm saying get 4
> pickups, feed
> > the pickups into ADC's, and use the microcontroller to process the
> wave.
> > My only trepidation with this would be that the overall wave of a
> bass
> > guitar might be too complex to process without something like a
> phase
> > vocoder or FFT algorithm, which can't reasonably be done on a stamp.
> >
> >
> > On Mon, 22 Mar 2004, jeff_m_hopkins wrote:
> >
> > > Hello,
> > > I plan on developing a MIDI bass guitar over spring term with the
> BS2
> > > and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
> > > have no idea how to get this many inputs recognized. I can already
> > > send MIDI signals with my stamp, I just need it to the 80 inputs.
> > >
> > > Any advice or suggestions are welcome [noparse]:)[/noparse]
> > >
> > > -Jeff
> > >
> > >
> > >
> > >
> > > To UNSUBSCRIBE, just send mail to:
> > > basicstamps-unsubscribe@yahoogroups.com
> > > from the same email address that you subscribed. Text in the
> Subject and Body of the message will be ignored.
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > Sean T. Lamont, CTO / Chief NetNerd, Abstract Software, Inc.
> (ServNet)
> > Seattle - Bellingham - Vancouver - Portland - Everett - Tacoma -
> Bremerton
> > email: lamont@a... WWW: http://www.serv.net
> > "Do not fear mistakes, There Are None" - Miles Davis
>
>
>
>
> To UNSUBSCRIBE, just send mail to:
> basicstamps-unsubscribe@yahoogroups.com
> from the same email address that you subscribed. Text in the Subject and Body
of the message will be ignored.
>
> Yahoo! Groups Links
>
>
>
>
>
>
Sean T. Lamont, Chief Mad Scientist |-- lamont@a...
Zen Chemical Productions |-- http://www.zenchemical.com
Fabricators of Unnecessary Amazement
pickup on the bass, but use it just as an amplitude sensor. You're going
to get some sort of signal out of that, let's say it's 0-1 volts. So
you've got 4 strings producing variable voltage / resistance / capacitance
discharge, and you've got another 4 (or possibly even 1) input which is
your dynamic control. If there's a finger on the fretboard and no input
from the pickups, your finger is just sitting on it. If, after that, you
get a 1V signal from the pickup, you know you've just plucked the string
pretty hard, and can send midi velocity information appropriately. If
instead you see a .5V signal off the pickup, you know you've played it not
quite so hard, and so you can adjust the midi keydown volume information.
If you stop it with your hand, the pickup output goes to 0V, and so you
can send a midi noteup command.
Just a thought.
Sean T. Lamont, Chief Mad Scientist |-- lamont@a...
Zen Chemical Productions |-- http://www.zenchemical.com
Fabricators of Unnecessary Amazement
>It's much worse than that, you've got velocity information & bending
>information, though I'm not precisely sure how you transmit that on the
>midi bus, since there's only one global bend parameter (to my knowledge)
The complete midi data stream from a guitar to synth converter is extremely
complex and messy. There are so many bend messages that some synth modules
are unable to keep up. Most midi converters have the ability to either thin
the bend command data or exclude it all together. You also have issues with
setting the bend range on synth patches to allow the bend data to be used
many patches are for keys and have limited bend range preset from the factory.
>I wonder if it might make sense, instead of considering a 'fret' an input
>to consider a 'string' an input. Basically I'm saying get 4 pickups, feed
>the pickups into ADC's, and use the microcontroller to process the wave.
>My only trepidation with this would be that the overall wave of a bass
>guitar might be too complex to process without something like a phase
>vocoder or FFT algorithm, which can't reasonably be done on a stamp.
In order to determine the actual note being played the system would have to
wait until it got a complete wave from the bass. This will cause the
triggering to be slower the lower the note played. Axon converters use a
proprietary technology to do a very good estimate of the notes frequency by
analyzing the attack characteristics in their own circuits and use a
"trained neural network" to make the final decision on frequency. This only
works when the converter is in pick mode (i.e. using a pick or plectrum
rather than fingers). The midi guitar and GR30 groups at Yahoo are visited
regularly by Andras Szalay designer from Blue Chip that did the designs for
the Axon converter (the Yamaha G50 is an older design of the same system).
I believe this type of design may well be beyond the ability of the stamp
to perform.
>On Mon, 22 Mar 2004, jeff_m_hopkins wrote:
>
> > Hello,
> > I plan on developing a MIDI bass guitar over spring term with the BS2
> > and BOE. The problem is I need 4 strings * 20 frets = 80 inputs. I
> > have no idea how to get this many inputs recognized. I can already
> > send MIDI signals with my stamp, I just need it to the 80 inputs.
> >
> > Any advice or suggestions are welcome [noparse]:)[/noparse]
> >
> > -Jeff
wait for the note to be played. I want to try out the idea of having
a pickup for velocity checks, but I don't know how to hook it up into
the bs2. Does anybody have any experience for detecting the amount of
vibration of steel strings with some sort of pickup? And then my
worry is that it would be sensing some of my other string vibrating.
any ideas on this? Does a pickup just send voltage depending on
vibration?
any help on the subject would be great
(thanks for the idea)
--- In basicstamps@yahoogroups.com, "Sean T. Lamont .lost."
<lamont@a...> wrote:
>
> It occurred to me after I posted this : You could actually do both.
Drop a
> pickup on the bass, but use it just as an amplitude sensor. You're
going
> to get some sort of signal out of that, let's say it's 0-1 volts.
So
> you've got 4 strings producing variable voltage / resistance /
capacitance
> discharge, and you've got another 4 (or possibly even 1) input
which is
> your dynamic control. If there's a finger on the fretboard and no
input
> from the pickups, your finger is just sitting on it. If, after
that, you
> get a 1V signal from the pickup, you know you've just plucked the
string
> pretty hard, and can send midi velocity information appropriately.
If
> instead you see a .5V signal off the pickup, you know you've played
it not
> quite so hard, and so you can adjust the midi keydown volume
information.
> If you stop it with your hand, the pickup output goes to 0V, and so
you
> can send a midi noteup command.
>
> Just a thought.
>
> Sean T. Lamont, Chief Mad Scientist |-- lamont@a...
> Zen Chemical Productions |--
http://www.zenchemical.com
> Fabricators of Unnecessary Amazement
voltage peak. Check out the output of your pickups in a voltmeter or a
scope. The worst thing i could see would be if you'd need to amplify (or
unamplify) the signal to get it in the right range.
On Sat, 3 Apr 2004, jeff_m_hopkins wrote:
> I've been working with the wired frets idea and I have no noticeable
> wait for the note to be played. I want to try out the idea of having
> a pickup for velocity checks, but I don't know how to hook it up into
> the bs2. Does anybody have any experience for detecting the amount of
> vibration of steel strings with some sort of pickup? And then my
> worry is that it would be sensing some of my other string vibrating.
> any ideas on this? Does a pickup just send voltage depending on
> vibration?
>
> any help on the subject would be great
>
> (thanks for the idea)
>
> --- In basicstamps@yahoogroups.com, "Sean T. Lamont .lost."
> <lamont@a...> wrote:
> >
> > It occurred to me after I posted this : You could actually do both.
> Drop a
> > pickup on the bass, but use it just as an amplitude sensor. You're
> going
> > to get some sort of signal out of that, let's say it's 0-1 volts.
> So
> > you've got 4 strings producing variable voltage / resistance /
> capacitance
> > discharge, and you've got another 4 (or possibly even 1) input
> which is
> > your dynamic control. If there's a finger on the fretboard and no
> input
> > from the pickups, your finger is just sitting on it. If, after
> that, you
> > get a 1V signal from the pickup, you know you've just plucked the
> string
> > pretty hard, and can send midi velocity information appropriately.
> If
> > instead you see a .5V signal off the pickup, you know you've played
> it not
> > quite so hard, and so you can adjust the midi keydown volume
> information.
> > If you stop it with your hand, the pickup output goes to 0V, and so
> you
> > can send a midi noteup command.
> >
> > Just a thought.
> >
> > Sean T. Lamont, Chief Mad Scientist |-- lamont@a...
> > Zen Chemical Productions |--
> http://www.zenchemical.com
> > Fabricators of Unnecessary Amazement
>
>
>
>
> To UNSUBSCRIBE, just send mail to:
> basicstamps-unsubscribe@yahoogroups.com
> from the same email address that you subscribed. Text in the Subject and Body
of the message will be ignored.
>
> Yahoo! Groups Links
>
>
>
>
>
>
Sean T. Lamont, CTO / Chief NetNerd, Abstract Software, Inc. (ServNet)
Seattle - Bellingham - Vancouver - Portland - Everett - Tacoma - Bremerton
email: lamont@a... WWW: http://www.serv.net
"Do not fear mistakes, There Are None" - Miles Davis