# Interest in Sight Reading Software?



## giannifive (Feb 5, 2008)

I'm really terrible at sight reading but trying to improve. Being the nerdy computer geek that I am, I wrote some software to help. Basically, you give it a fretboard position, scale, and it generates a (semi-) random score for sight reading practice. The point is to avoid memorization, so as soon as you think you're starting to remember it, you can run the code again and get a freshly randomized score. It applies some restrictions on the randomness so the score is not too crazy (no huge intervals, etc.), and uses a variety of note lengths. I've attached four examples: two randomizations each of the key of C major in position 0, and B major in position 6. If you're interested in the software, let me know and I'll try to clean it up for public consumption. It's a simple Perl script that generates an input file for Lilypond (which is free software).

Cheers,
John

P.S. The current version assumes a 6 string, but I should be able to modify it for 7 string pretty easily.

EDIT: Hi again. I've modified and cleaned up the code for public consumption. It works for 7-string guitars now (actually, it'll work for any number of strings > 0), and almost any key (except pathological ones like B#), and tries to be smart about finding Lilypond on your system. It's known to work on Linux and Mac OS X. If you can get it to work on Windows please send me a patch. All you need is Perl and Lilypond installed for it to work. Download it, read the README, try it out, break it, fix it, etc. Have fun. You can find it at the bottom of this page:

[expletive deleted]

If you're a programmer and interested in adding new features, go right ahead. Send me a patch!


----------



## ElRay (Feb 5, 2008)

I'd definitely like to see the perl script. I've been wanting to script some lessons that I have in "coded" forms and print out real scores.

Ray


----------



## distressed_romeo (Feb 5, 2008)

This is a superb idea. I've made a huge amount of progress with programs for aural skills that work in a similar format, so I can see this being extremely useful.


----------



## OzzyC (Feb 5, 2008)

+1

Seven version, please.


----------



## giannifive (Feb 5, 2008)

Okay, cool. Looks like there's some interest. Give me a few days and hopefully I'll have it cleaned up with the 7-string stuff implemented. 

Note that it requires Lilypond to run, and currently runs on Linux and Mac OS X. Would any of you know how to port it to Windows? I don't have a Windows machine, but there apparently is a version of Lilypond for Windows.


----------



## Luan (Feb 5, 2008)

Man, I just can't believe.

I'VE BEEN WAITING FOR SOMEONE TO DO THIS FOR YEARS.
I had the idea of a program that setting x factors it could generate random notes, rhythms, etc.

Even if we still can't use it on windows, thanks a lot.
I have some ideas if you want to work on it, basically it would be cool if you could set:
The range
Which rhythms could appear
The key signature
Accidental alterations
The meter
The clef
Repetitions
Maybe chord charts? (Not 100% useful through..)

If you get a good program I will ask you to marry me 

Edit: Sight reading program - John Petrucci Forums
Silly answers though..


----------



## ElRay (Feb 6, 2008)

giannifive said:


> Note that it requires Lilypond to run, and currently runs on Linux and Mac OS X. Would any of you know how to port it to Windows? I don't have a Windows machine, but there apparently is a version of Lilypond for Windows.


There's Lilypond for Windows. There's also Perl for Windows. So, for the 'Doze folks, they will likely need to dowload and install two packages instead of one.

On a related note, do you use anything that's only in the latest version of Lilypond? I was waiting to update until Kevin Dalley (Kelphead) chromatic notation changes have been incorporated.

Ray


----------



## Mr. S (Feb 6, 2008)

i  you


----------



## giannifive (Feb 9, 2008)

since I added a link to download the code (see first post).


----------



## giannifive (Feb 9, 2008)

Luan said:


> Even if we still can't use it on windows, thanks a lot.
> I have some ideas if you want to work on it, basically it would be cool if you could set:
> The range
> Which rhythms could appear
> ...



Wow, that's a lot of requests. You set the range by giving the number of guitar strings and position. The note durations are variable (via the @durations array in the code itself), the key signature is an input flag. 

The other stuff I haven't done, though. It would be easy to change the time signature, but I haven't thought too much about the other stuff. Try it out and let me know what you think is the most important addition to make. I'm not making any promises, since I just write code for fun in my spare time, but I may add it if it's easy and/or useful to me.


----------



## giannifive (Feb 9, 2008)

ElRay said:


> On a related note, do you use anything that's only in the latest version of Lilypond? I was waiting to update until Kevin Dalley (Kelphead) chromatic notation changes have been incorporated.



I don't think I do, as it's just very simple Lilypond code. I did set the version tag, however, since it kept complaining otherwise.


----------



## Luan (Feb 9, 2008)

Love you man.
I'm downloading lilypond, didn't one about it, but where can I get perl for windows?
Thanks!!!!!!!!!!!!!!!!!!!!


----------



## giannifive (Feb 9, 2008)

Luan said:


> Love you man.
> I'm downloading lilypond, didn't one about it, but where can I get perl for windows?
> Thanks!!!!!!!!!!!!!!!!!!!!



It looks like you can get Perl for Windows here:

Get Perl - perl.org

But it may be tricky getting the Perl script to properly invoke Lilypond. I'm sorry but I don't have a Windows machine, and in fact the last time I used Windows was in 1999. If you (or someone else) can modify the script for Windows, please let me know. It should (I think) only involve changing the "system()" call near the bottom of the script.


----------



## daeavelwyn (Dec 3, 2012)

I'm really interested by this script but download link is dead (I know this post is a bit outdated, but the script still exists somewhere no ?)
So, if someone could send me the script it will be great !!
Thanks in advance for your reply to my message in a bottle


----------

