> Here's what I think are the steps involved:
> -sketching out the mechanical design using Rhinoscript(Your work in
> that regard is inspiring, Andrew!)
Thanks! I'm a bit stalled on that since this is the last year of my
Ph.D., but my plan was to switch to the Python bindings around Open
Cascade. It's nowhere near as polished a product as Rhino and the API
is rather daunting, but you get to use Python instead of VBScript, and
there's no financial barrier. I'd get a kick out anyone making use of
my code, even minimally, and would be happy to answer questions. I
fear there are parts of the code that may be hard to follow without a
diagram; ask if you get stuck!
> -designing a circuit schematic, adapting it to a PCB(perhaps Python
> could do that. It would be very hard to code, though)
Writing your own EDA tools is probably not the way to go.
> -getting the PCB printed and shipped to me
That's the easy part.
> -making the keys(out of wood)
If your plan is to carve keys for a single keyboard out of wood,
you'll probably be better served by some paper templates to help you
get the basic geometry right, and then winging the parts that are hard
to draw a cad model for. I have a few hand-written postscript files
in the repository that you might find useful if you go this route.
> A few details I've been thinking about:
> -the key action. It has got to be weighted, and well. I would be
> playing guitar if I didn't care about piano and forte. Harpsichord
> keys, as seen at http://sankey.ws/action.html , seem like an
> interesting starting point.
Have you played on a Harpsichord? The keys are very light except for
the resistance of the plectrum. Playing a piano doesn't feel like
you're hitting something with a hammer, but playing a harpsichord
feels very much like plucking a string.
> -the key speed sensing. I'm not an expert in circuits by any means,
> but instead of using two sensors I was thinking about using a single
> contact sensor, which the key scrapes while going down. Speed is
> calculated by checking how long the sensor was pressed.
How do you know if the key is down or up?
> Since I tend to lose motivation veery easily(the fact that I prefer IM
> over discussion boards doesn't help), I hope to keep myself and you
> interested by documenting the process, and every prototype inbetween
> (single-key prototypes, breadboard circuits, etc.). I still won't be
> useful to any of you for a while though, that's why I was holding out
> on presenting myself.
Great! Let me know if you want to use any of the diykeyboard
resources; I can get you set up on the svn repository and/or the wiki.
If you want to get to a finished keyboard in a hurry and are already
willing to do a lot of manual work in making the keys, you might
consider taking Ken up on his offer of a free set of key adaptors for
one of the m-audio keyboards, and then epoxy on your own key tops.
You can ask him if his offer still stands. Alternatively, you could
buy the keyboard and modify the keys directly.
A while ago I actually tried to merge the CAD models he commissioned
with my script for generating key tops. I'm sure there's a way, but I
didn't get very far. If you successfully combine them, you could have
a couple keys rapid prototyped, duplicate them by resin casting, and
then have keys that fit right into an existing keyboard. Perhaps you
could also physically combine a chopped off keyboard key with a
rapid-prototyped key top, and resin-cast duplicate that.
Cheers,
Drew
>> Writing your own EDA tools is probably not the way to go.
>
> Not a full blown EDA application, just a script to calculate paths to
> and from components on a board(and perhaps not even output gerber
> files, if that's too much work). That shouldn't be hard, I could adapt
> one of my pathfinding scripts to do just that. The hard part would be
> perfecting the circuit. How could the software know it's doing good
> (area extimates?)? How would it know how to improve? A friend of mine
> once fiddled a bit with genetic programming, I could start from there.
Autorouting is a rather interesting problem. Many Ph.D. theses have
been, and probably still will, be written on the topic. Maybe it will
be your thesis! I couldn't find the link I was looking for, but
Here's one:
http://www.wand.net.nz/~amb33/toporouter/
Here's another:
http://intranet.cs.man.ac.uk/apt/projects/tools/mucs-pcb/
>> How do you know if the key is down or up?
>
> Well, it hopefully starts up. Then software keeps track of its position
> (a bool per key). It could be fooled, I'm not yet sure how easily.
What if the key changes direction while on the contact?
>> Great! Let me know if you want to use any of the diykeyboard
>> resources; I can get you set up on the svn repository and/or the wiki.
>
> Sure! If anything, to make that "Keybed Action" image on the wiki a
> bit smaller :p
fixed it.
> By the way, are there good Janko notations out there?
I like the idea of Twinline Notation by Thomas Reed. I have tried
reading a Bach invention in Twinline, but until I have a Janko to play
on, there is too much cognitive dissonance mapping between a uniform
notation and a traditional keyboard layout to make it pay off. If you
want to discuss notations, the best place for that is the music
notation project's e-mail list. Last I checked, progress on music
notation had effectively stalled because they don't have anyone who
knows enough to hack on Lillypond.
Twinline:
http://musicnotation.org/musicnotations/2linesmajorthirdcompact.html
The last person who knew enough to hack alternative notations into
Lilypond, but has abandoned the project:
http://kelphead.org/chromatic/
Cheers,
Drew