GUI author wanted

I’m really loving the Reel Time Tuning Analysis system (RTTA), and am getting by using a bunch of specialist batch files to instruct R to do the various things I want. EG:

d.bat, c.bat, Eb.bat, F.bat, Chromatic.bat, D 430.bat, D 455.bat, D 415.bat, Filtered Both Sides.bat, No Filtering.bat, Filtered One Side.bat, etc, etc. Haven’t even looked into Graeme’s move-the-slide function.

But I’d like much more flexibility, and I reckon a graphical user interface would be the way to get it, and wouldn’t be very hard to come up with. I might be forced to dust off my antiquated programming skills (anyone else remember machine-language programming on an 8080?), but I’m wondering if there’s anyone conversant with current Windows programming that might like to collaborate on it?

I can easily put together the brief, or indeed, we could all pool our ideas via this forum and make it a truly comprehensive and easier-to-use tool. Anyone with GUI-writing capabilities interested in serving the greater good of flutedom?

Terry

There is probably someone here in Seattle in the land off ScumSoft (what we call Bill’s little empire. This is what his employees also call it).

I used to program in “Toolbook” by Asymetrix , started by Paul Allen and still do as necessary. At one point a bagpiper friend of mine and I owned a software corporation called “PiperLogic” and we designed a tool to generate databases ready to use with our software, Toolbook and DbVista, a network database engine - essentially a bunch of callable DLL functions in the dbvista.dll. I stilll own the rights to this including end user distribution and amazingly everything still works in Windows Vista and much faster than Windows 95 on my old 486. But we never released it, getting shot out of the sky by ScumSoft’s coincidental release of their databasing tools. But for a moment there Asymetrix was intrigued by us before they devolved into early multimedia.

Thus I didn’t make any money during the high tech bubble of the 90s though I also contemplated creating such websites as “MyCatbox.com” where people could deposit their virtual feces into my online kitty litter for a modest fee (this was actually a friend’s idea - I just had the runs with it) and instead have spent the last decade drilling holes in wood. All of this is true.

Casey

I suppose I’ll have to do it. I’d always inteded to, but found the batch file system working so well I couldn’t see the point of a GUI. A GUI would be a bit like a flute that looks real pretty but doesn’t play any better. It’ll have to be in Java to stay in keeping with working on multiple platforms. And I actually have some experience programming in Java unlike R!

So what do you want it to do?
Cheers
Graeme

Excellent! OK, here’s a start. Other users might wish to horn in at this point with better ideas.

RTTA GUI SPECIFICATION

Imagine you have run Tartini, and exported the data to rtest.txt (or whatever). Ideally, the GUI would detect this automatically and spring into action. If not, you would go to the GUI, which could be left minimised when recording.

The GUI would have 4 tabs: Single Graph, Comparison Graph, SetUp (for rarely changed stuff) and Help.

Single Graph tab:

Reference Pitch [440]Hz (Range 380 to 470)

Scale: [Keyless] (Choices being Keyed or Keyless)

Key (for keyless only) [D] (choices being: A, B, Bb, C, D, Eb, E, F, G and piccolo)

Temperament [Equal] (choices being: Equal, Meantone, Just in key: [D])

Filtering type: [Both] (choices being: none, both sides, either side)

Reject notes differing by greater than: [5] cents

Retune: [Auto] (choices being: Auto, No, Best Fit)
Auto recalculates for nominated note = 0 cents, No leaves figures as recorded, Best Fit attempts to fit the result in the graph space provided. In all cases, the subsequent graph indicates what has happened, and what change of slide position would have been needed to achieve this (eg “Slide extended an extra 3.7mm”).

