mirror of
https://github.com/thestk/stk
synced 2026-01-11 12:01:52 +00:00
45 lines
1.8 KiB
Plaintext
45 lines
1.8 KiB
Plaintext
This is eguitar by Gary Scavone, McGill University, 2012.
|
|
|
|
This is a program to create a simple electric guitar model using
|
|
the STK Guitar class. The is model is derived in part from an
|
|
implementation made by Nicholas Donaldson at McGill University in
|
|
2009. The distortion model is poor, using a simple soft-clipping
|
|
expression provided by Charles R. Sullivan in "Extending the
|
|
Karplus-String Algorithm to Synthesize Electric Guitar Timbres with
|
|
Distortion and Feedback," Computer Music Journal, Vol.14 No.3, Fall
|
|
1990. Other distortion models would be better, such as that found
|
|
in Pakarinen and Yeh's "A Review of Digital Techniques for Modeling
|
|
Vacuum-Tube Guitar Amplifiers," Computer Music Journal, Vol 33
|
|
No. 2, Summer 2009.
|
|
|
|
This program performs simple voice management if all noteOn and
|
|
noteOff events are on channel 0. Otherwise, channel values > 0 are
|
|
mapped to specific string numbers. By default, the program creates
|
|
a 6-string guitar. If the normalized noteOn() velocity is < 0.2, a
|
|
string is undamped but not plucked (this is implemented in the
|
|
stk::Guitar class). Thus, you can lightly depress a key on a MIDI
|
|
keyboard and then experiment with string coupling.
|
|
|
|
The Tcl/Tk GUI allows you to experiment with various parameter
|
|
settings and that can be used in conjunction with a MIDI keyboard
|
|
as: wish < tcl/EGuitar.tcl | ./eguitar -or -ip -im 1
|
|
|
|
For the moment, this program does not support pitch bends.
|
|
|
|
In the eguitar directory, type:
|
|
|
|
> make
|
|
|
|
to compile and then
|
|
|
|
> ElectricGuitar.bat
|
|
|
|
to run the program with the Tcl/Tk GUI.
|
|
|
|
There are many improvements that could be made to this project. In
|
|
particular, you could record real body responses from different
|
|
guitars and use those with the Guitar class. As well, you could
|
|
improve the distortion model and perhaps add some typical electric
|
|
guitar effects, such as an echo. If you find any bugs, please let me
|
|
know!
|