Main Index
Spectral Index
File Formats

ONEFORM:
  GET
  PUT
  COMBINE

Technical

FORMANTS Group


CDP Logo

CDP ONEFORM (single-formant) Functions

(with Command Line Usage)

Operations with Single Formants

Work with a single formant-envelope selected at a specific time from an existing CDP formant file (.for). The success of these processes is highly dependent on the source.
GET
Extract formant-envelope at a specific time in an existing formant file
PUT
Impose the formant-envelope in a single-moment-formants datafile onto the sound in an analysis file
COMBINE
Generate a new sound from pitch information and a single-moment formant

Technical Discussion
Some terms it may be useful to revise
About Formants

ALSO SEE:
FORMANTS Group
Operations with formant data

Return to Main Index for the CDP System.
Return to Spectral Index


ONEFORM GET – Extract formant-envelope at a specific time in an existing formant file

Usage

oneform get informantfile.for 1-formantoutfile.for time

Parameters

informantfile – input formant data file made by FORMANTS GET. Its extension will be .for.
1f-outfile – a single-moment-formants datafile. Its extension will also be .for.
time – the time in seconds in the informantfile where the single-moment-formants are to be extracted.

(NB: We use .for rather than the more common .fmt because it is reserved by other non-CDP software.)

Understanding the ONEFORM GET Function

Note that the starting point for these procedures is an existing CDP formant file, as created with the CDP program, FORMANTS GET. There are various important options to understand when extracting formants. These options are explained within the GET FORMANTS section of the FORMANTS reference manual.

Here is a summary of the steps involved:

1. Analyse the soundfile (PVOC ANAL Mode 1, using the default parameters 1024 (FFTsize) : 3 (FFToverlap) – see the Technical Glossary)
2. Extract the formants, using an appropriate value for -p or -f (see above)
3. Determine the time at which there is a formant that you want to extract (see below)
4. Run ONEFORM GET, using this time
5. Run ONEFORM PUT, using the one-formant file and the analysis file, either in Mode 1 or Mode 2.
6. Audition the resulting analysis file to check the result
7. Convert to a soundfile with PVOC SYNTH

The spectrum of a sound has an overall contour. In speech, the contour of the spectrum determines the vowel that you hear, but all sounds will have a spectral contour of some kind. Often (as in speech) this spectral contour will change from moment to moment. This is what allows us to communicate with speech on a monotone where the pitch remains static but the spectral contour changes as we articulate the different vowels in our spoken communication. The spectral colouration (i.e., 'timbre') changes (with the different vowels) although the pitch of the sound remains the same.

The ONEFORM GET function allows the spectral colouration occuring at a specified time within a sound, to be extracted. This spectral colouration is referred to as the 'formant envelope'. What is extracted is the spectral complex making up the formant at this particular time-point – thus the expression 'single-moment-formant.'

Note that there needs to be a clear formant structure in the sound at the time at which the formant is extracted. One way to find the right time at which a formant occurs is to use FORMANTS SEE to convert a (CDP) formants file into a pseudo soundfile for viewing. Then you can zoom in on the peaks to get an accurate time. In VIEWSF you can zoom in – about 32 seems useful to see where the formants are. A time in the soundfile where there is NOT a clear formant is likely to result in a poor result in ONEFORM, such as a buzzy sound.

Here are some more suggestions about how to identify exactly where the formants are located.

  • Listen to the the sound and chose a time clearly within a vocal vowel sound, or within a clearly pitched area of an instrumental sound – but note that there may be no clearly defined formants in instrumental sounds.

  • In Sound Loom, go to CHOSEN FILES mode and get the analysis file. Then PROCESS > FORMANTS > get & view. Run this and save the resulting (pseudo-wav) file. On the Parameters Page for ONEFORM use the Sound View button to view and listen to the sound, or any part of it. When you think you have located a part of the sound with clear formants (e.g., a vocal vowel sound), you can mark the time on the graphic display with the mouse and output this (OUTPUT DATA) directly to the Parameters Page, where it will appear in the parameter box. (If the Sound View button is not there, it is because you have an earlier version of Sound Loom. In this case use the Sound View button on a different Parameter Page (e.g., PITCH:SPEED) to view the pseudo-wav file.)

  • In general, on the Sound Loom, many processes have a Sound View option, which calls up a graphic display of the sound from which it can be played, and on which times – or blocks of time, depending on which program you're running and what kind of data it needs – can be marked. When the data is output from the graphics, the corresponding parameter values are set automatically.

    Where a process needs a file (e.g. a breakpoint file, a set of times as in ZIGZAG, or a list of time-pairs (as in SFEDIT CUTMANY) then the Sound View button is found on the file-creation page you reach from Make File. Each Sound View is designed to output the appropriate data for the process you are running.

  • In Soundshaper, the most direct way of viewing the formants is to go to:
    Info > Spectral > Get+See Formants. The resulting pseudo-soundfile (ending in "vu.wav") is automatically displayed in VIEWSF.


  • It is probably important to note that many vowels in standard English are diphthongs, gliding between one vowel formation and another. For example in "about", the sound for "a" is reasonably constant, but the "ou" is really a glide from "a" to "oo". So, depending on where you sample inside the vowel, you will get a different result: an "a", an "oo" or something in between.

Vocal sounds have wide formant bands which are usually (not guaranteed to be always) detected by the formant extraction process. Synthetic tones have no formants, so the output of the formant extraction process will be junk. Instrumental tones may have extractable formants, but one may have to fiddle with the parameters to get a workable result.

Musical Applications

This function allows a formant-shape (the spectral content of a spoken vowel, or of any other sound) occuring at a specified time within a sound, to be extracted and used to shape the spectrum of another sound (using ONEFORM PUT).

Thus, for example, the vowel sound of 'ey' in the recorded text "here they are", could be extracted, and then used to shape another sound, imposing the vowel-colour of 'ey' on that other sound. The 'imposing' is done with ONEFORM PUT.

ALSO SEE: FORMANTS GET; and HILITE VOWELS, for another approach to colouration.

End of ONEFORM GET
Return to List of functions to work with single formants
Return to Main Index for the CDP System.
Return to Spectral Index


ONEFORM PUT – Impose the formant-envelope in a single-moment-formants datafile onto the sound in an analysis file

Usage

oneform put 1-2 inanalfile 1f-infile outanalfile [-llolim] [-hhighlim] [-ggain]

Modes

1  The single-moment-formant is imposed on the analysis file – i.e., added to the existing formants
2  Attempts to replace the existing formants in the analysis file with the single-moment-formants.

Parameters

inanalfile – input analysis file made with PVOC, on which the formants are to be imposed
1f-infile – input single-moment-formant datafile made with ONEFORM GET, which we will apply to the input analysis file
outanalfile – output analysis file generated
-llolim – low frequency limit: the spectrum is set to zero below this limit
-hhighlim – high frequency limit: the spectrum is set to zero above this limit
-ggain – overall gain on the output
lolim, hilim and gain can be set independently

Understanding the ONEFORM PUT Process

A fixed contour can be imposed on the spectrum of a sound, emphasising some frequency areas, and de-emphasizing (or even removing) others. This fixed spectral contour can be derived from a particular moment in another sound, using ONEFORM GET.

ONEFORM PUT applies this contour to the whole sound, acting like a static graphic-equaliser on the whole sound. As with all filtering processes, it will only be effective if the target sound has something to be filtered. e.g., if you use the imposed formant-shape on a very narrow bandwidth signal, you may hear no effect (except a change in level). Broadband signals (noisy sounds, for example) will tend to give the best results.

Musical Applications

This function allows a formant-shape (the spectral shape of a spoken vowel, or of any other sound) extracted from some other sound (using ONEFORM GET) to be used to change the spectrum of another sound.

Thus, for example, the vowel sound of 'ey' in the recorded text "here they are", could be extracted, and then used to shape a target sound, imposing the vowel-colour of 'ey' on that other sound.

The difference between the two modes is important. Because Mode 1 adds the single-moment to existing formants, the formant content becomes more complex, perhaps resulting in a buzzy sound. On the other hand, Mode 2 replaces existing formants with the single-moment formant, thus re-colouring the whole sound with that of the single-moment formant.

ALSO SEE: FORMANTS PUT

End of ONEFORM PUT
Return to List of functions to work with single formants
Return to Main Index for the CDP System.
Return to Spectral Index


ONEFORM COMBINE – Generate a new sound from pitch information and single-moment-formants data

Usage

oneform combine pitchfile 1f-infile outanalfile

Parameters

pitchfile – input (binary) pitchfile, containing (time-changing) pitch information: data file made with REPITCH GETPITCH (it will have the extension .frq)
1f-infile – input single-moment-formant file made by ONEFORM GET (it will have the extension .for)
outanalfile – output analysis file applying the single-moment-formant to the pitch contour in the pitch data file

Understanding the ONEFORM COMBINE Function

This function takes information about the spectral contour (or formant-shape) of a sound at a specific time, extracted using ONEFORM GET, and combines it with pitch-trajectory information (a plot of changing pitch extracted using REPITCH GETPITCH) possibly derived from a different sound. The result will be a sound having the same pitch-trajectory, and using the 'colour' of the formant-shape.

Musical Applications

This process may be used to create pitched, or pitch-changing events, using formant-shapes (e.g. vowel sounds from speech) extracted from a particular source. It is complementary to the processes which grab and extend FOFs, but works with (and outputs) analysis files, and operates in a different way.

ALSO SEE: COMBINE MAKE

End of ONEFORM COMBINE
Return to List of functions to work with single formants
Return to Main Index for the CDP System.
Return to Spectral Index


Technical Discussion on the use of single-moment formants

The point of working with only a single-moment-formant is that a specific sound, a specific spectral structure, can be imposed on or combined with another sound. As formants are resonance structures with specific timbral 'colour', the ONEFORM set can be described as a tonal colouration or synthesis tool.

Terms in the Technical Glossary that you may want to revise:

• FORMANTS
• PARTIALS
• SPECTRAL DOMAIN
• SPECTRAL ENVELOPE
• SPECTRUM
• TIMBRE
• ANALYSIS WINDOW

Last Updated 30 Oct 2021 -- HTML5 version
Documentation: Archer Endrich
Revisions: Robert Fraser
All observations & ideas for improvement appreciated
Composers Desktop Project
Email: composersdesktop@gmail.com
© Copyright 1998-2021 Archer Endrich & CDP