HITHER GATE MUSIC
HITHER GATE MUSIC
Goal: the long, slow descent of a full-bodied, slowly modulating sound.
The starting point can be any soundfile. It doesn't matter if the end result is poor because the point is to explore what happens with different types of input soundfile. The processing sequence is a template, an exploratory tool. It is used not only to produce good end results, but also to learn what kind of inputs work well with the given sequence.
The input should be mono, nicely dovetailed and reasonably short, such as between 1 and 4 seconds, because the RE-ENTRY process lengthens the sound considerably. The sequence can be realised one step at a time with a graphic interface or all at once with a batch file. A batch file is an MS-DOS mechanism which runs commands. It is a text file with a .bat extension. It contains a series of commands and explanatory comments introduced with the word rem. In the Sound Loom GUI, the processing sequence can be constructed as an Instrument.
I prefer to use a naming convention which indicates which processing function has been used. Thus, as a new sound grows, you can read the processing steps in the name itself.
Make a copy of the input soundfile, giving it a single letter name.
It is presumed that the input is mono and begins and ends smoothly, i.e., without a click or being suddenly cut off. We only have to name the outfile. The default values for the copy procedure are used. because no change to the format is being made, i.e., sampletype = 1, header = 0 and formatout = 0. The outfile name is specified. The .wav extension is added automatically.
Dialogue box:
Default parameters
New name is 'a.wav'Command:
rem function infile outfile
copysfx bashdt.wav a.wav
Reverse the soundfile so that it plays backwards
This is a very simple operation!
Dialogue box:
Only outfile name needed
Command:
rem function mode infile outfile
modify radical 1 a arPLAY ar.mp3 (reversed soundfile)
New name: 'a reverse'
Splice together the forward and backwards versions
There will sometimes be a dip in volume at the join. This could be overcome by overlapping the two sounds in a mix operation, but we are accepting a possible dip as part of this processing sequence. The command asks that the beginning and end be spliced to help smooth the result.
Dialogue box:
Select the files to splice
Command:
rem function infile infile [...] outfile splice_beginning splice_end
sfedit join a r arfb -b -ePLAY arfb.mp3 (spliced soundfiles)
New name: 'a reverse forward+backward'
Dovetail the ends of the spliced file
We find that mixing operations later on don't sound very good if the sounds cut off too suddenly. So here we put a fairly long slope on the end of the sound so that it ends smoothly. We use a linear (rather than exponential) slope to give a steady (rather than increasingly rapid) reduction in volume, for maximum smoothness.
Dialogue box:
Smooth end of file
Command:
rem function mode infile outfile start_slope end_slope start_type end_type
envel dovetail 1 arfb arfbdt 0.05 1.0 0 0Play arfbdt.mp3 (dovetailed soundfile)
New name: 'a reverse forward+backward dovetail'
Prepare spliced & dovetailed soundfile for spectral processing
The analysis operation uses the Fast Fourier Transform ('FFT') to create an 'analysis file', converting time amplitude data to frequency amplitude data. The Blur and Time-Stretch functions we will use next require this type of data input.
Dialogue box:
Convert to analysis data
Command:
rem function mode infile outfile
pvoc anal 1 arfbdt arfbdt.anaWe don't need to play this result because it sounds the same as the input it's just that the soundfile data is in a different format.
Blur across analysis windows & time-stretch 4 times; Re-synthesise
The Blur operation averages data values across a specified number of analysis windows. A window is an envelope-shaped group of analysis data frames. We won't resynthesise until after the Time-stretch operation but the interim analysis files can be played in Soundshaper by using F10. which calls pvplay.exe.
Dialogue box:
Blur analysis data
Command:
rem function mode infile outfile number-of-windows
blur blur arfbdt.ana arfbdtbl50.ana 50
Option to PLAY arfbdtbl50.ana with F10 before resynthesising (blurred and time-stretched soundfile)
New name: 'a reverse forward+backward dovetail blur'
Stretch the blurred analysis file to make it 2 times longer.
In this operation, we can imagine an image of the soundfile drawn on a rubber band. The rubber band is then stretched sideways until, in this case, it is four times longer. Just as in the visual image, each audio feature is extended, unfolding gradually.
Dialogue box:
Stretch file in time
We now take this ouput and time-stretch it again by a factor of 2. Time-stretching by only a factor of 2 each time maintains quality in the output. Large time-stretches can be a quick way to see what will happen, but may produce unwanted artefacts.
Command:
rem function mode infile outfile number-of-times
stretch time 1 arfbdtbl50.ana arfbdtbl50x2.ana 2
stretch time 1 arfbdtbl50x2.ana arfbdtbl50x4.ana 2
Option to PLAY arfbdtbl50x4.ana with F10 before resynthesising (blurred and time-stretched soundfile)
New name: 'a reverse forward+backward dovetail blur stretchx4'
Convert the time-stretched analysis file (.ana) to a soundfile (.mp3).
In the command, we don't have to add the .mp3 extension because this is done automatically by the CDP software.
Dialogue box:
Convert data to soundfile
Command:
rem function in_analysisfile out_soundfile pvoc synth arfbdtbl50x4.ana arfbdtbl50x4
Play arfbdtbl50x4.mp3 (blurred and time-stretched soundfile)
New name: 'a reverse forward+backward dovetail blur time-stretchx4'
Steady glide downwards. We will create two versions, to be mixed together later.
We make the sound glide downwards by a time-domain transposition which goes steadily downwards 1½ octaves over the whole duration of the sound. A second version goes down 2 octaves. The first column in the breakpoint file is the time (adjust end value to actual length of the soundfile) and the second column is the transposition in semitones ('-' for lower). Thus the transposition breakpoint files atvpch1.brk and atvpch2.brk read:
0 0 0 0 19 -18 19 -24Dialogue boxes:
Steady downward glide for 1½ octaves
Steady downward glide for 2 octaves
Command:
rem function mode infile outfile transposition_file
modify speed 2 arfbdtbl50x4 arfbdtbl50x4tv1 atvpch1.brk
modify speed 2 arfbdtbl50x4 arfbdtbl50x4tv2 atvpch2.brkPlay arfbdtbl50x4tv1.mp3 (glide down 1½ octaves)
Play arfbdtbl50x4tv2.mp3 (glide down 2 octaves)
New name: 'a reverse forward+backward dovetail blur time-stretchx4 time-varied-transposition'
Mix together the two downwards gliding files
To make the final sound fuller and with more internal changes, we will now mix together the two descending glides. As the goes down further than the other, when put together, the sound spreads out in pitch range.
The first mix just uses the two transposed versions, both starting at time 0. The mixfile aftv1-2a.mix sets this out:
soundfile starttime channels pan level arfbdtbl50x4tv1.mp3 0 1 -1 -0.9 arfbdtbl50x4tv2.mp3 0 1 1 0.9Notice how the level is reduced a little and the files are panned far left and right: the first file will come out of the left speaker, and the second out of the right.The second mix uses the same inputs but restarts them at 0.5 and 1.0 seconds respectively. The mixfile aftv1-2b.mix sets this out:
soundfile starttime channels pan level arfbdtbl50x4tv1.mp3 0 1 -1 0.9 arfbdtbl50x4tv2.mp3 0 1 1 0.9 arfbdtbl50x4tv1.mp3 0.5 1 -0.34 0.8 arfbdtbl50x4tv2.mp3 1 1 0.34 0.8Now the level is reduced a little more, and the pan is adjusted to fill the horizontal space evenly, the second set of files being placed closer to the centre (0).Dialogue boxes:
Mix two soundfiles
Mix four soundfiles
Command:
rem function mixfile outfile
submix mix aftv1-2a.mix arfbdtbl50x4tv1-2mixa
submix mix aftv1-2b.mix arfbdtbl50x4tv1-2mixbPlay arfbdtbl50x4tv1-2mixa.mp3 (mix 'a')
Play arfbdtbl50x4tv1-2mixb.mp3 (mix 'b')
New name: 'a reverse forward+backward dovetail blur time-stretchx4 time-varied-transposition mix'
Smooth end of second mix with a dovetail envelope edit
When we listen to arfbdtbl50x4tv1-2mixb.mp3, we find that it still ends rather abruptly, in spite of the dovetailing of arfb.mp3. So we will complete the processing sequence with a final dovetail.
Dialogue box:
Smooth end of file
Command:
rem function mode infile outfile start_slope end_slope start_type end_type
envel dovetail 1 arfbdtbl50x4tv1-2mixb arfbdtbl50x4tv1-2mixbdt 0.05 1.0 0 0Play arfbdtbl50x4tv1-2mixbdt.mp3 (dovetail of mix)
New name: 'a reverse forward+backward dovetail blur time-stretchx4 time-varying-transposition mix dovetail'
rem day1.bat - 'RE-ENTRY' - batch file using first set of programs rem Description: long slow modulating descent of a rich sonic complex rem Last updated: 27 Mar 2003 rem The source file should be about 2-4 sec. long, mono. rem Consider using a softsnd bat before or after this one. rem Sources (with comments on how it sounds after processing): rem aklcdp.wav (1.38 sec) - rhythmic element produces good changes rem bashdt.wav (1.5 sec) - attack works well rem frogcdt.wav (1.8 sec) - surprisingly good, with high-pitched rem sounds at end: becomes 2'10" long rem hoggdt.wav (3.7 sec) - lovely rich descent with extra high rem pitched component towards end rem tomcdt.wav (1.3 sec) - not so good, not enough to work on rem touccdt.wav (3.0 sec) - rich texture rem whdtm.wav (2.4 sec) - (whirling tube) only OK, not enough rem differentiation echo on rem Step 1. Copy to simple name copysfx bash.wav a.wav rem Step 2. Reverse modify radical 1 a ar rem Step 3. Splice forward & backward versions sfedit join a ar arfb -b -e rem Step 4. Dovetail end of the spliced file envel dovetail 1 arfb arfbdt 0.05 1.0 0 0 rem Step 5. Analyse the spliced & dovetailed file pvoc anal 1 arfbdt arfbdt.ana rem Step 6. Blur the spliced file blur blur arfbdt.ana arfbdtbl50.ana 50 rem Step 7a. Time-Stretch the blurred file 2 times stretch time 1 arfbdtbl50.ana arfbdtbl50x2.ana 2 rem Step 7b. Time-Stretch the blurred file 2 more times stretch time 1 arfbdtbl50x2.ana arfbdtbl50x4.ana 2 rem Step 8. Synthesise the 4x stretched file pvoc synth arfbdtbl50x4.ana arfbdtbl50x4 rem Step 9a. Time-varied transposition (glide down 18 semitones) modify speed 2 arfbdtbl50x4 arfbdtbl50x4tv1 atvpch1.brk rem Step 9b. Time-varied transposition (glide down 24 semitones) modify speed 2 arfbdtbl50x4 arfbdtbl50x4tv2 atvpch2.brk rem Step 10a. Mix the two transposed versions (spread at bottom) submix mix aftv1-2a.mix arfbdtbl50x4tv1-2mixa rem Step 10b. Mix the two transposed versions, with 2nd & 3rd later submix mix aftv1-2b.mix arfbdbl50x4ttv1-2mixb rem Step 11. Dovetail end of the final file envel dovetail 1 arfbdtbl50x4tv1-2mixb arfbdtbl50x4tv1-2mixbdt 0.05 1.0 0 0 echo off
Further fine-tuning of the result might typically include adding some reverb and directional movement (panning).
STEP |
PROCESS |
OUTPUT |
---|---|---|
Step 1. | Copy | a.mp3 |
Step 2. | Reverse | ar.mp3 |
Step 3. | Splice | arfb.mp3 |
Step 4. | Dovetail | arfbdt.mp3 |
Step 5. | Analyse | arfbdt.ana |
Step 6. | Blur | arfbdtbl50.ana |
Step 7. | Time-Stretch x 4 | arfbdtbl50x4.ana |
Step 8. | Resynthesise | arfbdtbl50x4.mp3 |
Step 9. | Transpose | arfbdtbl50x4tv1.mp3 arfbdtbl50x4tv2.mp3 |
Step 10. | Mix |
arfbdtbl50x4tv1-2mixa.mp3 arfbdtbl50x4tv1-2mixb.mp3 |
Step 11. | Dovetail | arfbdtbl50x4tv1-2mixbdt.mp3 |
(by Robert Fraser, March 2016)
The Soundshaper screenshots used in this tutorial are out of date in two respects:
To run the RE-ENTRY chain of CDP processes in Soundshaper: