![]() |
|
![]() |
CDP can extract pitch data from the time-varying spectrum, if the sound is pitched (contains harmonic frequencies). Pitch files can then be manipulated in various ways, before being re-synthesised.
Pitch can be extracted either as a binary pitch file (.frq) or a breakpoint file (.pch or .brk), which can be altered visually in Soundshaper's Graph-Edit, given data reduction etc., and can also provide useful profiles for controlling other processes, such as changing the dynamic contour to match a rise and fall in pitch.
Breakpoint file of extracted pitch from three notes (A-G-F) of sung plainchant.
To re-sythesise sound, the pitch file must be combined with a formant file (.for using MakeSpec or one its variants. Formant files extract the time-varying spectral envelope of a sound see MORPH/FORMANTS). This can come from the same sound, whose pitch you have manipulated, or an entirely different sound. However, when combining pitch and formant data it's important to realise that:
- changes to pitch data will only succeed to the extent that the frequencies of the altered pitches are also present (i.e. strong or weak) in the formant file.
- the dynamic profile will be entirely that of the formant file.
It can often be useful to use a formant file taken from a noise-like sound, or one created from a mix of multiple transpositions, to ensure that the desired pitches are present at sufficient strength.
CONVERSIONS
- GetPitch extracts pitch from a spectral file (.ana) to binary pitch file (.frq). Soundshaper performs pitch extraction automatically in the background using current settings. SetGetPitch (menu Pitch | GetPitch) sets the values to be used where Soundshaper automatically extracts pitch. There are several optional parameters, but the default values work well. The HARMONICS parameter, which sets how many harmonics must be present to establish pitch (default 5), might need to be lowered in some cases.
GetPitchB extracts pitch to a breakpoint text data file (.pch or .brk). The available parameters are as for GetPitch, plus an extra parameter ERROR which sets a range of acceptable error in data reduction; the default value is 1/4 semitone. The breakpoint file can be fully edited in Graph-Edit to change pitch or timings. Data reduction can also be performed in CDP's BrkEdit editor.
- MakeSpec (CDP: make) combines a pitch file (.frq) with a formant file (.for) to create a spectral file that can be resynthesised back to sound (via PvocSynth). The success of this process depends on the presence in the formant file of the harmonics implied by the pitchfile's pitch: the amplitude of these harmonics in the formant file, at the time of the pitch in the pitch file, will determine the extent to which the pitch is heard in the combined file. (Make also appears in the Spectral Menu | Morph/Formants | Make Spectrum.)
- MakeSpec2 (CDP: make2) creates a spectral file by combining a pitch file (.frq) with a formant file (.for) and an envelope file (.evl) that has been extracted from a spectral file (using EnvAnal in Envelope | Extract).
- 1FmtCombine (SPECTRAL MENU) combines pitch and single-moment-formants data to make a new spectral file.
- PchToRatio is a Soundshaper function which converts a pitch breakpoint file (or any breakpoint file) to ratios of the initial pitch, to act as a pitch contour for transposition. (CDP's own transposition files (.trn) do not seem to view the data in this way.) The aim is that the varying pitch of one sound can be imposed on another sound, using Transpose or Speed.
- PchGen (CDP: repitch generate) generates a pitch file (.frq) from a time and MIDI-pitch data file, which can be edited in Graph-Edit. (CDP alternatively allows pitch to be specified by letter name (e.g. C, Eb, G#) followed by octave number (-5 to +5) where C0 is middle C (e.g. Db1). This format cannot be handled by Graph-Edit.) The function is potentially extremely useful for the purposes of imposing pitch, when combined with a suitable formant file, especially one from a sound rich in partials such as a gong or cymbal.
- PchVowels is similar to spectral Vowels which imposes vowel formants on a sound. PchVowels imposes vowels on a pitch file, creating artificial speech-like sounds. The vowels are specified by a custom vocabulary of abbreviations such as "a", "ee", "oa" etc. (For details, see CDP documentation.)
- PchSynth synthesises a pitch-changing but timbrally static spectrum from a pitchfile, according to a given set of weighted harmonics. This can be vocoded with another sound to give it some dynamic life.
PITCH-DATA PROCESSES
- PchApprox makes a randomly varied copy of a pitch file, within a specified range of up to 96 semitones, and with timing variations up to the length of the file. Several of these resynthesized and mixed should give a natural chorus effect.
- PchCut extracts a segment of a pitch file.
- PchExagg exaggerates the pitch contour. The interval from a (time-variable) mean pitch to the actual pitch is either stretched or shrunk, or both.
- PchInvert inverts the pitch contour around a given MIDI pitch. The choice is between mirror inversion, or using a mapping text file (in semitones) of intervals and their inversions. You can map intervals however you wish, including fractional (microtonal) MIDI values.
- PchQuant quantizes pitches in a pitch file. You supply a text datafile of quantized MIDI pitch values (possibly fractional) and the actual pitches are "snapped" (quantized) to the nearest of these values. No time-points are needed. This process matches some of the behaviour of "autotuning" programs, though not of course in real-time:
Extracted pitch quantized to exact MIDI values (from plainchant above)
- PchRand varies the pitch line randomly, with control over the pitch and time ranges and the slew: whether the upward range is more than the downwards, or vice-versa.
- PchShift is a simple constant-interval transposition of data in a pitch file.
- PchSmooth averages the pitch across the specified time-window and them interpolates from there to the next averaged time-frame. The mean pitch around which it is averaged is time-variable and could come from quantized pitch data
- PchVib adds vibrato to a pitch file.
- PchFix is a collection of pitch file utilities: Cut remove pitch between timepoints; Filter; Smooth onset errors and glitches; Force pitch to be some value at start/end; Interpolate through unpitched windows to produce pitch throughout.
SUPPORT FUNCTIONS
- PchInterp interpolates from one pitched area to the next, replacing noise or silence. There is a choice between gliding between the pitches or sustaining the old pitch until the new one appears (PchInterp2).
- PchInsil inserts silence into a pitch file.
- PchUnpitch inserts unpitched areas (zeros) into a pitch file (.frq).
- NoisetoSil / PitchToSil: NoisetoSil converts unpitched areas of a pitch file (noise) to silence. PitchToSil does the same to pitched areas.
- PchtoBrk and PtoBrk convert a pitch file into a pitch breakpoint file. PchtoBrk produces an outline of the pitch (quite sufficient for many purposes); PtoBrk is much more detailed and is really intended for use with the Pitch-Sync (PSOW) suite. (In Soundshaper it is built into the PSOW operations.)
- BrktoPch converts a pitch breakpoint file to a pitch file.
- Combine/CombineB: these convert and combine the various pitch file-types: .frq (pitch file), .trn (transposition), .pch/.brk (breakpoint). They can also be used to impose one pitch or transposition profile on another.
RETURN to top of page |