Synthesis Challenge: musique concrète tricky sounds

Hi all! I think it will be great to hear your perspective about this synthesis proposal.

On Pierre Schaeffer’s Solfege De L’objet Sonore first section after the prologue (the correlation between pitch and spectrum), examples are given about perfidious sounds and complex structured sounds.

perfidious sounds are those which variations on playback rate does not affect pitch accordingly, e.g. half of playback speed producing a whole tone downwards transposition (were octave below was expected):

complex structured sounds are those which are not strongly affected by bandpass filter, i.e. does not change their pitch and retain some fundamental characteristic (called by him mass) and they can be harmonic, inharmonic, pitched or noisy. For example, we can produce a clear melody when band pass filtering white and pink noise, but this is not exactly the case with complex structured sounds:

  • What are the possible synthesis recipes for producing the originals above ?
  • From a synthesis perspective, what are the limits of a sound being perfidious (“resistant to transposition”) and being transposable ?
  • From a synthesis perspective, what are the limits of a sound being complex structured (“resistant to filtering”) and being filterable ?

Schaeffer claims that sounds that are resistant to filtering are sensitive to transposition.

  • Are there examples were this is not the case ?
4 Likes

for the first question I suppose you could simply stack sines according to a geometric series i, i7/4,i(7/4)*(7/4) etc

divide by two and you get the same series * 7/8

{Mix.ar (20.collect({ |i| SinOsc.ar(25 * ( (7/4)**i) ) } ) ) }.play
{Mix.ar (20.collect({ |i| SinOsc.ar(50 * ( (7/4)**i) ) } ) ) }.play

his example is a lot more complex than this one but seems like a decent start point perhaps…

you can have an arbitrarily complex sound inside of each of these 7/4 ratio “octaves” and you’ll get the same paradoxical behavior on octave transposition. (or in this example 30/16)

{
	var cluster = 10.collect({ exprand(20,(20 * 15 / 16)) });
	var freq = 8.collect((30/16) ** _ * cluster).flat;
	var sig = Mix.ar( 
      SinOsc.ar(
		freq * LFPulse.ar(0.5).range(1,0.5),
		0,
        0.03
      )
    );
	sig
}.play

finally here’s an example that switches between 2 and 1.9 as the “octave size” you can hear how the halving of speed sounds different in each case

(
{
	var cluster = 10.collect({ rand(20,(20 * 15 / 16)) });
	var freq = 8.collect(LFPulse.kr(0.1).range(1.9,2) ** _ * cluster).flat;
	var sig = Mix.ar( SinOsc.ar(
		freq * LFPulse.ar(0.5).range(1,0.5)
		,0,0.03) );
	sig

}.play
)
6 Likes

@semiquaver thanks, great catch! Plus the partial application is resembling some funny ascii art *_* !

After experimenting with your code I guess for achieving Schaffer’s version it is just a matter of changing the sinusoids for a filtered sawtooth and doing some fine mods (chorusing, etc):

{Mix.ar(8.collect({ |i| BLowPass4.ar(LFSaw.ar(11.9 * ( (8.0625/4)**i) ) * 0.01, (25 * ( (6.125/4)**i))*11 ) } ) ) }.play

Was this idea used by other composers/artists ? Any famous piece using it ?

1 Like