A pitch for pitchy

I have been using a paid phone app that shall remain nameless for practicing outlining jazz chords on guitar. The app gives you the chords from a standard one at a time, and you play the intervals; the app marks each note completed as they are detected through the microphone. It works pretty well, but one thing I don’t like about it is that there are not that many built-in charts, and I really want to use it on the tunes I’m learning. The add-your-own-chords feature has been a todo list item since forever and I don’t see any new versions coming out, so I spent a weekend writing a clone in javascript.

I set out some silly requirements for this: 1) no build step and no libraries, because I don’t want to build my javascript, just vi on the server and go like the old days — or maybe cutting-edge “buildless” like the kids are doing these days; 2) host the entire thing in a single file (a bad idea honestly but I’m already committed to it); 3) let me just plop any old chord changes into a string variable, cutting-and-pasting them directly from lilypond source for the standard; 4) learn a little about signal processing and web audio.

It turns out that (single note) pitch detection is not so hard — I took more than a bit of inspiration from this medium post and accompanying demo code. For this application and with a good audio interface, you do not need to be spot on the frequency, just within the range of the target note (any octave will do).

Here it is, you can try it out yourself (the changes are for Scrapple from the Apple):

Blue Train

I forgot to mention in the previous post on On Green Dolphin Street that one reason I liked the song was due to a version on a Tito Puente compilation in which there is some stratospheric trumpet work. I used to play the horn but my embouchure atrophied years ago. Still, I love the sound of it, whether warm and sparse like Miles Davis or bright and blazing high like whoever was on this Puente record. Well, I finally looked it up, and it was Maynard Ferguson, so I guess that makes sense.

When I bought Blue Train on a whim some 25 years ago, I was expecting some great Coltrane solos, but I was not prepared for the brass section burning it up on this album. I’d later learn that Lee Morgan did all the fast trumpet lines on the title track, and I’d go on to listen to his other hard bop work. Blue Train is still a banger.

I transcribed the first three choruses so far and will probably get to the other two in the next week or so. There is also a complete transcription over on jazzomat in case you disagree with my choices.



I really like the second chorus a bit more than the fast but patternistic 3rd and 4th choruses. The final phrase has everything: a decent amount of chromaticism, while still outlining the chords really well with nice voice leading. It has an interesting rhythmic variation with the triplet figure moving a beat earlier in each subsequent measure. It has that great sounding 3 to b9 arpeggio over the vi7b9 which, okay, I understand it is a cliche, but I love this cliche.

Here I am playing along with the recording:

I still haven’t tried playing any of it on trumpet but someday I’ll give it a go.

On Green Dolphin Street

For the last month I’ve been working on and off on the transcription of Cannonball Adderly’s first chorus of On Green Dolphin Street. The phrasing is really nice in this solo. Adderly plays around a lot with the time feel, at times playing way behind the beat which made writing out the rhythms challenging. I don’t think I really nailed it but if you listen along to the recording you get the idea.


On the Sunny Side of the Street

The album Sonny Side Up, featuring both Sonny Stitt and Sonny Rollins, is fire, and Sonny Stitt’s chorus from On the Sunny Side of the Street is hard to beat. I’ve had this whole album on repeat for the last month or so and there’s not a bad track.

Dizzy Gillespie sings on “Sunny” and there’s a video of him playing it with Stitt:

On the recording, Stitt plays a bunch of rapid fire 16th note patterns over the bridge which makes it hard for me to play above 70% speed — good patterns worth incorporating into the practice routine. But the last A section is the high point, especially the emphasis on chromatic progression from the G7 to Am7 near the end. Here’s my transcription.

Hole in the sky

The path of totality of the April 8, 2024 eclipse just barely missed our house, so I did what any extremely normal person would do: booked a hotel 4 months in advance two hours west of here, pre-ordered a dozen eclipse glasses, and then took a day off of work to go watch it.

Totally (ahem) worth it.

Most folks in this area headed out to Niagara Falls, but I gambled on Kingston being less packed. I drove the boys out there the day before. We checked in, then spent a bit of time walking around the lakefront near a pop-up eclipse store selling eclipse merch and playing eclipse-themed songs — of course “Total Eclipse of the Heart” and “Eclipse” from Dark Side of the Moon were featured, but I feel like there were still others? We had dinner in the chainiest of chains because any other restaurant was booked the whole night.

The weather forecast was cloudy, but we still expected crowds so we took the bus to the park — an hour plus odyssey with a transfer to travel less than an unwalkable mile. It ruined public transportation for my children forever. But we arrived.

…to a swarm of bugs populating Fort Henry. If I could do one thing over, we would have packed bug spray. These insects did not bite but hovered, everywhere, presumably tasting badly as none of the local birds bothered reducing their numbers. We huddled face-down on the blanket for the first few hours. Then we bought some overpriced hamburgers, played a few lawn games, and swallowed some more bugs to pass the time.

Eventually the moment of first contact arrived, and the clouds rolled in, dense enough to make the eclipsing sun a blurry, barely visible, disappointing smudge as viewed through the glasses. Alex moaned about the unfairness of the universe.

