The next version (5.1) of the Tones piano tuning simulator is available: Tuning Simulator Application
Most of the requests ask for have been more or less incorporated.
I have tested on my Mac and a PC. Remember that after downloading on a PC, the file needs to be renamed from "Tones.zip" to Tones.jar for it to execute by clicking. Also, Java needs to be installed.
Ryan, I can't made the sound continuous satisfactorily, or make it change pitch during the sounding period. That is too hard for me to do at present. There are however buttons to click to select a 1, 2, 3 or 4 second sustain time.
The notes can be selected by typing on the keyboard. The key assignment is as per your suggestion. The key names are indicated in single quotes next to the graphic of the key. When using the keyboard, the note sounds immediately you release the key. Another press, or mouse click, is required to deselect the note and then it is ready for the next sounding.
There are buttons, also with keyboard assignments, to simulate CM3, m3, M3, M6, octave, both up and down. The button is clicked, or key pressed, each time you want the next interval in the sequence. A 1 second sustain time seems to work well when using these sequences. I note also that you would like 4th and 5ths just as I write this. I can put those in later as well, but let me know what you think of it as it stands.
The size of the window is 1060 x 800. This should be small enough for any modern screen. The window cannot be resized unless I program it to be permanently smaller and then I have trouble fitting everything in.
Kees, you may press the space key to sound the selected notes.
I have introduced a kind of decay. It is only a simple linear decrease in intensity over a 4 second duration. Progressively, the higher partials decay with a steeper slope. It is great fun trying ways to make a more realistic piano sound, but in the end I think this application should concentrate more on hearing beats. A piano-like sound may be another application at some time.
The iH is still from the Young's model. The values themselves were derived from a real piano, but smoothed with an exponential curve fit to make an ideal curve rather than one with arbitrary but real kinks and bumps.
Loading iH values from file, and indeed, file loading and saving tuning files themselves is something I had in the earlier versions but I tried to make this version simpler for now.
Jeff, the extra M6 beat rate bug is gone. Good picking.
See my notes to Kees about the iH curve. The ideal curve is simply scaled proportionally up or down to change the "amount" of iH. The piano-type is determined from the iH at A4 and does not try to change the shape of the curve for different piano types. The "amount" of change per click is larger, and the extreme limits greater, than the previous version. Perhaps what will be needed is a user customisable, loadable and saveable system, but I wanted to keep things simple.
Just for you, Jeff, I put in the D3 3rd partial frequency and it's beat rate with A4.
There was also a bug fix where D3's partials would be incorrect. I wonder if that is what BDB pick up on?
One problem I note on the PC I tested on is that there is a noticeable delay between selecting the note and having it sound. Please let me know how noticeable this is. I don't know how bad it is on other computers, and it is something I can't control at this stage. My Mac seemed to be ok.