szk! | ableton live
archive,tag,tag-ableton-live,tag-19,ajax_leftright,page_not_loaded,,select-theme-ver-1.7,wpb-js-composer js-comp-ver-4.3.4,vc_responsive
  • Sort Blog:
  • All
  • Festival
  • Interaction
  • M4L
  • Minimalism
  • Music
  • Newsletter
  • Performance
  • Process
  • Tutorial

Exploring Steve Reich’s Piano Phase

Ten years ago I discovered the Steve Reich’s Piano Phase (1967), and since this moment this piece became for me a huge fascinating source of inspiration and reflexion about minimalism and music perception.

“In Piano Phase, their are two pianists beginning by playing a rapid twelve-note melodic figure over and over again in unison (E4 F4 B4 C5 D5 F4 E4 C5 B4 F4 D5 C5). After a while, one of the pianists begins to play his part slightly faster than the other. When he is playing the second note of the figure at the same time the other pianist is playing the first note, the two pianists play at the same tempo again. They are therefore playing notes at exactly the same time, but they are not the same notes as they were at the start of the piece. The process is repeated.”

Working recently on Max For Live devices I included the Steve Reich notes’s sequence into one of my patch dedicated to create midi loops. Here is a demonstration of how the device works and allows to explore the infinite Steve Reich’s piece sonic possibilities. If you never heard about Piano Phase, go watch and listen to the videos, hope it could become a great discover and inspiration for you too.


Exploring Piano Phase with the M4L Midi Loop Drawer device

Live performances on the web :

Special for this performance with dancers (Anne Teresa De Keersmaeker & Michele Anne de Mey)

Online ressources to explore the piece :

More about my device :



How to remote volume using dB values in Max For Live ? DB conversion to 0-to-1 linear value

I had this issue when creating a M4L patch to remote live set track’s volume. Troubleshooting of course, so it was a good occasion to speak a little more about this no-tricky-but-not-so-easy issue. Maybe useful ?

Observe / Remote volume track

You can check this controling live with Max tutorial and use this kind of patch to observe and set back a track volume :

The Live.Observer and Live.Object work with linear values between 0. and 1. My issue was to convert these values to « understandable » dB values for monitoring and setting back purposes.

Empirical observation

dB-by-dB variations of track volume, from -69 to +6 dB returned a step-by-step set of linear values from 0. to 1. and gave a function linear = f (dB)

Polynomial fit

Values of linear = f (dB) are used to fit different high-degrees polynomials. I just limited the use to 2nd and 3rd order polynomials to improve the CPU usage, considering that the resulting maximum ∆dB error nearly ± 0.5 dB is not so bad for my live sessions needs.

Polynomials are given below :

# 2nd degree

y = 2.07201247*(x*x)/10000 + 2.57503387*(x)/100 + 8.342259079/10

# 3rd degree

y = 2.027132923*(x*x*x)/1000000 + 3.987653083*(x*x)/10000 + 3.002900816*(x)/100 + 8.422843694/10


Figure below indicates the different fit compared to the empirical behaviour

# black : empirical monitored values | linear = f(dB)

# strawberry : 2nd degree polynomial | linear = p2(dB)

# orange : 3rd degree polynomial | linear = p3(dB)



Values for dB and linear given by the Live.Observer are downloadable below in .txt format for your own calculations if you need it.

Internet discussions and ressources

I found useful informations about this topic at these different places. Check it or die.

# Note

This post is dedicated to a quick discussion about the db-to-linear conversion. You can find related M4L patches and devices that I created here :