Happy September

A little life update:

Thanks to the efforts of Graham St-Laurent, ttuner has finally been ported to Android! It’s available on the google play store.

I had been hoping to do this port myself, but life got in the way, in the form of a new baby! Emiko was born in June, and, while being utterly awesome, is not exactly helping with taking on new programming tasks!

This fall, I’m going to be teaching a class at McGill University for the first time. I’ve filled in for a few days of this continuo class before, but this year I’m responsible for the whole thing! First day is tomorrow!

And finally, Sari and I are hard at work preparing for the RedOwl season. The first concert in our series is coming up in just over a month, and before that, we’ll be playing in the Sackville Early Music Festival.

Starting anew?

Time to get this web page back on its feet. I’ve upgraded wordpress again, and I’m ready to actually start posting things to it in the new year. Wish me luck!

WordPress upgrade

I upgraded wordpress again. Looks like it’s all working, but you never know with these things! Let me know if something’s broken.

I used a slightly different method for upgrading this time – I’m keeping a git repository, with one branch for the official versions, and another branch for my local changes (theme, plugins, and configuration). An upgrade just means switching to the official branch, wiping the old files, installing the new ones, committing the changes. Then I switch to the local branch, rebase on top of the new wordpress, and all my stuff appears magically on top of the old!

It’s rather overkill, since I don’t really have much of anything modified here beyond my custom theme and a single plugin, but it’s nice and quick! Also, keeping things in git means that there is an automatic backup, so if I break everything, as long as the .git directory stays intact, I can easily revert to the old one. I do with the database could be kept under the same control, but that gets a lot more complicated…

wp upgrade

Just a quick note that I upgraded wordpress. I don’t expect to see any problems, but you never know!

long time no see

Yes, it’s been a while. What have I been up to? Some gigs, some work, making some bread, tuning some harpsichords…

Work on ttuner has slowed down a little lately, since I’ve been busy with other things, but I’ve made a lot of progress on a GUI. This was a big task, since it involved rewriting everything in C++ (which also meant I had to learn C++). It does just about everything it used to, but I have a lot of cleaning up to do, and a few more things to add in – configuration files, keyboard shortcuts and so on – before another release. If you want to, the latest code is available at the git repository I’m using. On that note, I gave up on subversion, and switched to git. I heartily recommend it!

In other news, the Fredericton Baroque Music Festival will be happening June 6-8! We’re knee-deep in preparations for that. With four concerts and a masterclass and all the ensuing rehearsals and organization, there’s a lot to do!

Upgraded wordpress

I just upgraded to wp 2.5. So far so good! I’m very happy to see that it doesn’t mess with the html you enter like the old version did. I had resorted to hacking the php and then writing my own plugin to disable all the autoformatting. This seems to work well so far though! Let me know if anything goes funny.

ttuner 0.1.3

Yes, these releases are coming frequently. There was so little time between 0.1.2 and 0.1.3 that I wasn’t even able to update the web page in between!

The new version adds volume adjusting (with plus and minus keys) and pausing (with space bar) to the interactive mode. I found a pile of other bugs of course, too! There’s also a bit better information displayed when notes are playing, including a list of available key commands. I’ve also included a few different harmonics files which you can use with the -H option:

ttuner -h harmonics/simple_sine.harmonics

for example. They’re straightforward, but I hope they show how you can make your own files if you like.

As always, you can get it at the ttuner page.

ttuner .1.1

A quick bugfix to the original ttuner release. this version fixes:

  • Incorrect placement of dll files in the windows zip. You shouldn’t get any ‘missing dll’ error messages any more.
  • Corrections to Lehman and Sorge1758 temperaments
  • A few more messages output about usage – no more guessing what key should be used to quit the program!

As always, the latest version is available from my programming page.

EDIT:There’s also an ubuntu package now, so if you’re on that system, you don’t have to worry about compiling anything.

ttuner is released!

I’m very pleased to announce the initial release of ttuner (Temperament Tuner)! This is a piece of software I’ve written to help with tuning instruments – especially harpsichords, since that’s what I usually tune, but it’s very helpful for any instrument at all.

For the impatient, you can find the downloads in the ttuner page.

What makes ttuner different from most other tuning devices (both hardware and software) is the way that a temperament it loaded into the program. To begin with, most tuners are limited to equal temperament, and can’t tune other temperaments at all. Others, like the near-ubuquitous Korg have a few historical temperaments, but don’t let you modify them in any way. A small number of tuners let you enter your own custom temperaments to use, but this is usually done by specifying the deviation, in cents, from equal temperament, which really has nothing to do with how these temperaments are really constructed or used. As well, they usually only let you specify in units of one cent – there’s no way to make a note .2 cents higher, for example.

