Squeak Class Documentation category index | class index  
 
KlattSynthesizerPlugin
  category: VMConstruction-Plugins
  superclass: InterpreterPlugin
  subclasses:

This is a pluggable primitive implementation of the KlattSynthesizer.

instance methods
  primitives
  primitiveSynthesizeFrameIntoStartingAt

  private
  checkedFloatPtrOf:
checkedShortPtrOf:
loadFrom:
saveTo:

  processing
  cascadeBranch:
linearFromdB:
nextRandom
parallelFrictionBranch:
parallelVoicedBranch:
setCurrentFrame:
synthesizeFrame:into:startingAt:

  processing-LF
  glottalSource
normalizeGlottalPulse
qu:phi:cosphi:sinphi:rphid:
ro:ra:rk:
zeroQphi:cosphi:sinphi:rphid:

  processing-voice
  addAmplitudeDiplophonia
addFlutter
addFrequencyDiplophonia
addJitter
addShimmer
pitchSynchronousReset
voicedPitchSynchronousReset

  resonators
  antiResonator:frequency:bandwidth:
antiResonator:value:
resonator:frequency:bandwidth:
resonator:frequency:bandwidth:gain:
resonator:value:
resonatorA:
resonatorA:put:
resonatorB:
resonatorB:put:
resonatorC:
resonatorC:put:
resonatorP1:
resonatorP1:put:
resonatorP2:
resonatorP2:put:

class methods
  class initialization
  initialize

  translation
  declareCVarsIn:
moduleName

instance methods
  primitives top  
 

primitiveSynthesizeFrameIntoStartingAt


  private top  
 

checkedFloatPtrOf:

Return the first indexable word of oop which is assumed to be variableWordSubclass


 

checkedShortPtrOf:

Return the first indexable word of oop which is assumed to be variableWordSubclass


 

loadFrom:


 

saveTo:


  processing top  
 

cascadeBranch:

Cascade vocal tract, excited by laryngeal sources.
Nasal antiresonator, nasal resonator, tracheal antirresonator,
tracheal resonator, then formants F8, F7, F6, F5, F4, F3, F2, F1.


 

linearFromdB:


 

nextRandom

Answer a random number between 0 and 65535.


 

parallelFrictionBranch:

Friction-excited parallel vocal tract formants F6, F5, F4, F3, F2,
outputs added with alternating sign. Sound source for other
parallel resonators is friction plus first difference of
voicing waveform.


 

parallelVoicedBranch:

Voice-excited parallel vocal tract F1, F2, F3, F4, FNP and FTP.


 

setCurrentFrame:


 

synthesizeFrame:into:startingAt:


  processing-LF top  
 

glottalSource


 

normalizeGlottalPulse


 

qu:phi:cosphi:sinphi:rphid:


 

ro:ra:rk:


 

zeroQphi:cosphi:sinphi:rphid:


  processing-voice top  
 

addAmplitudeDiplophonia

Add diplophonia (bicyclic voice). Change voicing amplitude.


 

addFlutter

Add F0 flutter, as specified in:
'Analysis, synthesis and perception of voice quality variations among
female and male talkers' D.H. Klatt and L.C. Klatt JASA 87(2) February 1990.
Flutter is added by applying a quasi-random element constructed from three
slowly varying sine waves.


 

addFrequencyDiplophonia

Add diplophonia (bicyclic voice). Change F0.


 

addJitter

Add jitter (random F0 perturbation).


 

addShimmer

Add shimmer (random voicing amplitude perturbation).


 

pitchSynchronousReset


 

voicedPitchSynchronousReset


  resonators top  
 

antiResonator:frequency:bandwidth:

Set up an anti-resonator


 

antiResonator:value:


 

resonator:frequency:bandwidth:

Convert formant frequencies and bandwidth into
resonator difference equation coefficients.


 

resonator:frequency:bandwidth:gain:

Convert formant frequencies and bandwidth into
resonator difference equation coefficients.


 

resonator:value:


 

resonatorA:


 

resonatorA:put:


 

resonatorB:


 

resonatorB:put:


 

resonatorC:


 

resonatorC:put:


 

resonatorP1:


 

resonatorP1:put:


 

resonatorP2:


 

resonatorP2:put:


class methods
  class initialization top  
 

initialize


KlattSynthesizerPlugin initialize


  translation top  
 

declareCVarsIn:

Note: This method must be implemented by all subclasses to declare variables.


 

moduleName


KlattSynthesizerPlugin translateDoInlining: true