Skip to main content
edited body
Source Link
Dannyu NDos
  • 337
  • 1
  • 12

I'm planning to make my own virtual singer software, like Yamaha's Vocaloid. Contrary to Vocaloid which composes voice syllable-wise, my software should compose voice phoneme-wise.

As a consequence, I have to analyze the formants of all phonemes. Though technically there are infinite numbers of phonemes because my software must be able to produce phonemes of arbitrary languages, I have a workaround; see below.

I set [ə] as the neutral position, and let the other sounds driven by the following parameters. Though this is a crude model and doesn't reflect the actual sementicssemantics of acoustics, this model should be easy to implement.

The following parameters determine the vocal quality:

  • VOLume

  • PITch

  • Breath/Creak: Determines the glottal state. Voiceless ~ Breathy ~ Modal ~ Creaky ~ Glottal stop.

The following parameters determine the formants:

  • PHAryngealization: Determines the position of the tongue root. When set to maximum value, it is epiglottal stop.

  • NASalization: Determines the width of the velopharyngeal opening. When set to minimum value, it is an oral sound.

  • Front/Back: Determines the horizontal position of the tongue. When fully back, it is uvular stop.

  • Close/Open: Determines the vertical position of the tongue back and the jaw. When fully closed, it is dorsal stop.

  • CORonalization: Determines the vertical position of the tongue tip. When set to maximum value, it is coronal stop.

  • LATeralization: Determines the shape of the tongue. Also discriminates sibilant vs. non-sibilant.

  • JAW: Determines the horizontal position of the jaw. When set to maximum value, it is a labiodental consonant.

  • COMpression: Determines the closure of the lips. When set to maximum value, it is labial stop.

  • ROUnding: Determines the shape of the lips.

My plan to apply this model is, step-by-step (here only concerning vowels):

  1. Record voiceless versions of 'extreme' vowels, such as [ḁ], [i̥], and [u̥].

  2. Least-square-approximate their spectra with a linear combination of functions that models formants. I conjecture those functions to be the PDF of Kumaraswamy distribution.

  3. Interpolate the result to produce 'intermediate' vowels, such as [ə̥].

  4. Use resulting spectra as filters to produce voiced vowels.

TL;DR: But I'm unsure how many functions are needed to model formants. What is the maximum possible number of formants?

I'm planning to make my own virtual singer software, like Yamaha's Vocaloid. Contrary to Vocaloid which composes voice syllable-wise, my software should compose voice phoneme-wise.

As a consequence, I have to analyze the formants of all phonemes. Though technically there are infinite numbers of phonemes because my software must be able to produce phonemes of arbitrary languages, I have a workaround; see below.

I set [ə] as the neutral position, and let the other sounds driven by the following parameters. Though this is a crude model and doesn't reflect the actual sementics of acoustics, this model should be easy to implement.

The following parameters determine the vocal quality:

  • VOLume

  • PITch

  • Breath/Creak: Determines the glottal state. Voiceless ~ Breathy ~ Modal ~ Creaky ~ Glottal stop.

The following parameters determine the formants:

  • PHAryngealization: Determines the position of the tongue root. When set to maximum value, it is epiglottal stop.

  • NASalization: Determines the width of the velopharyngeal opening. When set to minimum value, it is an oral sound.

  • Front/Back: Determines the horizontal position of the tongue. When fully back, it is uvular stop.

  • Close/Open: Determines the vertical position of the tongue back and the jaw. When fully closed, it is dorsal stop.

  • CORonalization: Determines the vertical position of the tongue tip. When set to maximum value, it is coronal stop.

  • LATeralization: Determines the shape of the tongue. Also discriminates sibilant vs. non-sibilant.

  • JAW: Determines the horizontal position of the jaw. When set to maximum value, it is a labiodental consonant.

  • COMpression: Determines the closure of the lips. When set to maximum value, it is labial stop.

  • ROUnding: Determines the shape of the lips.

My plan to apply this model is, step-by-step (here only concerning vowels):

  1. Record voiceless versions of 'extreme' vowels, such as [ḁ], [i̥], and [u̥].

  2. Least-square-approximate their spectra with a linear combination of functions that models formants. I conjecture those functions to be the PDF of Kumaraswamy distribution.

  3. Interpolate the result to produce 'intermediate' vowels, such as [ə̥].

  4. Use resulting spectra as filters to produce voiced vowels.

TL;DR: But I'm unsure how many functions are needed to model formants. What is the maximum possible number of formants?

