New Projects - Fresh from the Labs
This month, I'm covering projects I've wanted to showcase but have held off on due to space constraints. CountBeats is a cracker of a little application—it's simple, yet it covers such a need for so many musicians, so I'm proud to give it top billing here. To quote the README file:
This is a simple little program designed to help you determine the speed of a piece of music on the radio or on a CD.
To use it, just invoke the program from the command line. You'll be presented with a screen describing the program, a time-bar, and a few buttons. Most should be self-explanatory. Just start tapping the spacebar in time to the music...the tempo bar will update and show how many beats per second are being played.
First, there is a library you probably won't have installed: Tkinter. This was under the package name python-tk on my system, but it's worth looking in your local package manager for yours. The only other requirement seems to be a working version of Python 2.x onward.
Otherwise, installing this thing is a walk in the park. Simply download the 1K (!) tarball from the Web site, extract it, and open a terminal in the new folder. From here, run CountBeats simply by entering:
The README file did a pretty good job of explaining how it all works, but I can expand on it a little further. As soon as you have a song for which you want to find the BPM rate, start the program and press the spacebar in time with the music. The more times you do this, the more accurate the rating will be, so stick with it for a good minute or two. If you want to clear away previous readings and start again (perhaps when another song comes on), click Clear at the bottom-left corner.
Given the cumbersome nature of a spacebar, it's generally best if you track a song's quarter notes, as eighths or sixteenths may track a bit inaccurately. If you know your way around Python syntax (which I don't), you may want to change the key to something like Ctrl for faster music.
That small niggle aside, this is an invaluable tool for musicians. Many times I've been working on a project and forgotten to note what tempo a song was in, making tracking a nightmare at times. DJ-remixing types probably will use this most of all, as they can use it to gauge the speed of whatever songs they're piecing together and work out which samples will be compatible with each other. All in all, this is a brilliant tool that is simple to use and install, and it probably takes the prize for smallest file size of any project I've covered!
If you like minimalism and are chasing a tuning reference for your acoustic guitar, this may well be the project for you. I especially meant that minimalism part—the only info I could find on the project's Freshmeat entry was the following: “wxGuitar is a useful application that will easily help the novice guitarist to faster (and better) tune the guitar.” And, that's pretty much it—that's all the information I can find anywhere on the Net. But, maybe I can illuminate things a little here.
I couldn't find an actual home page for wxGuitar, so you have to make do with the files provided on the (brief) Freshmeat page. Source is provided, along with Debian and Gentoo packages. As far as libraries go, the INSTALL file says you'll need wxWidgets >= 2.8.10 (I had to install libwxbase2.8-dev), along with alsa-utils, including aplay. If you're running with the source, once you have the needed libraries, grab the latest tarball, extract it, and open a terminal in the new folder. Enter the following commands to compile wxGuitar:
$ ./configure $ make
If your distro supports sudo:
$ sudo make install
$ su # make install
Once wxGuitar is installed, you may have it in your system's menu, or you can run it with the command:
When you're inside the main screen, I think you'll find it rather straightforward. wxGuitar is very basic. Turn your speakers on and press any of the buttons on the left to play the corresponding note. The notes start from the highest note E string and go down to the lowest note E string. The second button is curiously marked H, but unless there's some kind of unique Eastern European scale I don't know about, logic dictates that should be a B string.
Press the button on the left for each string's note, and play the corresponding string on your own guitar as you fine-tune it. If you look on the bottom-left corner, there's a repeat option that will be set to every three seconds by default, which can be made longer or shorter if you so desire.
That's pretty much all there is to it. wxGuitar may not be complex (and if you're looking for a sophisticated tuning recognition program, you should look elsewhere), but if you want a minimalist program to tune by ear, this is probably for you.
John Knight is the New Projects columnist for Linux Journal.
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
|My Network Go-Bag||Aug 24, 2015|
|Doing Astronomy with Python||Aug 19, 2015|
|Build a “Virtual SuperComputer” with Process Virtualization||Aug 18, 2015|
|Firefox Security Exploit Targets Linux Users and Web Developers||Aug 17, 2015|
- A Project to Guarantee Better Security for Open-Source Projects
- Concerning Containers' Connections: on Docker Networking
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- My Network Go-Bag
- Firefox Security Exploit Targets Linux Users and Web Developers
- Doing Astronomy with Python
- Build a “Virtual SuperComputer” with Process Virtualization
- Three More Lessons
- diff -u: What's New in Kernel Development
- August 2015 Issue of Linux Journal: Programming