Enter ttuner! This program calculates temperaments in the same way you would if you were tuning by ear. Starting with a reference tone (a tuning fork, for example) intervals are specified as being pure, or tempered by fractions of commas. A = E means that there is a pure fifth between those two notes. For example, the common Valotti temperament is entered like this:

  • A = E-1/6P
  • E = B-1/6P
  • D = A-1/6P
  • G = D-1/6P
  • C = G-1/6P
  • F = C-1/6P
  • Bb = F
  • Eb = Bb
  • Ab = Eb
  • F# = B
  • C# = F#

For convenience, you can also specify a temperament as a series of cent deviations from equal temperament, but of course it’s not as good as specifying the intervals themselves! This flexible way of writing a temperament also means that there’s no problem specifying enharmonic notes – my standard meantone file, for example, has B = D# and G = Eb, so both those notes are generated.

Another benefit this program has over most others is the ability to specify different sets of harmonics in the audio output. Instead of the Korg’s nasty sound, you can combine different sine waves to make something that suits the instrument that you’re tuning to. There’s no real limit to the number of different partials the sound can have, as long as you have the processing power to generate them!

For now, the program is just a console application – there aren’t any pretty windows or anything like that for now. That said, it’s very easy to use. Just open up a console window, (in windows, go to the start menu, choose ‘run’ and enter ‘cmd’ into the box). Then change directory (using the ‘cd’ command) to the program location, and type the following:

ttuner -t <temperamentfilename>

I’ve included several temperament files in the package already, so, for example, to load the Valotti temperament I showed you above, enter this:

ttuner -t temperaments\valotti.temperament

The default setup will calculate the frequencies based on A=415Hz, but if you want to change this, just enter a new frequency on the commmand line:

ttuner -t temperaments\valotti.temperament -f 440

Other useful commandline options: -h for harmonics. A pure sine wave would be -h 1, and a simple sound with a few partials might be -h 8,4,2,1,.5. As you can see, you can use pretty much any number here. It just takes the relative strength of each partial to generate the total waveform.

There are several other commandline options you can use, but I won’t get into them yet. Proper documentation will be forthcoming! (that’s what they always say….)

Once the program starts, you can change notes using the comma and period keys, and jump octaves using ‘<‘ and ‘>’. Press q to quit.

New server!

So I finally moved redowl.ca to a new server. I got a dedicated machine at iWeb for a very good price through their clearance department. I’ve been toying with the idea for years now, but could never justify the cost, and didn’t want to get into the business of being a commercial webhosting company or anything. Redowl has been just hosted at home over a DSL connection for all this time (first appeared in 1996!)

The new server is called scallop. It replaces squid as general-purpose web and mail server, among other things. (My computers are all named after molluscs starting with the letter S – and no, that’s not the strangest naming convention I’ve heard of). It’s very nice to have better bandwidth – you might have noticed it already. The upload speed from the DSL connection here was never really good enough to run a server from, but the new one should be plenty for quite a while.

Beware – technical junk coming up.

Setting up the server itself was very simple – I’ve installed countless linux machines now, so getting the right packages installed and configured wasn’t any trouble. The difficult part was in switching things over from the old server to the new one. There are two main issues with a move like this: one is that right up until the move happens, the old server is still processing data and receiving mail. So if I just copy everything over and then switch servers, there’s a good chance that something would change on the old machine in between – those changes would then be lost. A thornier problem is that when you switch a machine from one place on the internet to another – in this case, moving the redowl.ca name from its old IP address with teksavvy (my ISP at home) to the one with iWeb – the change doesn’t happen instantly for everyone on the net. Even after switching, many computers might still try to contact the old server, just because they remember where it was and don’t check every time to see if it has moved. So I had to also set up some things on squid to say, for example, if any mail is received, it should be forwarded on to scallop, and not kept on squid.

Much to my astonishment, everything seems to have gone very smoothly. I only made one ridiculous mistake: When I made the switchover, I forgot to turn off fetchmail – a program that retrieves mail from my McGill account – so mail from that account kept arriving on squid instead of going to scallop! Luckily, I caught it before long, and it wouldn’t have affected any other users on the system. I just had to transfer a few messages manually to scallop.

So now I feel like a grown-up computer geek. I have my own little bundle of IP addresses and a real server in a datacentre. Feel free to suggest fun things to do with it!