I'm planning to make my own virtual singer software, like Yamaha's Vocaloid. Contrary to Vocaloid which composes voice syllable-wise, my software should compose voice phoneme-wise.

As a consequence, I have to analyze the formants of all phonemes. Though technically there are infinite numbers of phonemes because my software must be able to produce phonemes of arbitrary languages, I have a workaround; see below.

I set [ə] as the neutral position, and let the other sounds driven by the following parameters. Though this is a crude model and doesn't reflect the actual semantics of acoustics, this model should be easy to implement.

The following parameters determine the vocal quality:

  • VOLume

  • PITch

  • Breath/Creak: Determines the glottal state. Voiceless ~ Breathy ~ Modal ~ Creaky ~ Glottal stop.

The following parameters determine the formants:

  • PHAryngealization: Determines the position of the tongue root. When set to maximum value, it is epiglottal stop.

  • NASalization: Determines the width of the velopharyngeal opening. When set to minimum value, it is an oral sound.

  • Front/Back: Determines the horizontal position of the tongue. When fully back, it is uvular stop.

  • Close/Open: Determines the vertical position of the tongue back and the jaw. When fully closed, it is dorsal stop.

  • CORonalization: Determines the vertical position of the tongue tip. When set to maximum value, it is coronal stop.

  • LATeralization: Determines the shape of the tongue. Also discriminates sibilant vs. non-sibilant.

  • JAW: Determines the horizontal position of the jaw. When set to maximum value, it is a labiodental consonant.

  • COMpression: Determines the closure of the lips. When set to maximum value, it is labial stop.

  • ROUnding: Determines the shape of the lips.

My plan to apply this model is, step-by-step (here only concerning vowels):

  1. Record voiceless versions of 'extreme' vowels, such as [ḁ], [i̥], and [u̥].

  2. Least-square-approximate their spectra with a linear combination of functions that models formants. I conjecture those functions to be the PDF of Kumaraswamy distribution.

  3. Interpolate the result to produce 'intermediate' vowels, such as [ə̥].

  4. Use resulting spectra as filters to produce voiced vowels.

TL;DR: But I'm unsure how many functions are needed to model formants. What is the maximum possible number of formants?

edited tags
Link
Dannyu NDos
  • 337
  • 1
  • 12
Source Link
Dannyu NDos
  • 337
  • 1
  • 12

What is the maximum possible number of formants?

I'm planning to make my own virtual singer software, like Yamaha's Vocaloid. Contrary to Vocaloid which composes voice syllable-wise, my software should compose voice phoneme-wise.

As a consequence, I have to analyze the formants of all phonemes. Though technically there are infinite numbers of phonemes because my software must be able to produce phonemes of arbitrary languages, I have a workaround; see below.

I set [ə] as the neutral position, and let the other sounds driven by the following parameters. Though this is a crude model and doesn't reflect the actual sementics of acoustics, this model should be easy to implement.

The following parameters determine the vocal quality:

  • VOLume

  • PITch

  • Breath/Creak: Determines the glottal state. Voiceless ~ Breathy ~ Modal ~ Creaky ~ Glottal stop.

The following parameters determine the formants:

  • PHAryngealization: Determines the position of the tongue root. When set to maximum value, it is epiglottal stop.

  • NASalization: Determines the width of the velopharyngeal opening. When set to minimum value, it is an oral sound.

  • Front/Back: Determines the horizontal position of the tongue. When fully back, it is uvular stop.

  • Close/Open: Determines the vertical position of the tongue back and the jaw. When fully closed, it is dorsal stop.

  • CORonalization: Determines the vertical position of the tongue tip. When set to maximum value, it is coronal stop.

  • LATeralization: Determines the shape of the tongue. Also discriminates sibilant vs. non-sibilant.

  • JAW: Determines the horizontal position of the jaw. When set to maximum value, it is a labiodental consonant.

  • COMpression: Determines the closure of the lips. When set to maximum value, it is labial stop.

  • ROUnding: Determines the shape of the lips.

My plan to apply this model is, step-by-step (here only concerning vowels):

  1. Record voiceless versions of 'extreme' vowels, such as [ḁ], [i̥], and [u̥].

  2. Least-square-approximate their spectra with a linear combination of functions that models formants. I conjecture those functions to be the PDF of Kumaraswamy distribution.

  3. Interpolate the result to produce 'intermediate' vowels, such as [ə̥].

  4. Use resulting spectra as filters to produce voiced vowels.

TL;DR: But I'm unsure how many functions are needed to model formants. What is the maximum possible number of formants?