1.0.6 • Published 2 years ago

klatt-syn v1.0.6

Weekly downloads
1
License
MIT
Repository
github
Last release
2 years ago

KlattSyn - Klatt Formant Synthesizer

This is a redevelopment of the classic Klatt cascade-parallel formant synthesizer. The program code is written in TypeScript, which is compiled to JavaScript. It can run within a web browser or with Node.

This implementation of a Klatt synthesizer has been developed by Christian d'Heureuse in 2019 and is based on the following documents and source code:

Online demo: www.source-code.biz/klattSyn NPM package: klatt-syn GUI application: github.com/chdh/klatt-syn-app

A note on amplitudes

The meaning of amplitude parameters has changed in this implementation of the Klatt synthesizer.

Amplitude values in dB are always relative. In this implementation, we use positive dB values to amplify and negative dB values to attenuate a signal. 0 is used to pass a signal unchanged. -99 is used to mute a signal.

The original Klatt synthesizer used dB values in the range 0 to 87 for amplitude parameters. 0 was used to mute a signal. 57 was used to pass a signal unchanged.

Klatt (1980) states: "The amplitudes of the formant peaks generated by the parallel vocal tract model have been constrained such that, if A1 to A5 are all set to 60 dB, the transfer function will approximate that found in the cascade model." This is no longer the case.

The following table can be used to pragmatically map old values to new values for amplitude parameters in dB:

Old dBNew dB
8730
570
27-30
0-99

In addition, most amplitude parameter values where internally adjusted in the old source code. To find the corresponding new value, An adjustment value must be subtracted.

Old symbolLinear factorAdjustment dBParameter
AP0.05-26.0Aspiration amplitude
AF0.25-12.0Frication amplitude
AB0.05-26.0Parallel bypass amplitude
A10.4-8.0Parallel formant 1 amplitude (L1)
A20.15-16.5Parallel formant 2 amplitude (L2)
A30.06-24.4Parallel formant 3 amplitude (L3)
A40.04-28.0Parallel formant 4 amplitude (L4)
A50.022-33.2Parallel formant 5 amplitude (L5)
A60.03-30.5Parallel formant 6 amplitude (L6)
AN0.6-4.4Parallel nasal amplitude
1.0.6

2 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago