Tuesday, July 20, 2010

Swahili

(January 20, 2010.) This morning, after leaving M's car to be worked on, I conversed with an INTP long-time slight acquaintance, who typically wears Moslem robes, while returning home by bus. He seated himself beside me, seemingly unawares.

After surprised greetings, observing him reading Latin and Arabic alphabetical writing, I asked politely, "What are you reading?"

He informed me, "Swahili", (the lingua franca of central East Africa).

I prompted him, "For long, I have wanted to learn Swahili. I just know one word: Uhuru."

Pleased, as I predicted, he said, "That means, 'Freedom!'"

I explained, "I have read the grammar is very interesting." He proceeded to teach, and from him, I learned:

Ni - I.
Ni na kula. - I am eating.
Ni na soma. - I am reading.
Ni da kula. - I will eat.
Ni li kula. - I ate.
Ni si na kula. - I am not eating.
Ni na kula chakula. - I am eating food.
Ni na kula chakula moto. - I am eating hot food.
Ni na kula chakula moto haraka. - I quickly am eating hot food.

Thus far, it follows Greenbergian word-order correlations, in that adverbs are placed on the same side of verbs, as adjectives are of nouns. (Here, both 'hot' and 'quickly' come afterward.)

More about Swahili and Word order.

I find it interesting, BTW, that we can communicate more easily with a fellow INTP, of limited English from Africa who is Moslem, than with a person from here, of some other Myers-Briggs type!

Copyright (c) 2010 Mark D. Blackwell.

Tuesday, June 29, 2010

Q2 radio

I discovered an all new-music classical radio station, Q2, from New York City! To listen, click.

It just came online October, 2009 (Internet only) and streams a nice 128Kbps. A playlist is available. It has New York Philharmonic commissions from 12 to 4 o'clock.

Copyright (c) 2010 Mark D. Blackwell.

Monday, March 15, 2010

Bach Well-Tempered Clavier in Bach-Lehman temperament

You might enjoy both books of Bach's Well-Tempered Clavier on harpsichord in Bach/Lehman 1722 temperament (from Bradley Lehman, A.Mus.D.), which feels to me like what Bach really used. You might like this temperament, too!

If there is an immediate emotional difference between the following two versions of Prelude in C major from Book I of The Well-Tempered Clavier by Bach then, good!

Bach in equal temperament

Bach in Bach-Lehman temperament

Otherwise, your MIDI setup is not right somehow. You shouldn't bother to download books I and II in their entirety.

Available zip formats:

the major keys (the order is F C G Bb D Eb Ab F# A C# B E)

the minor keys (the order is D A E G C B F Eb G# F# Bb C#)

To start playing after downloading, just open the folders, select all the MIDI files, and drag them en masse to a RealPlayer window.

Toward answering the question, 'Which keys sound brightest?' here the pieces in the Well-Tempered Clavier are in order of increasing 'brightness': the size of the tonic chord's major third, essentially, after dividing major keys from minor.

For sizes of major thirds and fifths in Bach-Lehman temperament, see this chart.

For the detailed sorting decisions, see 'readme.txt' inside the major and minor key zip files.

I tuned the MIDI files to Bach-Lehman temperament using the program, Scala.

(For this, it is essential to use good wave-table MIDI synthesizer software like the Microsoft GS Wavetable SW Synth (which is based on Roland wavetables). The Creative (SoundBlaster) SoundFont Synth and the QuickTime Music Synthesizer (at least on PC's) somehow blot out temperaments' emotional content, and thus they make meaningless this listening comparison.)

Alan Kennington and Yo Tomita have given me permission to reuse their MIDI realizations.

Copyright (c) 2010 Mark D. Blackwell.

Friday, February 19, 2010

Bach Contrapunctus (Art of Fugue)

I tuned to Bach-Lehman 1722 temperament a MIDI from the Mutopia Project using harpsichord of most of Bach's The Art of Fugue.

To hear, expand this zip file. Drag the files en masse to RealPlayer's window (for example), sort its playlist of movements (perhaps putting inversus before rectus), and enjoy!

Copyright (c) 2010 Mark D. Blackwell.

Tuesday, February 9, 2010

Goldberg Variations in Bach-Lehman tuning

I am listening excitedly to Bach's Goldberg Variations in G major (in a file I recently re-tuned) because they sound so good! They are now in the temperament used by Bach himself I believe, Bach-Lehman 1722.

I invite you to listen to:

Variation 25 - Andante espressivo

However, if you try the:

equal temperament version

I believe you shall hear significantly less beauty, even unpleasantness!

For this, it is essential to use some good wave-table MIDI synthesizer software like Microsoft GS Wavetable SW Synth which is based on Roland wavetables.

The Creative SoundBlaster SoundFont Synth and the QuickTime Music Synthesizer (at least on PC's) somehow blot out temperaments' emotional content, and they make this listening comparison meaningless.

Sometime, feast your ears and emotional system on the:

complete variations

on harpsichord, in Bach-Lehman 1722 temperament. (It may be better if you minimize the treble on your speakers or whatever. Credits:

Goldberg Variations - by J.S. Bach - BWV 988.
MIDI version by David J. Grossman, 1997.
Bach-Lehman 1722 temperament version by Mark D. Blackwell, 2010.

Interesting, from Mr. Grossman's website on the Art of MIDI: 'Listening to a clean sequence of a Bach work, it is possible for the mind to add [its] own interpretation[;] one is able to listen to the work in such a way that [one's] own realization of the work comes through.'

Following immediately at 1:09:21 are Bach's Fourteen Canons on the First Eight Notes of the Goldberg Ground in G major - BWV 1087, which sound better, interestingly, in

equal temperament.

More Bach from David J. Grossman.

(I have emailed David J. Grossman;, he granted permission for this use. His website states, 'All original material is copyrighted ©1999 (unpronounceable) Productions', and also states, 'All of these sequences were created with Cakewalk Pro Audio and are copyrighted ©1997. However, they are freely distributable and modif[i]able for any non-commercial purpose[,] as long as proper credit is given and the textual information in the files remains intact', and also states, 'The original MIDI sequences at this site [are] copyrighted by myself but may be modified and redistributed[,] if: I am asked permission first and have given it, I am given partial credit for my original work, and they are not sold. Redistribution of my sequences in their unmodified form is allowed without explicit permission as long as no money is charged for them.')

Copyright (c) 2010 Mark D. Blackwell.

Chopin mystery

Here is a puzzle, involving a short piece by Chopin: Etude No. 3 in E [major] (Op. 10)

realized by Katsuhiro Oguri.

(For this, it is essential to use good wave-table MIDI synthesizer software like the Microsoft GS Wavetable SW Synth (which is based on Roland wavetables). The Creative (SoundBlaster) SoundFont Synth and the QuickTime Music Synthesizer (at least on PC's) somehow blot out temperaments' emotional content, and thus they make meaningless this listening comparison.)

Etude No. 3, but different

The first was better, right? but just how is it different? That is your problem to solve, ladies and gentlemen!

Especially note the chromatic passage, starting at 1:50.

How is it different? In other words, what makes it better?

You will see the answer in a forthcoming post!

If you still cannot put your finger on it, here is another piece:

Impromptu in Gb [major] (Op. 51)

realized by Robert Finley.

Impromptu in Gb, but different

Especially note the passage (in Bb minor, I think), from 2:11 through 3:26.

(Thanks to the The Classical MIDI Collection for the original Chopin MIDI's.)

Copyright (c) 2010 Mark D. Blackwell.

Saturday, February 6, 2010

Thursday, February 4, 2010

Bach tuning vs. equal temperament

I am so enjoying this beautiful tuning! A commenter said, 'The difference this temperament makes[,] compared with equal temperament[,] is like unstopping your ears.'

Important especially for the fearful, as its video information says, 'the Bach/Lehman 1722... temperament sounds enough like equal [temperament] to fool just about anybody[.]'

Further, 'and yet...it brings both more intensity and more relaxation to the music...

'Equal temperament, by contrast, goes on and on with a relatively bland inoffensiveness...being less than inspiring, and encouraging "run-on"[,] uninflected performances... Why not tune instead with a subtle inequality, and let the intonation itself do part of the interpretive work?':



Copyright (c) 2010 Mark D. Blackwell.

Bach's Endlessly Rising Canon, using Shepard tones

Shepard tones are notes in multiple octaves, which fade appropriately so that, ultimately, motion goes nowhere: rather resembling a barber pole.

In Gödel, Escher, Bach: an Eternal Golden Braid, Douglas Hofstadter wrote they could be combined with Bach's 'Modulation' or 'Endlessly Rising' Canon (Canon a 2, per tonos: from The Musical Offering).

With existing musical instruments, this would seem difficult. However, just now on YouTube, I discovered Michael Monroe has (re-) created precisely this combination, using MIDI guitars (in 2008)—and, it's beautiful. :)

Fairly seamlessly, his ending connects through to its beginning, if the file is downloaded and the 'repeat' (or 'loop') option is selected (in one's choice of media player).

In case you missed it, the main musical link above is the word, 'combination'!

A more normal performance (or this one on Spotify) gives a subtly aesthetic experience, as well.

Copyright (c) 2010, 2014 Mark D. Blackwell.

Wednesday, January 27, 2010

Refactoring switch-code to objects, howto

Recently, I had an opportunity to suggest a refactoring of some switch-code (case-like statements) into objects. So... if the original source (in Ruby) were:

case condition_variable
when :condition_one
  # This condition requires the most lines to handle, let us say.
  <code for handling condition one>
when :condition_two
  <code>
when :condition_three
  <code>
end #case

The first increment of refactoring is as follows. See how it cleanly divides and documents the code for handling condition one? (An important part of refactoring-to-patterns is stopping when the ugliness no longer shouts!)

class ConditionOne
  def handle( <parameters for handling condition one> )
    <code for handling condition one>
  end #def
end #class
case condition_variable
when :condition_one
  ConditionOne.new().handle( <arguments>)
when :condition_two
  <code>
when :condition_three
  <code>
end #case

If later a need is felt to refactor conditions two and three, another increment of refactoring is:

condition = case condition_variable
when :condition_one
  ConditionOne.new( <arguments for condition one>)
when :condition_two
  ConditionTwo.new( <arguments for condition two>)
when :condition_three
  ConditionThree.new( <arguments for condition three>)
end #case
condition.handle()

Some further refactoring leads to:

i = [ :condition_one,
    :condition_two,
    :condition_three].
    index( condition_variable)
arguments = [ # For condition...
    [<arguments>], # one.
    [<arguments>], # two.
    [<arguments>]] # three.
condition = [
    ConditionOne,
    ConditionTwo,
    ConditionThree].at( i).new( arguments.at( i))
condition.handle()

If a need is felt, further refactoring could subclass a class called, Condition.

Actually, ConditionOne and its siblings want meaningful, specific names. See how this solves the problem of the code being too procedural?

Sources & further information:
AnalysisIsRefactoring
CaseStatementsConsideredHarmful
HistoryOfRefactoring
PolymorphismVsSelectionIdiom
RefactoringIsaRequirement
RefactoringToPatterns
RefactorLowHangingFruit
RefactorMercilessly
SafelyRefactoringLegacyCode
SwitchStatement
SwitchStatementsSmell
WhatIsaFactor
WhyDidYouRefactorThat
WhyNotEnoughRefactoringHappens

Copyright (c) 2010 Mark D. Blackwell.

Thursday, January 14, 2010

_why the lucky stiff

Suddenly I am struck with sadness for our loss of the highly creative _why the lucky stiff. (I discovered this while researching Ruby Shoes.) Not just in programming, but creative also in drawing and prose.

There is more here, here and here, and a cute sample of his early writing. Also, I found a _why-related, compilation blog post.

On last.fm, a radio station in his name contains some strange and intelligent things.

His June, 2009 talk on "Hackety Hack" at an ART && CODE Symposium shows his general aim of convincing others (besides his own creative work) to expand the learning opportunities available to children for programming. Perhaps this was the original basis for his pseudonym? Perhaps the reason for his disappearance was promotion: to generate large-scale publicity for this worthy cause.

Copyright (c) 2010 Mark D. Blackwell.