Ten minutes in, the clouds thinned, and the universe was fair again. We had a spectacular view of the encroaching moon. “This is amazing; also, please don’t blind us!” ran my inner monologue. “It’s a pac-man!” enthused Sam.

As the sun narrowed to a sliver, the clouds showed up again and dimmed the sun. Then it got cold: jackets back on. Then it got a bit darker. The clouds abated once more. With just a minute more to go, Ian began chanting, “To-tal-i-ty! To-tal-i-ty! To-tal-i-ty!” The sun disappeared from view. And everyone began cheering.

We took off the glasses to see the hole in the sky. A ring of light, with red dots on the edges. We would read later that those dots were solar prominences, hundreds of thousands of miles long. Far larger than one’s own worries.

I wouldn’t call the experience life-altering, but it is hard to describe. Reflecting a month later, my mind’s eye is incapable of fully reconstructing the image, but my brain supplies the deep chime of a carillon to underline the feeling of awe.

The moon continued on its way and the lights came back on to more cheering. Ian exclaimed, “that was the best three minutes of my life!” Alex hugged me euphorically. Sam said, “okay, now let’s get on the bus and go back home.” And so we did.

Or we tried. The bus route was late, or changed, or cancelled, so we spent a few hours waiting and talking with other stranded folks, sun getting its revenge by burning our skin, until we all gradually gave up and Ubered back.



Going faster slowly

For a while I’ve been using Amazing Slow Downer on the phone and PlayItSlowly on Linux for transcribing fast passages and to practice playing along with a tempo that I can manage. However, I frequently would like to just repetitively play a section a boatload of times while gradually increasing the BPM — without taking my hands off the fretboard to adjust a slider. So I wrote a thing.


#!/bin/bash 
# play a segment of a song over and over, gradually
# increasing the tempo
file=$1
start=$2
end=$3
attempts=${4:-100}
start_speed=${5:-.5}
end_speed=${6:-1.0}

step=$(echo "scale=4; ($end_speed - $start_speed)/$attempts"| bc -l)

for t in $(seq $start_speed $step $end_speed); do
    echo "*** $t ***"
    mpv --no-video --start=$start --end=$end $file --o=/dev/stdout --of=ogg 2>/dev/null |
        gst-launch-1.0 fdsrc fd=0 ! decodebin ! pitch tempo="$t" ! autoaudiosink >/dev/null 2>&1
done

Run it like so:

# between seconds 40 and 95, run 20 steps between half and full speed
./speedy.sh billies_bounce.ogg 40 95 20 .5 1

It would probably be nicer if the increase was logarithmic so you take smaller steps the faster it gets, but this worked out pretty well so far.

It’s kind of ridiculous to use mpv to segment the stream, but I couldn’t find a way to do windowing with just gst-launch (gnonlin seems to no longer be a thing) so, anyway, it works.

All the things I did

A belated happy 2024!

Most of my blog visitors are just bots spamming it with SQL injection attacks so this one goes out to any humans left out there. My job has been sucked into the generative AI vortex so I now work in an AI group at Amazon. If you’re reading this after an LLM became sentient and began rampaging… bwahahah, oh man, we’re nowhere near that… unless of course you are an investor and then yes sir I can magic your problem away.

As both of my human readers will know, in 2023 I posted a lot of jazz transcriptions and videos of myself playing them badly. This was very intentional as I decided to stop marveling at how one could make up solos on the spot, and to take some steps to learn the trick myself. My last guitar teacher (Berklee-trained) was very scale oriented, and so my improv really sounded like I was playing scales: very linear, no chromaticism and quite boring. It turns out I had a lot of misconceptions about how one does the thing — as I discovered, chord tones work better than scales; transcribing licks and solos by ear is not cheating but actually foundational; approach tones are key to getting the bebop sound. Besides transcribing, sitting down and working out all the arpeggios on a tune in one position, and composing a couple of solos really felt like they gave me a good boost in my playing. So I’m going to keep this going into 2024.

As a reference point, here’s where I am starting this year, on All the Things You Are in which the first chorus is composed and second half-chorus is improvised. Maybe I’ll check in again in 12 months and see how I improve.

Remember

November was a month to remember: we had Remembrance Day, and Guy Fawkes day, and well, just a whole lot of remembering things. I have been listening to a lot of hard bop, so naturally, I learned Remember, the Hank Mobley version.


remember

Here’s take 1230912, post-workout edition, where I never could land that Ebm9 arpeggio in bar 49. I intentionally learned this in 5th position rather than 9th just to get some practice in a different area of the fretboard.

Invincible

So I haven’t posted a transcription for September or October nor have I done much of anything this month, because I had COVID officially for the first time. Unofficially, who knows, probably at least twice by now?

Someone needs to let BillG know the 5G has worn off at this point and we all need a refill… in 2-3 months time.

Anyway, I finally learned first couple of choruses of Bloomdido from my transcription and here I can be seen playing it not quite correctly so enjoy!