New Projects - Fresh from the Labs
An ongoing fascination of mine has been with Synaesthesia: the crossing of senses, often leading to new and unique perceptions in the mind of the “Synaesthete”. This is particularly common among musicians (myself included) where individuals will “see” sound as color, possibly along with shapes, numbers, textures and so on. It seems that Jonas Wagner has the concept of linked sound and color quite firmly embedded in his own thoughts when it comes to his program Tiny Ear Trainer—an ear training program designed to teach you musical intervals with color association.
To quote the Web site: “Tiny Ear Trainer is a tiny piece of software that helps you recognize musical intervals. Tiny Ear Trainer is free/open-source software written for the GNU/Linux operating system.” According to the Web site, its features include:
Associates colors to intervals.
Features learning mode, which plays intervals together with color and name.
Plays harmonic or melodic intervals.
Uses fluidsynth/soundfonts for playback.
i386-based Debian and Ubuntu users are in luck as a .deb file is available at the Web site. For those using other systems, the obligatory source tarball has been provided, but thankfully, the library requirements are fairly modest and don't require anything particularly obscure for installation. The documentation says you need the following:
Python 2.6 (2.5 might work too and will require simplejson).
PyGTK >= 2.10.
A soundfont (fluid-soundfont-gm).
Once you have the needed libraries, download the latest tarball, extract it, and open either a terminal or a file manager inside the new folder. For those with a modern file manager like Nautlius or Dolphin, you can install Tiny Ear Trainer simply by clicking on the file install.sh, where you'll be prompted to enter a root password. For those with a minimalist system, or those who prefer the manual method, you can install it by entering the following command either as root or by using sudo:
# python setup.py install
Once the installation has finished, Tiny Ear Trainer should be in your system menu, or you can run it by entering:
Before going any further, I must warn you that Tiny Ear Trainer uses JACK. That's not a bad thing, but it can be tricky getting it to work for the uninitiated (experienced JACK users will have no trouble at all and can skip the next few paragraphs).
First, start JACK. Most people will be using the JACK Audio Connection Kit, which usually can be found in your menu as JACK Control, or you can run it from a terminal with the command qjackctl.
Now, click Start inside the GUI, and if you're lucky, it will start straightaway. But, I wasn't lucky. This was the first time I'd used JACK with this distro, and it came up with an error that I didn't understand until I looked further into it. You may encounter this too. JACK usually is set up by default to run in real time, generally coupled with a real-time kernel. Real-time kernels crash constantly on my hardware, so that wasn't an option for me. In this case, my only real choice was to disable real time in the Settings tab in the Setup option.
Now that JACK is running, start Tiny Ear Trainer, and in the JACK Audio Connection Kit, click Connect on the bottom left, and open the Audio tab. In the left pane under Readable Clients/Output Ports is the client fluidsynth, and in the right pane under Writeable Clients/Input Ports is the client system. Click on fluidsynth on the left and system on the right, and then click the Connect button on the bottom left, and you should be good to go.
Back over to Tiny Ear Trainer—the program will be sitting idly with a blank screen (presumably so you can connect to JACK in the meantime) until you click the Play button. When you do, several notes will play in a randomly chosen interval (for instance, a minor third), and when the notes are over, it will tell you what was played along with a colored background. This builds your association between sound and color, as well as trains your ear to intervals.
Now, let's take a look at the Preferences screen. Two default soundfonts usually are provided for you under /usr/share/sounds/sf2, but if you don't like these soundfonts, don't have any or want to change the instrument (a guitar springs to mind), you can change the soundfont with the Soundfont option at the top. The next option, Learning Mode, is equally important. Learning Mode plays the sound with the color at the same time (instead of a black screen), so you can learn it now and test yourself later.
From here onward, the options start getting musical. You can choose whether notes are played together, which intervals to play from a long list, as well as the all important key in which they'll be played (with the default being the obvious C). I recommend starting off with Learning Mode with only several intervals selected, testing yourself on these, and then gradually adding more to the list.
I'm not sure if Synaesthesia is what Jonas really had in mind, or if he just happened to strike upon the same theme, but this is the first time I've come across what Synaesthetes always have seen in their minds being used practically. Of course, it all could backfire as some other Synaesthete shouts, “No, no, a major third is light green, damn you!”, but personally, I look forward to the inevitable color arguments with glee.
John Knight is the New Projects columnist for Linux Journal.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- SuperTuxKart 0.9.2 Released
- Doing for User Space What We Did for Kernel Space
- Parsing an RSS News Feed with a Bash Script
- Google's SwiftShader Released
- Rogue Wave Software's Zend Server
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide