Tempos for dancing and moving

If you jump gently in place like when dancing or at a rally, you’ll notice that there’s a tempo at which jumping is comfortable. Slower than that, you’d need to jump too high and it’s tiring. Faster than that, you . For me it’s about 160 bpm. The tempo will be similar for most people, because it does not depend on body size or weight, but only on how high you’re jumping.

So if you take a person whose natural response to rhythmical music is jumping, and you play them a beat in 113 bpm, they will be confused. They might try jumping and realize that they have to leap up about 20cm into the air and it’s exhausting. Double the tempo (226bpm) will be too fast, it would be more like shaking rather than jumping.

But there are also people who are more used to ballroom dancing, which is based on stepping rather than jumping. Normal walking would be around 60-115 steps per minute. Step-based dances tempos generally range from about 70 bpm till 135 bpm, or 140-270 steps per minute. This covers almost the entire circle. I have some experience dancing forró; tempos around 70 bpm would be for training, and for dancing are around 80-120 bpm.

There are people who like swaying. My natural tempo for swaying would be around 70 bpm. And the most “unswayable” tempo would be on the opposite side of the circle, around 100 bpm. I tried swaying at 100 bpm, I can kind of do it, but it feels forced, unnatural, and tiring.

I tried to map the most basic types of moving to the music onto the circle of tempos, and here’s what I came up with.

Please take the above with a pinch of salt, every person is different, and I’m sure there’s someone who jumps at 113 bpm and sways at 95 bpm. But overall, I think these are the general tendencies.

So when you are working on a new piece of music, you can use the above to have an idea what kind of moves will be the most comfortable when listening to your tune.

The Circle of Tempos

It’s similar to the Circle of Fifths, and relates to musical tempos, in beats per minute.

The Circle of Tempos. 12 notches equals doubling of halving the tempo.

Let’s see some examples of metric modulations, using a simple drum beat.

A “3 over 2” metric modulation

A”3 over 2″ metric modulation moves us approximately 210°, or 7 notches on the circle, to the right. For example, from 60 bpm to 90 bpm, or from 90 bpm to 135 bpm.

A “2 over 3” metric modulation

The “2 over 3” modulation slows the beat down, for example from 120 bpm to 80 bpm, or from 90 bpm to 60 bpm. It’s the reverse of the “3 over 2” modulation, moving us 210° to the left.

A “group of 3” metric modulation

This type of modulation moves us 150°, or 5 notches on the circle, to the right, for example from 60 bpm to 80 bpm, or from 90 bpm to 120 bpm.

The “5 over 4” modulation moves us approximately 4 notches to the right.

There’s math behind it, but I’m not going to bother you with it. You can work it out yourself. But that math tells us that a metric modulation to move just one notch is too complex to be practical. It would have to been something like a “16 over 15” or something silly like that. I can more or less do “3 over something”, and just barely “5 over something”. Similarly with jumping to the opposite side of the circle, 6 notches.

Type of modulationTempo change (approx)
groups of 3 (from 4)5 notches faster
3 over 27 notches faster
2 over 37 notches slower
5 over 44 notches faster
4 over 54 notches slower
6 over 53 notches faster
5 over 63 notches slower

Starting a new tune in the tempo you want

Metric modulations can be very useful when playing live. A common problem is when the band gets engrossed in one tempo, and it’s hard to break out of it. If left unchecked, the band might carry over tempo from one tune to the other.

If you’ve just finished a tune in 120 bpm and you want to start the next one in 80 bpm, you can do the “2 over 3” modulation in your mind and you’ll be in the vicinity of the tempo you wanted, without having to consult the metronome.

Running a standalone JACK daemon after migration to PipeWire

I’ve recently had a bunch of problems with my audio setup on Linux after the migration to PipeWire. Here’s a summary for those who might run into similar problems.

  • System: Debian testing
  • Audio interface: Steinberg UR44C

First, jackd would no longer start. I worked around it by compiling jack2. But that also stopped working: the output volume dropped to almost zero. So I tried the PipeWire compatibility layer. But then I couldn’t open 44.1kHz sessions, and the 48kHz sessions would glitch. In total, I was stuck for about three weeks.

After resolving all the issues, I’m using standalone jack daemon for audio work. I was under the impression that audio was often glitching when using PipeWire as backend. But I also experienced some of glitching when working with jackd, so my assessment might be wrong. It could be because of audio plugins, or something else entirely. I’ll give PipeWire a go again soon.

Problem 1: Can’t start jackd, RequestRelease is not implemented