Retune Reference Note: [A] (any note from A to G#)

Produce Graph? [ OK ]

Once graph is viewed, choices continue:

Save or Back? [S]

Back takes you back to top of list to make some alteration to the graph parameters.
Save permits you to save with the following options:


Correct for drift? [Y] (looks for similar drift of pitch in all notes, corrects for and reports) (in case the flute wasn’t adequately warmed up, or the player inadvertently alters embouchure mid stream.)
Save Graph? [Y]
Save Processed data? (Needed for comparison graphs) [Y]
Save Tartini data? (To permit further analysis) [Y]
Run Syndromes Analysis? (To identify known syndromes) [Y]

Flute details

Maker: (eg R&R)
Serial: (eg 3176)
Model/Description: (eg Large Hole, B foot)
Slide extension: (e.g. 3mm)
Conditions: (e.g. Before retuning)
Take: (e.g. 2, the second attempt on this flute under these conditions)
Proposed File Name: [Maker+Model+Serial+Extn+Conditions+Take]

(eg R&R 3176 Large Hole, B foot 3mm Before Retuning Tk2.jpg)
(also applies to .txt file for raw data, .prd (?) for processed data and .xls for syndromes)
Data also appears on .jpg as the heading, along with relevant preferences and date.


Comparison tab:
(requires that .prc files exist for each flute or condition to be compared).

Some possible applications:
· Before and after a retuning, with possibly some steps along the way (before, during and after)
· Comparing flutes by two or more makers
· Flute eras compared, e.g. Nicholson vs Pratten.

Select flutes to be compared (window to select multiple .prd files, displays using R?)
View Graph? [Y]
Save Comparison Graph as <filename.jpg>

SetUp Tab

Default operating folders

Help Tab

Help on set up and choices; About for Version numbers & acknowledgements.

Terry

To my mind, the real value would be to add a (real-time) RTTA display to Tartini.

It shouldn’t be too hard to do. Tartini is open source, and the calculations behind the RTTA display are simple (relatively speaking). R is really overkill for what is being done.

I’d find useful a number of the suggestions by Terry. I particularly like the comparison tab, flute details, setup tab, and help tab ideas.

Also, I’d like to have a setting that would allow me to use a specific custom RTTA bat. file, or to set the same kinds of info. (My current .bat file is setup to create graphs of D pennywhistles and practice chanters. The main difference, if I remember correctly, is that it sets a different range of notes to be analyzed.)

Terry’s “correct for drift” idea is intriguing! That would be really useful, but might be a bear to program. With the practice chanters measurements I make, the pressure of my blowing makes a big difference in the pitch recorded. If I knowingly change the pressure during recording, I now have to stop and begin again.

Visual Basic is great for GUI Interfaces.

I originally thought of doing it in Visual Basic but that would make it Windows only so hence think Java might be a better bet. Actually I really don’t want to do this at all to be honest, but if we can’t get someone else to do it I’ll have to see what I can manage.

Cheers
Graeme

Indeed and that was my first thought way back when all this started. It would be great to have a single seamless application, and if anyone feels they can and should have a crack at reworking Tartini then they should speak up now before I monopolise any more of Graeme’s life!

But failing that, Graeme’s batch files have shown us how R can be used to achieve so much. A GUI would make that more seamless and even more comprehensive.

Terry

Hmmm, thanks azw for reminding us that there are other things than flutes in the world. My piccolo.bat would be the same as your Dwhistle.bat (or whatever you called it), but it reminds us that the GUI should not assume just flute pitches.

Terry’s “correct for drift” idea is intriguing! That would be really useful, but might be a bear to program. With the practice chanters measurements I make, the pressure of my blowing makes a big difference in the pitch recorded. If I knowingly change the pressure during recording, I now have to stop and begin again.

Again, thanks for that interesting reminder that things other than warming up can cause changes we should ideally detect and correct for. A sudden change of embouchure position on the flute would be analagous to your sudden pressure change. I don’t think it would be that hard to program, but if it proves to be, it might be necessary to leave it to being an enhancement.

I think players would be interested in seeing the drift reported on, even optionally as a graph against time. How long does it take my flute to settle down if I start playing cold. How far will it drift? Does a metal lined head make it more or less, longer or quicker. What about a metal flute or a delrin flute? Does a Guinness burp really cause a dip in my pitch?

Terry

To my mind, the real value would be to add a (real-time) RTTA display to Tartini.

I agree with this -

and while someone is doing this could they also figure out why Tartini records with glitchs on my MacBook while Audacity does just fine (using the internal mic).

Maybe I should look into it - problem is finding time. Anybody else using Tartini/RTTA on a Mac?

According to Tartini’s web site:
The same source code compiles on Linux, Windows and MacOSX so any coding should be useful to all users. Though could this be why the audio recording does not work well on OSX?

Bill

Bill

Maybe it’s because you’re double-Billing…

I do like puns…

but that was unintentional, but a good set up none the less.

Sorry, I’m on a Windows box.

I took a quick look at the source code and it seems incomplete to me,
but the developers made heavy use of Qt (which I don’t know) so maybe
I’m just missing something. It isn’t obvious to me what compiler is
expected, for example (GNU?).

The more I think about this the more I realise that I don’t want to spend any time on doing it. For my own use I’m more than happy with the non GUI version, so I’m retracting my earlier offer to do it. Sorry, but I’d rather spend the time playing music, etc. etc.

Ideally we should abandon using R and just get it added into Tartini.
Cheers
Graeme

No worries, Graeme, you’ve done enough already!

So, sounds like we’re ideally looking for someone conversant in C to work it into Tartini? Or do we knock up an external GUI in Visual Basic?

Terry

My programming skills are nil, so I asked my son to take a look at this post and he came up with PolygraphGui.r. I’ve sent it to Terry. I used it and a window pops up before you run the program and the window gives you some simple ways to change settings. If you like it, I’m sure my son would be willing to make some more changes if it’s not real complicated. He didn’t seem interested in working with Tartini.

Michael

Kids… :boggle:

This is really good and a big thanks to your son Wil for doing it. I’ll get it up on the website for downloading in the next day or so after Terry and I check it out a bit. But basically it uses built in GUI stuff from within R which I didn’t even know was available. Works on Windows/Mac etc. currently does pretty much what everyone wanted and I can tweak it to do more stuff.
Cheers
Graeme

No problem at all; at least, for me. I don’t know about my son. But I’d think it was no problem for him. He’s brilliant :smiley: when it comes to computer stuff; He’s got a degree in computer science/electrical engineering from
Duke University and he seems to donate his time to helping out with this kind of stuff quite a bit.

Michael