This was the first problem I encountered and the last problem I solved.

The main error message was “Problems starting jackd: Method RequestRelease is not implemented”. Asking on Reddit helped, I finally found out that the fix is to configure PipeWire to not reserve audio devices:

properties {
    alsa.reserve = false
}

By default, there’s no configure file where you can put this line, so first you need to copy the example config into /etc and edit it:

sudo cp /usr/share/pipewire/media-session.d/alsa-monitor.conf \
    /etc/pipewire/media-session.d/alsa-monitor.conf
sudo vim /etc/pipewire/media-session.d/alsa-monitor.conf

Then find the line with “alsa.reserve” and set it to false (no quotes). Save the file, and restart the pipewire service.

systemctl --user restart pipewire

I think the error message should be more friendly, for example, if PipeWire won’t release the device, it should say so explicitly and point the user at instructions on how to disable the reservation.

Problem 2: pw-jack ardour can’t open a 44.1kHz project

Solution: pw-metadata -n settings 0 clock.force-rate 44100

This is when working with Ardour and PipeWire as backend. I tried to open an Ardour project in 44.1kHz, using PipeWire compatibility mode.

pw-jack /opt/Ardour-6.9.0/bin/ardour6 /path/to/my_project.ardour

Ardour would say:

This session was created with a sample rate of 44100 Hz, but Ardour is currently running at 48000 Hz. If you load this session, audio may be played at the wrong sample rate.

Ardour, early 21st century

If you type “pw-jack -h”, it will tell you that it accepts “-s” as a command line argument to set the sample rate, but in my experience this doesn’t work. I asked about it on Ardour forums, and found out the solution, which is to temporarily override the sample rate for the PipeWire daemon.

pw-metadata -n settings 0 clock.force-rate 44100

This can be done as a regular user. To return to the default, use a 0 instead of 44100.

Maybe the JACK compatibility layer in PipeWire is incomplete or buggy.

Problem 3: Locally compiled jackd is almost mute

Solution: Compile version 1.9.19 and not 1.9.17 (default).

Before I figured out the alsa.reserve = false thing, I was trying different things to run a standalone jackd. For example, I downloaded jack2 sources, compiled them, and got a locally built jackd which didn’t throw the “Method RequestRelease is not implemented” error. (Not sure why, maybe it just didn’t try to do the DBus negotiation. Maybe it simply opened the audio device.)

This worked for a time, but recently the locally compiled jackd would output audio at a very low volume. Ardour output meters would show a loud output, but I had to turn the headphone volume knob all the way to the right to hear a distant echo of my recording.

The UR44C audio interface doesn’t seem to have an ALSA volume control. If I run alsamixer, press F6 and select UR44C, I get “This sound device does not have any controls.”

After some trial and error I realized that the problems seems to be specific to jack2 version 1.9.17, which is currently the default (branch “develop” is set to the “v1.9.17” tag), but there’s also a version 1.9.19 on github, and this one, compiled locally, worked just fine. Unfortunately I didn’t get to the bottom of it.


I hope this helps, if anyone runs into the same problems. Drop me a line if you figured out any further details!

My recorded track won’t sync

In the pandemic times many people try online music collaboration, and most people run into track synchronization issues. They’d play the backing track on one device (say, laptop) and record on another (say, phone). The recorded track would for the love of Zeus not want to synchronize with the backing track, no matter how much they dragged it left or right. It’s baffling and frustrating.

What causes this? Using two unsynchronized clocks [devices] does.

And how to do it correctly? Use one clock [device]. Make sure that that the same device plays the backing track(s) and records your performance.

Examples of setups that work:

  • A Digital Audio Workstation on a laptop or PC
  • A multitrack app on the phone (wired headphones recommended)
  • An audio recorder with the overdub function

Examples of setups that don’t work:

  • Any situation when you listen from one device and record on another.

You might think that clocks run at a constant speed, but it isn’t true. You can see it for yourself. Take any recording, about 5 minutes long, and import it into your DAW. Then play it back, and record it on your phone. Then import the recording from the phone into your DAW.

It won’t align.

It won’t align no matter how much you drag it back and forth. Either the beginning is in sync and the ending isn’t, or vice versa.

You might get away with short recordings, up to maybe 1 minute or minute and a half. They will still drift, just not enough for the drift to be perceptible.

Let’s say this represents the backing track:

A sequence of evenly spaced vertical lines on square paper.
You can imagine that lines are bar lines, or beats. Musical time.

Then you record your track on top of it, and you hope that it looks like this:

A sequence of evenly spaced vertical lines, which do not align with the grid of the squared paper.
The lines are off grid. You could drag them a little to the left and they would align again. But…

But in reality, your recorded track looks like this:

A sequence of unevenly spaced vertical lines, which also do not align with the grid.
Look closely. Lines are not spaced evenly. Even worse, the number of lines is different!

Compare it to the original:

The unevenly spaced sequence drawn next to the evenly spaced sequence. Corresponding vertical lines (number 1, number 2 and so on) are connected to show that misalignment grows to the right.
Comparison with the backing track shows that vertical lines are increasingly off grid.

How to fix this? You can’t easily fix a track that has been recorded this way. You would need to cut it into pieces and align each piece individually. I wholeheartedly advise against it. You will never be 100% sure if you aligned each piece correctly. You’ll also destroy any subtle timing properties of the recording. Maybe the musician wanted this phrase to be slightly behind the beat? It’s best to record the track again, sorry.

The solution is to record audio on the same device that plays the backing track.

It’s a subtle problem. Minuscule differences in clock speeds accumulate over time. A 0.02% imperfection in clock speed will be perceptible in a recording. You might think I’m crazy or pedantic saying that clocks of our phones and laptops are that inaccurate. But they really are! We are used to phones and laptops showing accurate time, but this is only because they synchronize time over the network. The source of accurate time is a set of atomic clocks.

If my laptop’s or phone’s clock speed is wobbly, how is it possible to ever record anything in sync? When you’re using a single device for recording, it will still speed up and slow down, but both playback and recording speed up and slow down together, and don’t drift apart.

I hope this article sheds some light on the problem, and that you see how the root of the issue is based in basic physics. I also hope I convinced you that if you want to record, you need to invest some time into learning a simple DAW, or get an audio recorder with the overdub function.

Vem pro meu lounge – bass line transcript

Some two years ago, I was listening to a compilation of forró music on YouTube, and one bass line caught my attention. The song was Vem pro meu lounge by Wesley Safadão. Virtually everybody who heard my interest in the song’s bass line, mocked me for it. Apparently Safadão’s music is not held in high regard. But, I was truly impressed that such a rich and improvised bass line could make it into popular music. That could never happen in Europe.

Sadly, the original recording I worked with, has been taken down from YouTube. There is a number of live recordings of the song; they all sound quite close, but since Lourinho improvises the bass line, none of them will be an exact match (this one is quite close).

I’m not 100% sure who the bass player on this recording is, but it’s probably Guilherme Santana (instagram). The playing style matches closely other videos I’ve found online.

Vem_pro_meu_lounge-1
Vem_pro_meu_lounge-2

Here’s the bass line in the ABC notation for the future generations:

X:1
T:Vem pro meu lounge
L:1/16
Q:1/4=86.00
M:4/4
K:F#
V:1 bass nm="Bass guitar"
V:1
z8 z4 z2 C,,2 |"^intro" D,,8- D,,2A,,2 G,,F,,E,,C,, | D,,12 E,,4 | F,,16 | C,,16 | B,,,16 | %6
D,,8 .D,,.D,,2D,,/D,,/ .E,,.E,,2E,,/E,,/ | F,,16 | C,,8- C,,4- C,,2D,,C,, | %9
B,,,2 z2 B,,2C,2 D,2C,2B,,2A,,2 | G,,G,, z2 z4 z8 | B,,,B,,, z2 z4 z8 | F,,F,, z2 z4 z8 | %13
C,4 z2 F,G, B,A,G,F, D,2G,,2 || F,,G,, z2 F,G, z2 F,,G,, z2 G,F,D,C, | %15
B,,2<B,,,2 C,,D,,F,,G,, .B,,.B,, z B,,- B,,.B,, z C, | F,,4 C,D,F,D, .F,.F, z F, .E,.E,D,=D, | %17
C,D,D=D C.=A,,D,=D, C,.=E,,D,,=D,, C,,2=C,,2 | B,,,2>F,,2 G,,B,,G,,F,, B,,2<B,,,2 D,,=D,,C,,2 | %19
z2 F,,2E,,2D,,2 C,,2 z2 z4 | z16 | z8 z2 z C,, D,,F,,D,,C,, | %22
F,,2 z2 C,C,D,C, .F,.F, z (F, .E,)E,D,=D, | C,D,E,G, C=D,D=E ^ED,DD, CDA,D | %24
=A,D^A,D =A,DG,D F,2D,C, F,F,D,A,, | B,,B,,G,,G,, F,,G,,B,,B,,, z2 z C,, D,,F,,D,,C,, | %26
F,,2 z2 C,C,D,C, F,=A,,E,=E,, D,E,,=D, z | z C, z2 G,,A,,C,C,- C,C,A,,G,, C,,G,,C,,=D,, | %28
D,,2 z2 C,D, z C, D,.F,.D,A,, D,A,,C,F,, | B,,B,,G,, z F,,2B,,,2- B,,,2 z2 C,,D,,F,,G,, | %30
F,,2 z2 C,D,F,D, F,F,E,E, D,D,=D,D, | C,2 z2 B,,2C,2{/C,} D,2C,2B,,2A,,2 | %32
G,,G,, z2 z C,D,D, F,F,D,=D, C,B,,G,,F,, | B,,.B,,C,C, D,D,F,G,{A,} B, z A, z G,2.F,2 | %34
{/G,} A,CG, z F,2D,C, F,F,, z2 .E,,2.D,,2 | z C,,C,, z z G,,A,,C, z C,, z2 C,,D,,F,,D,, | %36
F,,G,, z2 F,G, z2 F,,G,, z2 G,F,D,C, | B,,B,,.G,,2 F,,2B,,,2- B,,,4 C,,D,,F,,D,, | %38
F,,2 z2 C,C,C,C, F,=E,,A,,E,, B,,E,,=C,E,, | C,G, z G, G,,G,,A,,G,, C,C,G,,2 C,G,,C,=C, | %40
B,,G,,F,,B,,,- B,,,F,,G,,B,, B,,,4 D,,=D,,C,,2 | z2 F,,2E,,2D,,2 C,,8 | %42
D,,2 z2 G,,A,, z C, D,F,.D,A,, D,A,,C,A,, | .B,,B,, z B,, D,2F,2 .B,,B,,.A,,A,, .B,,B,, z C,/D,/ | %44
F,.F, z F, z F,C,D, F,F, z F, E,E,D,=D, | C,D,G,A, B,A,G,F, E,D,C,A,, D,C,=A,,F,, | %46
D,,2 z2 G,,A,,C,A,, C,D,2A,, D,A,,C,G,, | B,,F, z F, F,,F,,G,,F,, B,,,2>C,,2 D,,F,,G,,D,, | %48
F,,2 z2 C,C,C,C, .F,2.E,2 D,A,,.=D,2 | C,C,A,, z G,,A,,C,2 z4 G,,A,,C,A,, | %50
C,D, z2 A,,A,, z C, D,F, z A,, D,A,,C,G,, | B,,B,, z B,, G,,F,,B,,,2- B,,,4 C,,D,,F,,G,, | %52
F,,2 z2 C,2 z C, z C,F,,2 F,,G,,D,=D, | C,2 z C, G,G,C,2 z C,G,G, C,G,C,2 | %54
D,2 z D, A,A,A,A, G,G,.F,2 .D,2.C,2 | B,,2 z2 F,,G,,B,,.B,, z2 .B,,B,,- B,,B,,G,,=G,, | %56
F,,2 z2 C,D,F,D, F,F,E,E, D,D,=D,D, | C,2 z C, A,,G,,E,,D,, z2 C,,2C,,2C,,2 | %58
D,,D,, z2 z4 z8 |] %59

The above should work with the online ABC editor.

Where to listen to jazz in Dublin

Two excellent places are JJ Smyths and Sweeney’s, but they are the most known ones, and there are many more that are also interesting. Here’s a few which I know first-hand:

  • Weekly Sunday jazz brunch with Stella Bass – starts every Sunday at 2pm. Vocals, piano, double bass and drums. Mainstream jazz, they take requests, but they won’t play Led Zeppelin (a friend tried). You’ll have more luck asking for an Ella Fitzgerald, Nina Simone or Roberta Flack song. The venue has superb acoustics.
  • Louis Stewart plays first Wednesday of the month in The House restaurant in Howth. It’s a guitar + double bass duo, sometimes joined by a sax player. It’s the best jazz guitar I heard in Ireland.
  • The Essential Big Band – I saw them when they played in Bleu Note on Capel Street (photo). These days they play in the Grainger’s pub on Malahide road on Mondays.
  • Monday Jazz jam session in The Grand Social – starts at 9pm, runs until midnight. It’s an open stage jam, so anything can happen. Acoustics are so-so.
  • Hot House Big Band plays in Bad Bob’s in Temple Bar, admission €5

There’s a jazz night in the Bello Bar on Sundays, but I haven’t been there yet.

There’s also the Bray Jazz Festival 2014 coming up on the bank holiday weekend in May.

UPDATE 2016-08-16: Mercantile is in Bad Bob’s now, Sweeney’s closed, and the jam session is on Mondays.

Choir with bass and drums, can it work?

I was wondering why some choirs, when touring with two-piece band, go for piano+drums, as opposed to bass+drums. Piano can play bass notes, but the piano+drums setup leaves the overall sound not as full as a dedicated bass instrument.

Any choir, when singing á capella, will drop in pitch over the course of a song. Even the brilliant Perpetuum Jazzile . Try playing along to e.g. Mas Que Nada, and you’ll see that they drop at least a semitone. It’s a gradual process over a few minutes, rather hard to spot by an unguided ear.

When there’s a piano or guitar playing with the choir, it’ll help the choir hold the pitch. I thought that bass guitar would do that as well. It sounded so good as an idea: you can have a piano trio or a guitar trio, with one main harmonic instrument and a rhythm section. Choir is a type of a harmonic instrument, so all it needs is a rhythm section! Therefore, bass+drums+choir should work great.

It turns out, this combination doesn’t work out. The bass guitar does not in practice help the choir hold the pitch. One explanation could be that it’s generally hard to hear the pitch of low notes. I tried to play higher notes, but it still didn’t help. The idea of a choir with a rhythm section doesn’t work.

UPDATE 2012-07-24: I got a good effect by playing chords in some parts of the song (somewhere up the neck) and bass notes elsewhere. For instance, I’d play chords in the verse, and bass notes in the chorus. It was effective.

The Fateful rehearsal

Can small events influence our lives at large?

It was spring 2000, in Warsaw, Poland. My band, whose members were professional level musicians, featured two vocals, a brass section and the basic quartet: drums, bass, piano, and guitar. Gigs were rather difficult to find, but the band played live every now and then. There was not enough work for the band to live, but too much for it to die. Considering the size of the band, and the relatively unpopular, at the time, music genre — acid jazz — it’s no wonder that gigs were difficult to get.

I was continuously working on music arrangements. The band had a brass section (trumpet and trombone, sometimes also a sax), so I was adding brass section parts to every song. It felt great to work on them, and experience the new air of songs boosted by the brass section.

The band played mostly covers, with the objective to have enough material to play gigs. In the meantime, I was working on original songs. While we already had five of them, getting new ones was a priority. We needed enough songs to record an EP.

This is where the fateful ‘single event’ comes up. We had a gig in a club, preceded by a rehearsal in the morning, as usual. I had just printed all parts for a new song, and was very excited about rehearsing the best song I ever wrote. We started the rehearsal by playing a few songs as a warm-up. Everything went fine. After the warm up, I handed out the parts of the new song. Band members studied the sheets for a while, and eventually nodded that they’re ready. I counted in, slowly, and the band started playing. Intro. First verse. It sounded great. Suddenly, something went wrong: one person missed a beat, another hit a wrong note. Whatever it was, the music stopped. It’s a normal occurrence at rehearsals. I thought nothing of it, and was just about to count in again, when somebody said that they don’t want to rehearse the song anymore. ‘Me too’, added somebody else. I looked around. People were looking at the floor, avoiding eye contact. They didn’t want to play it. I still wanted to rehearse this song, but it was no use to push for it. The rehearsal ended.

Excitement turned into frustration. Rehearsals continued, but the band never rehearsed this song again. Nobody asked about any new songs. I stopped writing brass sections, and stopped composing originals. The band got a few more gigs, but I had no motivation to drive it anymore. Wanting to get some rest from the band, I bought a book about programming and spent my vacation studying it. In the autumn, I applied for an undergraduate course in Computer Science, and my music career ended.

Was really the unfortunate rehearsal the beginning of the end of my band? Or would the band collapse anyway? It seems like a stupid question, unless I realize that it changed my life completely.

snd_intel8x0 doesn’t block anymore

Since upgrade to Ubuntu 6.06 (Dapper Drake) on my Amilo Pro V2000D, the sound doesn’t block anymore. It’s nice that all the applications can use the sound at the same time, even after switching the user — the other session is able to use the sound as well.

There is one thing that got worse after the upgrade: the sound skips sometimes. While listening to the musisc, it sometimes suddenly skips few seconds of the music. This is annoying, because then the music misses the beat and it’s destroying the pleasure of listening.

I noticed that it always (I think…) happens in the same moment: about 3 minutes 40 seconds of the song.

UPDATE: I think it’s more like 3:38. And it’s not ALSA, it Rhythmbox 0.9.5 that does that.