% VocalTract.sty
% Release version 1
%------------------------------------------------------------
% Vocal Tract Animation package for Latex:
% - for upper and lower respiration system
% - with Matlab Interoperability
%
%  Copyright:
%
%  This material is subject to the LaTeX Project Public License.
%  See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
%  for the details of that license.
%
%             Thermi, Greece, 13-03-2012
%-------------------------------------------------------------

% Required Packages
\usepackage{color}
\definecolor{pink}{rgb}{.7,.7,.7}

\usepackage{multimedia,multido,animate,fp}
\usepackage{pstricks,pst-coil}
\usepackage{arrayjob,ifthen}

% After fp
\usepackage[point]{fltpoint}


%%=====================================================
%%   Maeda Coordinates
%%=====================================================
\@ifundefined{SpeakVec}{
\newarray\SpeakVec
\readarray{SpeakVec}{%
%%========================================================================================
%% 1. Jaw Position     4. Tongue Apex     7. Larynx Height       10. Nasal Cavity
%%  2. Tongue Position  5. Lip Aperture    8. Glottal Aperture    11. Phoneme Label
%%   3. Tongue Shape     6. Lip Protrusion  9. Glottal Frequency
%%========================================================================================
%%  1       2     3       4      5      6     7    8     9    10      11
%% JW      TP    TS      TA     LA     LP    LH   GA    FX    NS
%%  3       3     3       3      3      3     3    3     3     3               Max
%%  0       0     0       0      0      0     0    0     0     0               Relax
%% -3       3    -3      -3     -3     -3    -3   -3    -3    -3              Min
%%========================================================================================
%------------------------------------------------------------        Vowels  -------------
 0.5    &-2    & 1    &-2     & 1  & -1    & 0  & 0  &  0  & 0  &i& % 1
 0.5    &-2    & 1    &-2     & 0  &  2    & 0  & 0  &  0  & 0  &y& % 2  (\"u)
  -1    &-1    & 1    &-2     & 1  & -0.5  & 0  & 0  &  0  & 0  &e& % 3
  -1    &-1    & 1    &-2     & 0  &  2    & 0  & 0  &  0  & 0  &2& % 4  (\"o)
-1.5    & 2.5  & 0    &-0.5   & 0  &  2    & 0  & 0  &  0  & 0  &E& % 5  (\"a)
-1.5    & 1.5  & 0    & 0.5   & 0.5& -0.5  & 0  & 0  &  0  & 0  &@& % 6  (Schwa)
-1.5    & 2.5  & 0    &-0.5   & 0.5& -0.5  & 0  & 0  &  0  & 0  &a& % 7
 0.5    & 2    & 1.5  &-2     &-1  &  1.5  & 0  & 0  &  0  & 0  &u& % 8
-0.4    & 3.0  & 1.5  & 0     &-0.3&  0    & 0  & 0  &  0  & 0  &o& % 9
%-------------------------------------------------------------------Unvoiced Cons.--------
   0    &  0   & 0    &  0    &-3  &  0    & 0  &-3  & -3  & -3 &p& % 10 % UPlosives
   0    & -0.5 &-1    &  2.3  & 0  &  0    & 0  &-3  & -3  & -3 &t& % 11
   0    & -1.5 & 3    & -3    & 0  &  0    & 0  &-3  & -3  & -3 &k& % 12
   2    &  1   & 0    &  0    &-1.5& -2    & 0  &-3  & -3  & -3 &f& % 13 % UFricatives
   2.5  &  0   & 0    &  0.4  & 0  &  0    & 0  &-3  & -3  & -3 &s& % 14
   0    & -1   & 3    & -3    & 0  &  0    & 0  &-3  & -3  & -3 &x& % 15
%----------------------------------------------------------------- Voiced Cons. --------
   0    &  0   & 0    &  0    &-3  &  0    &-1  & -1 &  0  & -3 &b& % 16 % VPlosives
   0    & -0.5 &-1    &  2.3  & 0  &  0    & 0  & -1 &  0  & -3 &d& % 17
   0    & -1.5 & 3    & -3    & 0  &  0    & 0  & -1 &  0  & -3 &g& % 18
   1    &  0   & 0    &  3    & 0  &  0    & 0  & -1 &  0  &  0 &r& % 19 % Rolled
   0    & -2   & 3    &  3    & 0  &  0    & 0  & -1 &  0  &  0 &l& % 20 % Lateral
   0    &  2.3 & 2.5  & -2    & 0  &  0    & 0  & -1 &  0  &  0 &R& % 21 % Approximants
   1    &  0   & 2    &  0    & 0  &  0    & 0  & -1 &  0  &  0 &j& % 22
   2    &  1   & 0    &  0    &-1.5& -2    & 0  & -1 &  0  &  0 &v& % 23 % VFricatives
   2.5  &  0   & 0    &  0.4  & 0  &  0    & 0  & -1 &  0  &  0 &z& % 24
   0    &  0   & 0    &  0    &-3  & -1    & 0  & -1 &  0  &  0 &m& % 25 % Nasals
   0.5  &  0   & 0    &  3    & 0  &  0    & 0  & -1 &  0  &  0 &n& % 26
}
\dataheight=11
\def\Nframes{27}
}{}
%--------------------------------------------------------------------------------------
% Maeda Loading Factors for
%                                       Tongue                                                                                 Larynx                                       Lips
%  A[i][0]     A[i][1]     A[i][2]     A[i][3]    s_tng[i]   u_tng[i    vtos[i].x   vtos[i].y   igd[i].x  igd[i].y  |    A_lrx[i][0,1]      s_rlx[i]      u_lrx[i]   |       A_lip[i][0,1,2]               s_lip[i]    u_lip[i]
%                                                                                                             10               11,12            13            14               15,16,17                       18           19
\newarray\AMaeda
\readarray{AMaeda}{%
 1.000000 &  0.000000 &  0.000000 &  0.000000 & 0.293351 & 1.105280 &  0        & 0        & 0         & 0         &  1.000000 & 0.000000 & 0.293351 &   1.105280 &  1.000000 &  0.000000 &  0.000000  & 0.293351 & 1.105280 &%
-0.464047 &  0.098776 & -0.251690 &  0.228351 & 0.317448 & 4.706277  &  0.980785 &-0.195090 & 10.634367 & 5.134503  & -0.208338 & 0.262446 & 0.440889 &   1.517271 &  0.178244 & -0.395733 &  0.888897  & 0.350522 & 1.301809 &%
-0.328015 &  0.337579 & -0.283667 &  0.568234 & 0.473761 & 4.775106  &  0.980785 &-0.195090 & 10.829458 & 6.115289  &  0.127814 & 0.991798 & 0.694961 & -10.051230 & -0.154638 &  0.987971 &  0.000000  & 1.053558 & 1.440946 &%
-0.213039 &  0.485565 & -0.283533 &  0.653696 & 1.052688 & 4.239388  &  0.980785 &-0.195090 & 11.024549 & 7.096074  & -0.131840 & 0.300784 & 0.470351 &   4.289589 & -0.217332 &  0.825187 & -0.303429  & 2.268359 & 4.880673 &%
-0.302565 &  0.705432 & -0.379044 &  0.392917 & 1.026836 & 3.695193 &  0.980785 &-0.195090 & 11.219639 & 8.076859  &  0.097688 & 0.934267 & 0.701163 & -10.207126 &  0        &  0        &  0         & 0        & 0        &%
-0.327806 &  0.786897 & -0.388116 &  0.245703 & 0.891888 & 3.722520  &  0.980785 &-0.195090 & 11.414729 & 9.057644  &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.325065 &  0.852409 & -0.285125 &  0.176843 & 0.830590 & 3.873289 &  0.980785 &-0.195090 & 11.609819 & 10.038429 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.325739 &  0.904725 & -0.142602 &  0.138558 & 0.777910 & 3.925084  &  0.980785 &-0.195090 & 11.804910 & 11.019215 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.313741 &  0.926339 &  0.021042 &  0.122976 & 0.773024 & 3.775744  &  0.980785 &-0.195090 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.288138 &  0.924019 &  0.131949 &  0.116762 & 0.757404 & 3.624036  &  1.000000 & 0.000000 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.249008 &  0.909585 &  0.250320 &  0.112433 & 0.734461 & 3.520446  &  0.980785 & 0.195090 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.196936 &  0.882236 &  0.369083 &  0.112396 & 0.706124 & 3.464362  &  0.923880 & 0.382684 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.128884 &  0.830243 &  0.499894 &  0.115700 & 0.674199 & 3.461033  &  0.831470 & 0.555570 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
-0.040825 &  0.730520 &  0.651662 &  0.112048 & 0.635628 & 3.515299  &  0.707107 & 0.707107 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.073420 &  0.543080 &  0.807947 &  0.126204 & 0.600972 & 3.637658  &  0.555570 & 0.831470 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.202726 &  0.230555 &  0.919065 &  0.163735 & 0.598000 & 3.829419  &  0.382684 & 0.923880 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.298853 & -0.162541 &  0.899074 &  0.213884 & 0.657375 & 4.083451  &  0.195090 & 0.980785 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.332785 & -0.491647 &  0.748869 &  0.243163 & 0.776293 & 4.365362  &  0.000000 & 1.000000 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.349955 & -0.681313 &  0.567615 &  0.245295 & 0.890489 & 4.618332  & -0.195090 & 0.980785 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.377277 & -0.771200 &  0.410502 &  0.249425 & 0.969776 & 4.823429  & -0.382684 & 0.923879 & 12.000000 & 12.000000 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.422713 & -0.804874 &  0.270513 &  0.274015 & 0.997716 & 4.905002  & -0.382684 & 0.923880 & 11.076120 & 11.617316 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.474635 & -0.797704 &  0.129324 &  0.314454 & 1.009611 & 4.802065  & -0.382684 & 0.923880 & 10.152241 & 11.234632 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.526087 & -0.746938 & -0.026201 &  0.366149 & 0.991273 & 4.581855  & -0.382684 & 0.923880 & 9.228361  & 10.851950 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.549466 & -0.643572 & -0.190005 &  0.422848 & 0.985804 & 4.317999  & -0.382684 & 0.923880 & 8.304482  & 10.469266 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.494200 & -0.504012 & -0.350434 &  0.488056 & 1.069908 & 4.076241  & -0.382683 & 0.923880 & 7.380602  & 10.086582 &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
 0.448797 & -0.417352 & -0.445410 &  0.500909 & 1.129032 & 3.856664  & -0.382684 & 0.923880 & 6.456723  & 9.703898  &  0        & 0        & 0        &   0        &  0        &  0        &  0         & 0        & 0        &%
}
\dataheight=19





%---------------------------------------------------------------------------------------
% Recall values from array
\def\RdVal#1#2#3{%
\dataheight=11
\checkSpeakVec(#2,#3)
\edef#1{\cachedata}}

\def\RdValM#1#2#3{%
\dataheight=19
\checkAMaeda(#2,#3)
\edef#1{\cachedata}}

% --  Tongue --     1      2        3     4   5    6   7
%               {\vtngCx}{\vtngCy}{\JW}{\TP}{\TS}{\TA}{3}
\def\TongDepolarLinSys#1#2#3#4#5#6#7{
% Maeda Linear Transformations by Factor Analysis
%         vA         vB         vC          vD
%1 = \ATongA*2 + \ATongB*3 + \ATongC*4 + \ATongD*5
\RdValM{\ATongA}{#7}{1}
\RdValM{\ATongB}{#7}{2}
\RdValM{\ATongC}{#7}{3}
\RdValM{\ATongD}{#7}{4}
\fpMul\vA{\ATongA}{#3}
\fpMul\vB{\ATongB}{#4}
\fpMul\vC{\ATongC}{#5}
\fpMul\vD{\ATongD}{#6}
\fpAdd\v\vA\vB
\fpAdd\v\v\vC
\fpAdd\v\v\vD
  %------ Depolarize --------
\RdValM{\stng}{#7}{5}
\RdValM{\utng}{#7}{6}
\RdValM{\vtosx}{#7}{7}
\RdValM{\vtosy}{#7}{8}
\RdValM{\igdx}{#7}{9}
\RdValM{\igdy}{#7}{10}
%
% Estimate v_tng[i] from v
\fpMul\vtng{\stng}{\v}
\fpAdd\vtng\vtng{\utng}
% Estimate x1 y1  from vtos[i].x  vtos[i].y  igd[i].x  igd[i].y
% x1
\fpMul{#1}\vtosx\vtng
\fpAdd{#1}{#1}{\igdx}
\fpSub{#1}{20}{#1} % Reverse orientation
% y1
\fpMul{#2}{\vtosy}\vtng
\fpAdd{#2}{#2}{\igdy}
% Tranform to Ververidis system
\LinMov2Verver{#1}{#2}
%\psdot(#1,#2)
}


%----- Larynx ---------
%1     i=1 (xFront) ,2 (yFront), 3(xBack),4(yBack)
%2.    v = A_lrx[i][0]*p[0] + A_lrx[i][1]*p[1]
%3.    v_lrx[i] = s_lrx[i]*v + u_lrx[i];         %
%
%                   1         2   3   4
%               {\vlrxXorY}{\JW}{\LH}{3}    % X are 2,4   Y are 3,5
\def\LrxDepolarLinSys#1#2#3#4{
% Maeda Linear Transformations by Factor Analysis
%         vA         vB
%1 = \ALrxA*2 + \ALrxB*3
\RdValM{\ALrxA}{#4}{11}
\RdValM{\ALrxB}{#4}{12}
\fpMul\vLA{\ALrxA}{#2}
\fpMul\vLB{\ALrxB}{#3}
\fpAdd\vL\vLA\vLB
%   %------ Depolarize --------
\RdValM{\slrx}{#4}{13}
\RdValM{\ulrx}{#4}{14}
%%
%% Estimate v_tng[i] from v
\fpMul#1{\slrx}{\vL}
\fpAdd#1#1{\ulrx}

%% if X then reverse
%% Tranform to Ververidis system
\def\dum{3}
\ifthenelse{#4=2 \or #4=4}
{\fpSub{#1}{8}{#1}\LinMov2Verver{#1}{\dum}}{\fpAdd{#1}{12}{#1}\LinMov2Verver{\dum}{#1}}
%\rput(3,#4){#1}
}


%-------- Lips -------
%                      JW                LA                LP
%1.  v =  A_lip[i][0]*p[0] + A_lip[i][1]*p[1] + A_lip[i][2]*p[2]
%2.  v_lip[i] = s_lip[i]*v + u_lip[i]        %
%
%                   1    2   3     4   5
%               {\vlip}{\JW}{\LA}{\LP}{3}
\def\LipDepolarLinSys#1#2#3#4#5{
%         vA         vB      vC
%1 = \ALipA*2 + \ALipB*3 +  \ALipC*4
\RdValM{\ALipA}{#5}{15}
\RdValM{\ALipB}{#5}{16}
\RdValM{\ALipC}{#5}{17}
\fpMul\vA{\ALipA}{#2}
\fpMul\vB{\ALipB}{#3}
\fpMul\vC{\ALipC}{#4}
\fpAdd\vLip\vA\vB
\fpAdd\vLip\vLip\vC
%   %------ Depolarize --------
\RdValM{\slip}{#5}{18}
\RdValM{\ulip}{#5}{19}
%%
%% Estimate v_tng[i] from v
\fpMul#1{\slip}{\vLip}
\fpAdd#1#1{\ulip}
%
%% if X then reverse
%% Tranform to Ververidis system
%\def\dum{3}
%\ifthenelse{#4=2 \or #4=4}
%{\fpSub{#1}{8}{#1}\LinMov2Verver{#1}{\dum}}{\fpAdd{#1}{12}{#1}\LinMov2Verver{\dum}{#1}}
%\rput(3,#5){#1}
}



%-------------- Transform to Ververidis Coordinates  --------
\def\LinMov2Verver#1#2{
% X
\fpSub{#1}{#1}{1.0465}
\fpDiv{#1}{#1}{13.1774}
\fpAdd{#1}{#1}{1.04}
% Y
\fpSub{#2}{#2}{1.8}
\fpDiv{#2}{#2}{12.3704}
\fpAdd{#2}{#2}{4.5}
}




%============= Breath Oscillation Params ====
\def\OscAmp{0}
\newcommand{\SetOscAmp}[2]{%
  \FPmul\OscAmp{#1}{0.314}
  \FPadd\OscAmp{\OscAmp}{1.57}
  \FPcos\OscAmp{\OscAmp}                 %     cos(i*2pi/20 + pi/2)/2
  \FPmul\OscAmp{\OscAmp}{#2}
  \UpdateRespOscillation    % For Breath
}


\def\VarOut{0}
\def\ScaledOsc{0}
\newcommand{\SetScaledOsc}[2]{%
 \FPmul{\ScaledOsc}{#1}{\OscAmp}
 \FPadd{#2}{\ScaledOsc}{#2}
}


%========== Upper Respiration Sustem Cords
%
% Nose - Esophagus (Static)
\def\NoseBaseX{2.325}      \def\NoseBaseY{6}
\def\NoseEdgeX{2.4375}     \def\NoseEdgeY{6.1}
\def\NoseBoneUpX{2.28}    \def\NoseBoneUpY{6.37}
\def\NoseBoneDownX{2.43} \def\NoseBoneDownY{6.15}
\def\NoseBoneInX{2.32}     \def\NoseBoneInY{6.2}
\def\NasalCavFrontX{2.175}  \def\NasalCavFrontY{6.4}
\def\NasalCavCeilX{1.8}   \def\NasalCavCeilY{6.5}
\def\NasalCavBackX{1.35}   \def\NasalCavBackY{6.4}
\def\NasalSphenoidUpX{1.35}    \def\NasalSphenoidUpY{6.3}
\def\NasalSphenoidDownX{1.275}  \def\NasalSphenoidDownY{6.2}
\def\NasalPortStaticUpX{1.07}    \def\NasalPortStaticUpY{5.7}    %1.05,5.7
\def\NasalPortStaticDownX{1.04}    \def\NasalPortStaticDownY{5.55}    %1.05,5.7
%
\def\PharynxBackUpStaticX{1.04}  \def\PharynxBackUpStaticY{5.43}         %1.0875,5.3
\def\PharynxBackMiddleStaticX{1.07}  \def\PharynxBackMiddleStaticY{5.14}
\def\PharynxBackDownStaticX{1.1}      \def\PharynxBackDownStaticY{4.81}
%
\def\EsophagusBackX{0.9375}      \def\EsophagusBackY{4.3}
\def\EsophagusFrontX{1.0875}     \def\EsophagusFrontY{4.3}
\def\EsophagusPortX{1.2}      \def\EsophagusPortY{4.7}     %1.27,4.9     ok
%
\def\LarynxFrontX{1.35}        \def\LarynxFrontY{4.3}
\def\LarynxBackX{1.2}         \def\LarynxBackY{4.3}
%

%
% Jaw and Jugular notch
\def\JugularNotchX{1.65}      \def\JugularNotchY{4.2}
\def\AdamsAppleX{1.725}       \def\AdamsAppleY{4.8}
\def\ThyroidX{1.7}          \def\ThyroidY{4.9}
%
%Lips
\def\LipUpOutX{\LipOutX}        \def\LipUpOutY{\LipUpY}
\def\LipUpInX{\LipInX}          \def\LipUpInY{\LipUpY}
\def\LipDownOutX{\LipOutX}      \def\LipDownOutY{\LipDownY}
\def\LipDownInX{\LipInX}        \def\LipDownInY{\LipDownY}

% Up
\def\LipUpBaseOutX{2.25}    \def\LipUpBaseOutY{5.8}

%
% Oral-Nasal Separation
\def\NasalCavAlvX{2.025}   \def\NasalCavAlvY{6.05}
\def\NasalCavPalX{1.725}   \def\NasalCavPalY{6.05}
\def\NasalCavVelarX{1.275} \def\NasalCavVelarY{5.9}
%
                            \def\NasalCavMovY{5.72}
\def\UvularX{1.31}           \def\UvularY{5.73}
\def\VelarX{1.4}             \def\VelarY{5.75}
\def\PalatalX{1.66}          \def\PalatalY{5.85}
%
\def\PostPostAlveolarX{1.83} \def\PostPostAlveolarY{5.81}
\def\PostAlveolarX{1.95}     \def\PostAlveolarY{5.725}
\def\AlveolarX{2.02}         \def\AlveolarY{5.675}


% Epiglotis to Tongue to DownTeeth
\def\HyoidUpX{1.255}       \def\HyoidUpY{4.9}
\def\HyoidDownX{1.260}       \def\HyoidDownY{4.8}
\def\EpiglotisBaseX{1.275}   \def\EpiglotisBaseY{5.1}
\def\EpiglotisX{1.2}       \def\EpiglotisY{5.3}
\def\TongueBaseX{1.35}      \def\TongueBaseY{5.1}
\def\TonguePharynxX{1.275}   \def\TonguePharynxY{5.4}
%
\def\TongueUvularX{1.3125}
\def\TongueVelarX{1.5}
\def\TonguePalatalX{1.725}
\def\TonguePostAlvX{1.875}
%
\def\TongueBaseFrontX{2} \def\TongueBaseFrontY{5.3}
% Teeth
% up
\def\TeethUpBaseInX{2.1}  \def\TeethUpBaseInY{5.675}
\def\TeethUpEdgeX{2.185}       \def\TeethUpEdgeY{5.57}
\def\TeethUpBaseOutX{2.2125} \def\TeethUpBaseOutY{5.7}
% down
\def\TeethDownBaseInX{2.1}  \def\TeethDownBaseInY{5.4}
\def\TeethDownEdgeX{2.175}     \def\TeethDownEdgeY{5.5}
\def\TeethDownBaseOutX{2.2}  \def\TeethDownBaseOutY{5.35}
%
\def\SubTongueSalX{2.025}     \def\SubTongueSalY{5.3}




%============= LowerRespiration System Cords
\def\TracheaFrontX{1.35}\def\TracheaFrontY{4}
\def\TracheaBackX{1.2} \def\TracheaBackY{4}
%
\def\LungsChestLevelFrontX{2.1}     \def\LungsChestLevelFrontY{2.5}
\def\LungsChestLevelBackX{0.45}      \def\LungsChestLevelBackY{2.5}
%
\def\LungsSternLevelBackX{0.3}      \def\LungsSternLevelBackY{1.2}
\def\LungsSternLevelBackXHelp{0.375}  \def\LungsSternLevelBackYHelp{1.3}
%
\def\LungsSternLevelFrontX{2.1}     \def\LungsSternLevelFrontY{1.2}
\def\LungsSternLevelFrontXHelp{2.1} \def\LungsSternLevelFrontYHelp{1.3}
%
\def\LungsSternLevelMiddleX{1.125}    \def\LungsSternLevelMiddleY{1.5}
%
\def\SkinChestFrontX{2.25}             \def\SkinChestFrontY{2.7}
%
\def\DiaphragmX{1.125}                \def\DiaphragmY{1.3}



%\pscustom[fillstyle=gradient,gradmidpoint=5,gradangle=45, gradbegin=white,gradend=red,showpoints=true,linecolor=black,linewidth=0pt]{


%================== ANDROID =====================
\newcommand{\BackToNoseEdge}{
% Back
\pscurve[linearc=0.3](0,0.5)(0.15,2)(0.75,5)
% Back Head to Eyes
\pscurve[linearc=0.3](0.75,5)(0.3,6.5)(0.75,7.3)(1.125,7.5)(1.875,7.4)(2.25,7)(2.25,6.5)(\NoseBoneUpX,\NoseBoneUpY)
% Nose
\pscurve(\NoseBoneUpX,\NoseBoneUpY)(\NoseBoneDownX,\NoseBoneDownY)
}

% Nose Edge to Lip Up
%[linearc=0.3,showpoints=false,linecolor=black,linewidth=1pt]
\newcommand{\NoseEdgeToLipUp}{
\pscurve(\NoseBoneDownX,\NoseBoneDownY)(\NoseEdgeX,\NoseEdgeY)(\NoseBaseX,\NoseBaseY)(\LipUpBaseOutX,\LipUpBaseOutY)}

% LipDown to JugularNotch
\newcommand{\LipDowntoJugularNotch}{
\pscurve(\LipDownOutX,\LipDownOutY)(\ChinUpX,\ChinUpY)(\ChinMiddleX,\ChinMiddleY)(\ChinDownX,\ChinDownY)(\ThyroidX,\ThyroidY)(\AdamsAppleX,\AdamsAppleY)(\JugularNotchX,\JugularNotchY)}
% Chest
\newcommand{\Chest}{
\pscurve[linearc=0.2](\JugularNotchX,\JugularNotchY)(\SkinChestFrontX,\SkinChestFrontY)(2.25,0.5)}


% Diaphragm
\newcommand{\Diaphragm}{\pscurve[linearc=1.5](0,0.5)(\DiaphragmX,\DiaphragmY)(2.25,0.5)}

%
%
% Nose, Nasal Cavity, Nasal Port
% NasalUpperCav To Pharynx
\newcommand{\NasalCavUpToPharynx}{
\pscurve(\NoseBoneDownX,\NoseBoneDownY)(\NoseBoneInX,\NoseBoneInY)(\NasalCavFrontX,\NasalCavFrontY)(\NasalCavCeilX,\NasalCavCeilY)(\NasalCavBackX,\NasalCavBackY)(\NasalSphenoidUpX,\NasalSphenoidUpY)(\NasalSphenoidDownX,\NasalSphenoidDownY)
(\NasalPortStaticUpX,\NasalPortStaticUpY)(\NasalPortStaticDownX,\NasalPortStaticDownY)(\PharynxBackUpStaticX,\PharynxBackUpStaticY)}
%
% Pharynx, Esophagus, EsoPort
\newcommand{\PharynxToEsophag}{
\psline(\PharynxBackUpStaticX,\PharynxBackUpStaticY)(\PharynxBackMiddleStaticX,\PharynxBackMiddleStaticY)(\PharynxBackDownStaticX,\PharynxBackDownStaticY)%
(\EsophagusBackX,\EsophagusBackY)(\EsophagusBackX,3.5)%
(\EsophagusFrontX,3.75)(\EsophagusFrontX,\EsophagusFrontY)%
(\EsophagusPortX,\EsophagusPortY)(\ChordsJointBackX,\ChordsJointBackY)}
%
% LarynxBack, Trachea, Lungs, LarynxFront
\newcommand{\LarynxLungsChords}{
\psline(\ChordsJointBackX,\ChordsJointBackY)(\TracheaBackX,\TracheaBackY)(\LungsChestLevelBackX,\LungsChestLevelBackY)(\LungsSternLevelBackX,\LungsSternLevelBackY)
%
\pscurve(\LungsSternLevelBackX,\LungsSternLevelBackY)(\LungsSternLevelBackXHelp,\LungsSternLevelBackYHelp)(\LungsSternLevelMiddleX,\LungsSternLevelMiddleY)(\LungsSternLevelFrontX,\LungsSternLevelFrontY)
%
\pscurve(\LungsSternLevelFrontX,\LungsSternLevelFrontY)(\LungsSternLevelFrontXHelp,\LungsSternLevelFrontYHelp)(\LungsChestLevelFrontX,\LungsChestLevelFrontY)(\TracheaFrontX,\TracheaFrontY)(\LarynxFrontX,\LarynxFrontY)
%
\psline(\LarynxFrontX,\LarynxFrontY)(\ChordsJointFrontX,\ChordsJointFrontY)
}
%
% Vocal Chords
\newcommand{\VocalChords}{%
{
%
\FPadd\MidXChords{\ChordsJointBackX}{\ChordsJointFrontX}
\FPdiv\MidXChords{\MidXChords}{2}
\FPsub\GlotalWidth\ChordsJointFrontX\ChordsJointBackX
\FPdiv\GlotalWidth{\GlotalWidth}{2}
%
\fpAdd\ChordsJointFrontBackAveY\ChordsJointBackY\ChordsJointFrontY
\fpDiv\ChordsJointFrontBackAveY\ChordsJointFrontBackAveY{2}
%
\pscustom[fillstyle=solid,fillcolor=pink]{
\psellipse[linewidth=0.2pt](\MidXChords,\ChordsJointFrontBackAveY)(\GlotalWidth,0.05)
\psellipse[linewidth=0.2pt](\MidXChords,\ChordsJointFrontBackAveY)(\GlotalWidth,\GlottalAperture)}
%
\psellipse*[linecolor=white,linewidth=0.2pt](\MidXChords,\ChordsJointFrontBackAveY)(\GlotalWidth,\GlottalAperture)
\psellipse[linewidth=0.2pt](\MidXChords,\ChordsJointFrontBackAveY)(\GlotalWidth,\GlottalAperture)
\FPmul\MinusFx\FX{-2}
\ifthenelse{\FX>2}{%
\pscoil[coilaspect=0,coilheight=0.7,coilwidth=0.1,coilarm=0.02,linewidth=\ChordsFrequency pt]%
(\ChordsJointBackX,\ChordsJointBackY)(\ChordsJointFrontX,\ChordsJointFrontY)}{}
}%
}
%
% Oral-Nasal Border (NoseBase, NasalFloor, OralCeil, TeethUp, LipUp
\newcommand{\OralNasalBorder}{
\pscurve[linewidth=0.5pt](\NoseBaseX,\NoseBaseY)(\NasalCavAlvX,\NasalCavAlvY)(\NasalCavPalX,\NasalCavPalY)(\NasalCavVelarX,\NasalCavVelarY)
\pscurve[linewidth=0.5pt](\NasalCavVelarX,\NasalCavVelarY)(\NasalCavMovX,\NasalCavMovY)(\UvularX,\UvularY)(\VelarX,\VelarY)(\PalatalX,\PalatalY)(\PostPostAlveolarX,\PostPostAlveolarY)(\PostAlveolarX,\PostAlveolarY)(\AlveolarX,\AlveolarY)
\psline[linewidth=0.5pt](\AlveolarX,\AlveolarY)(\TeethUpBaseInX,\TeethUpBaseInY)(\TeethUpEdgeX,\TeethUpEdgeY)(\TeethUpBaseOutX,\TeethUpBaseOutY)
\pscurve[linewidth=0.5pt](\TeethUpBaseOutX,\TeethUpBaseOutY)(\LipUpInX,\LipUpInY)(\LipUpOutX,\LipUpOutY)(\LipUpBaseOutX,\LipUpBaseOutY)(\NoseBaseX,\NoseBaseY)
}
%
% Chords to TongueAtPharynx
\newcommand{\ChordsToTongue}{
\pscurve[curvature=0.2 -0.5 -0.5](\ChordsJointFrontX,\ChordsJointFrontY)(\HyoidDownX,\HyoidDownY)(\HyoidUpX,\HyoidUpY)(\EpiglotisBaseX,\EpiglotisBaseY)
(\EpiglotisX,\EpiglotisY)(\TongueBaseX,\TongueBaseY)}
%
% Tongue at Pharynx to Tongue Base Front
\newcommand{\Tongue}{
\pscurve(\TonguePharynxX,\TonguePharynxY)(\TongueUvularX,\TongueUvularY)
(\TongueVelarX,\TongueVelarY)(\TonguePalatalX,\TonguePalatalY)(\TonguePostAlvX,\TonguePostAlvY)(\TongueAlveolarX,\TongueAlveolarY)(\TongueBaseFrontX,\TongueBaseFrontY)}

% Tongue Base Front to Down Lips
\newcommand{\TeethDownLips}{
\psline(\TongueBaseFrontX,\TongueBaseFrontY)(\SubTongueSalX,\SubTongueSalY)
(\TeethDownBaseInX,\TeethDownBaseInY)
(\TeethDownEdgeX,\TeethDownEdgeY)(\TeethDownBaseOutX,\TeethDownBaseOutY)
\pscurve[curvature=1 0.5 -0.5](\TeethDownBaseOutX,\TeethDownBaseOutY)
(\LipDownInX,\LipDownInY)(\LipDownOutX,\LipDownOutY)}


%========================
%   Stomach Compartment
%========================
\newcommand{\StomachCompartment}{
\psline[linearc=0](0,0.5)(0,0)(2.25,0)(2.25,0.5)
\FPsub\DiaphragmYALittleSmaller\DiaphragmY{0.05}
\pscustom[fillcolor=white,fillstyle=solid]{
\pscurve[linearc=0.1](0.9,\DiaphragmYALittleSmaller)(0.9,.7)(0.525,0.4) % Back Stomach
                    (1.125,0.2)                    % Bottom Point of Stomach
                    (1.725,0.4)(1.275,.7)(1.2,\DiaphragmY)} % Front Stomach

% ---- Electrode -----
%\psline[linecolor=gray,linewidth=1pt](1.35,\DiaphragmY)(1.35,1.9)    % Up Elect Sensor
%\psline[linewidth=1pt](1.35,0.5)(1.35,\DiaphragmY)   % Down Electr Sensor
}





%=======================
%     Red Flesh
%=======================

%Begin from 0,0.5 and end there also
\newcommand{\DrawRedFlesh}
{\pscustom[fillstyle=solid,fillcolor=pink]
{
\BackToNoseEdge
\NasalCavUpToPharynx
\PharynxToEsophag
%
% Larynx until LungsBackStern
\psline(\ChordsJointBackX,\ChordsJointBackY)(\TracheaBackX,\TracheaBackY)(\LungsChestLevelBackX,\LungsChestLevelBackY)(\LungsSternLevelBackX,\LungsSternLevelBackY)
%
% LungsBackStern to LungsFrontStern
\pscurve(\LungsSternLevelBackX,\LungsSternLevelBackY)(\LungsSternLevelBackXHelp,\LungsSternLevelBackYHelp)(\LungsSternLevelMiddleX,\LungsSternLevelMiddleY)(\LungsSternLevelFrontX,\LungsSternLevelFrontY)
% LungsFrontStern to Trachea
\pscurve(\LungsSternLevelFrontX,\LungsSternLevelFrontY)(\LungsSternLevelFrontXHelp,\LungsSternLevelFrontYHelp)(\LungsChestLevelFrontX,\LungsChestLevelFrontY)(\TracheaFrontX,\TracheaFrontY)(\LarynxFrontX,\LarynxFrontY)
% Larynx to Chords
\psline(\LarynxFrontX,\LarynxFrontY)(\ChordsJointFrontX,\ChordsJointFrontY)
% Chords to Epiglotis
\pscurve[curvature=0.2 -0.5 -0.5](\ChordsJointFrontX,\ChordsJointFrontY)(\HyoidDownX,\HyoidDownY)(\HyoidUpX,\HyoidUpY)(\EpiglotisBaseX,\EpiglotisBaseY)(\EpiglotisX,\EpiglotisY)(\TongueBaseX,\TongueBaseY)
%TongueBase to TongueFront
\Tongue
% Tongue Front to Lips Down
\TeethDownLips
% Lips Down to Jugular Notch
\LipDowntoJugularNotch
% Jugular Notch to Chest to Stern
\Chest
% Stern Diaphragm to Back
\pscurve[linearc=1.5](2.25,0.5)(\DiaphragmX,\DiaphragmY)(0,0.5)
}
}


\newcommand{\DrawRedFleshOralNasalBorder}
{\pscustom[fillstyle=solid,fillcolor=pink,linewidth=0.5pt]
{
\OralNasalBorder
}}

\newcommand{\DrawRedFleshStomach}
{\pscustom[fillstyle=solid,fillcolor=pink]
{\Diaphragm
\psline[linearc=0](2.25,0.5)(2.25,0)(0,0)(0,0.5)
}}

%===============================
% Update Respiration Oscillation
%================================
\newcommand{\UpdateRespOscillation}{
   \SetScaledOsc{-0.2}{\LungsChestLevelFrontX}
   \SetScaledOsc{0.1}{\LungsChestLevelBackX}
   \SetScaledOsc{0.2}{\LungsSternLevelBackX}
   \SetScaledOsc{0.4}{\LungsSternLevelBackY}
   \SetScaledOsc{0.2}{\LungsSternLevelBackXHelp}
   \SetScaledOsc{0.4}{\LungsSternLevelBackYHelp}
    \SetScaledOsc{-0.2}{\LungsSternLevelFrontX}
   \SetScaledOsc{0.3}{\LungsSternLevelFrontY}
   \SetScaledOsc{-0.2}{\LungsSternLevelFrontXHelp}
   \SetScaledOsc{0.3}{\LungsSternLevelFrontYHelp}
   \SetScaledOsc{0.4}{\LungsSternLevelMiddleY}
   \SetScaledOsc{0.4}{\LungsSternLevelMiddleY}
   \SetScaledOsc{-0.2}{\SkinChestFrontX}
   \SetScaledOsc{0.6}{\DiaphragmY}
}


%\rput(0,0){\DiaphragmYLower}

%=============================================
%      Update Vocal Tract from File
%=============================================
\newcommand{\UpdateVocalTract}[1]{
\RdVal{\JW}{#1}{1}
\RdVal{\TP}{#1}{2}
\RdVal{\TS}{#1}{3}
\RdVal{\TA}{#1}{4}
\RdVal{\LA}{#1}{5}
\RdVal{\LP}{#1}{6}
\RdVal{\LH}{#1}{7}
\RdVal{\GA}{#1}{8}
\RdVal{\FX}{#1}{9}
\RdVal{\NS}{#1}{10}
%% Linear Transfroms of Coordinates from Maeda to Ververidis
%% [-3,3] to [1.05,1.2]
%%1         % 3           % 5           % 7         %9
%%F0 %LA    % NC || %UV    %VE   %PA   %PsAy  %ALx %ALy ||  LOx    LIx    LUy    LDy || GA
%%-----------------------------------------------------------------------------------
%%0   4.5   1.09 || 5.45   5.6   5.65   5.65  2.025 5.5 || 2.250  2.197  5.58   5.45 || 0     Min (Open)
%%1   4.8   1.20 || 6.15   5.78  5.84   5.83  2.175 5.68|| 2.360  2.287   5.65   5.6 || 0.04  Max (Closed)
%-- \NasalCavMovX
\fpAdd\NSb\NS{3}
\fpDiv{\NSb}{\NSb}{6}
\fpMul{\NSb}{\NSb}{0.15}
\fpAdd{\NasalCavMovX}{\NSb}{1.09}
%-- \ChordsFrequency
\fpAdd\FX\FX{3}
\fpDiv\ChordsFrequency\FX{6}
%-- \GlottalAperture
\fpMul\GAb\GA{-1}
\fpAdd\GAb\GAb{3}
\fpDiv{\GAb}{\GAb}{6}
\fpMul{\GlottalAperture}{\GAb}{0.025}
%-- These are expressed as a linear transformation of the JW,TP,TS,TA,LA,LP,LH

% This is the way for the tongue

% C is Hyoid Down
\TongDepolarLinSys{\HyoidDownX}{\HyoidDownY}{\JW}{\TP}{\TS}{\TA}{2}
% D is Hyoid Up
\TongDepolarLinSys{\HyoidUpX}{\HyoidUpY}{\JW}{\TP}{\TS}{\TA}{3}
% D is EpiglotisBase
%\TongDepolarLinSys{\vtngEx}{\vtngEy}{\JW}{\TP}{\TS}{\TA}{4}
\def\EpiglotisBaseX{\HyoidUpX}
\def\EpiglotisBaseY{\HyoidUpY}
%\TongDepolarLinSys{\vtngFx}{\vtngFy}{\JW}{\TP}{\TS}{\TA}{5}
% G is TongueBase
\TongDepolarLinSys{\TongueBaseX}{\TongueBaseY}{\JW}{\TP}{\TS}{\TA}{6}
% H is Tongue Pharynx
\TongDepolarLinSys{\TonguePharynxX}{\TonguePharynxY}{\JW}{\TP}{\TS}{\TA}{7}
%\psdot[linecolor=blue,linewidth=4pt](\TonguePharynxX,\TonguePharynxY)
% I is Epiglotis (x,y are a bit reduced)
\TongDepolarLinSys{\EpiglotisXa}{\EpiglotisYa}{\JW}{\TP}{\TS}{\TA}{8}
\fpSub\EpiglotisX\EpiglotisXa{0.03}
\fpSub\EpiglotisY\EpiglotisYa{0.1}
%\psdot[linecolor=blue](\EpiglotisX,\EpiglotisY)
%\TongDepolarLinSys{\vtngJx}{\vtngJy}{\JW}{\TP}{\TS}{\TA}{9}
%\TongDepolarLinSys{{\vtngKy}{{\vtngKy}{\JW}{\TP}{\TS}{\TA}{10}
%\TongDepolarLinSys{\vtngLx}{\vtngLy}{\JW}{\TP}{\TS}{\TA}{11}
% M is Uvular
\TongDepolarLinSys{\TongueUvularX}{\TongueUvularY}{\JW}{\TP}{\TS}{\TA}{12}
%\psdot[linecolor=blue](\TongueUvularX,\TongueUvularY)
%\TongDepolarLinSys{\vtngNx}{\vtngNy}{\JW}{\TP}{\TS}{\TA}{13}
%\TongDepolarLinSys{\vtngOx}{\vtngOy}{\JW}{\TP}{\TS}{\TA}{14}
% P is velar
\TongDepolarLinSys{\TongueVelarX}{\TongueVelarY}{\JW}{\TP}{\TS}{\TA}{15}
%\psdot[linecolor=blue](\TongueVelarX,\TongueVelarY)
%\TongDepolarLinSys{\vtngQx}{\vtngQy}{\JW}{\TP}{\TS}{\TA}{16}
%\TongDepolarLinSys{\vtngRx}{\vtngRy}{\JW}{\TP}{\TS}{\TA}{17}
%\TongDepolarLinSys{\vtngSx}{\vtngSy}{\JW}{\TP}{\TS}{\TA}{18}
% T is Palatal
\TongDepolarLinSys{\TonguePalatalX}{\TonguePalatalY}{\JW}{\TP}{\TS}{\TA}{19} %\def\TonguePalatalY{5.65}
%\psdot[linecolor=blue](\TonguePalatalX,\TonguePalatalY)
%\TongDepolarLinSys{\vtngUx}{\vtngUy}{\JW}{\TP}{\TS}{\TA}{20}
%\TongDepolarLinSys{\vtngVx}{\vtngVy}{\JW}{\TP}{\TS}{\TA}{21}
% W is TonguePostAlv
\TongDepolarLinSys{\TonguePostAlvX}{\TonguePostAlvY}{\JW}{\TP}{\TS}{\TA}{22}
%\psdot[linecolor=blue](\TonguePostAlvX,\TonguePostAlvY)
\TongDepolarLinSys{\vtngXx}{\vtngXy}{\JW}{\TP}{\TS}{\TA}{23}
\TongDepolarLinSys{\vtngYx}{\vtngYy}{\JW}{\TP}{\TS}{\TA}{24}
% Z is TongueAlveolar
\TongDepolarLinSys{\TongueAlveolarX}{\TongueAlveolarY}{\JW}{\TP}{\TS}{\TA}{25}
%\psdot[linecolor=blue](\TongueAlveolarX,\TongueAlveolarY)
%\TongDepolarLinSys{\vtngPhix}{\vtngPhiy}{\JW}{\TP}{\TS}{\TA}{26}

%---------- Chord Joint Front and Back ---------
\LrxDepolarLinSys{\ChordsJointFrontX}{\JW}{\LH}{2}
\LrxDepolarLinSys{\ChordsJointFrontY}{\JW}{\LH}{3}
\LrxDepolarLinSys{\ChordsJointBackX}{\JW}{\LH}{4}
\LrxDepolarLinSys{\ChordsJointBackY}{\JW}{\LH}{5}
%------------ Lips --------------------------------
\LipDepolarLinSys{\vlipA}{\JW}{\LA}{\LP}{2}

\fpDiv\LAVerver\LA{3} % Verver here

\LipDepolarLinSys{\vlipB}{\JW}{\LAVerver}{\LP}{3}
\LipDepolarLinSys{\vlipC}{\JW}{\LA}{\LP}{4}

\def\LipInX{3.65}                  % In X
\fpSub\LipInX{20}\LipInX
\def\Dumm{0}
\LinMov2Verver{\LipInX}{\Dumm}

\def\LipUpY{15.18}                % Up Y
\LinMov2Verver{\Dumm}{\LipUpY}

\def\LipOutX{3.65}                % Out X
\fpSub\LipOutX\LipOutX{\vlipA}
\fpSub\LipOutX{20}\LipOutX
\LinMov2Verver{\LipOutX}{\Dumm}

\fpSub\LipDownY{15.18}{\vlipB}    % Down Y
\LinMov2Verver{\Dumm}{\LipDownY}

%vlip[1] = 1.3
%vlip[2] = 1.44
%vlip[3] = 4.88
%----------------- JAW Components ----------

\fpAdd\JawRadiiY\JW{-3}
\fpMul\JawRadiiY\JW{0.015}

\def\ChinDownX{2.25}            \fpAdd\ChinDownY{5.1}\JawRadiiY
\def\ChinMiddleX{2.325}         \fpAdd\ChinMiddleY{5.2}\JawRadiiY
\def\ChinUpX{2.25}              \fpAdd\ChinUpY{5.3}\JawRadiiY
\def\LipDownBaseOutX{2.25}      \fpAdd\LipDownBaseOutY{5.4}\JawRadiiY


\def\TeethDownBaseInX{2.1}  \fpAdd\TeethDownBaseInY{5.4}\JawRadiiY
\def\TeethDownEdgeX{2.175}     \fpAdd\TeethDownEdgeY{5.5}\JawRadiiY
\def\TeethDownBaseOutX{2.2}  \fpAdd\TeethDownBaseOutY{5.35}\JawRadiiY
%
\def\SubTongueSalX{2.025}     \fpAdd\SubTongueSalY{5.3}\JawRadiiY


%
\BackToNoseEdge
\NasalCavUpToPharynx
\PharynxToEsophag
\LarynxLungsChords
\Diaphragm
\Chest
\LipDowntoJugularNotch
%
\NoseEdgeToLipUp
\OralNasalBorder
%
\ChordsToTongue

\Tongue
\TeethDownLips
%
\DrawRedFlesh
\DrawRedFleshOralNasalBorder
\DrawRedFleshStomach
}

%=======================================
%       Plot dots Movable Parts
%=======================================
\newcommand{\PlotDotsVocal}{
\uput[45](\ChordsJointBackX,\ChordsJointBackY){\scriptsize 1.Freq.}

\rput[c](\ChordsJointFrontX,\ChordsJointFrontY){$\bullet$}
\uput[320](\ChordsJointFrontX,4.7){\scriptsize 2.Larynx Height}

\rput[c](\NasalCavMovX,\NasalCavMovY){$\bullet$}
\uput[40](\NasalCavMovX,\NasalCavMovY){\scriptsize 3.NasalCav}

\rput[c](\TongueUvularX,\TongueUvularY){$\bullet$}
\uput[300](\TongueUvularX,\TongueUvularY){\scriptsize 4.Uvular}

\rput[c](\TongueVelarX,\TongueVelarY){$\bullet$}
\uput[270](\TongueVelarX,\TongueVelarY){\scriptsize 5.Velar}

\rput[c](\TonguePalatalX,\TonguePalatalY){$\bullet$}
\uput[270](\TonguePalatalX,\TonguePalatalY){\scriptsize 6.Palatal}

\rput[c](\TonguePostAlvX,\TonguePostAlvY){$\bullet$}
\uput[100](\TonguePostAlvX,\TonguePostAlvY){\scriptsize 7.PostAlv}

\rput[c](\TongueAlveolarX,\TongueAlveolarY){$\bullet$}
\uput[20](\TongueAlveolarX,\TongueAlveolarY){\scriptsize 8.Alveolar}

\rput[c](\LipUpOutX,\LipUpOutY){$\bullet$}
\uput[0](\LipUpOutX,\LipUpOutY){\scriptsize 9.LipUpOut}
\rput[c](\LipDownOutX,\LipDownOutY){$\bullet$}
\uput[0](\LipDownOutX,\LipDownOutY){\scriptsize 10.LipDownOut}

\rput[c](\LipUpInX,\LipUpInY){$\bullet$}
\uput[90](\LipUpInX,\LipUpInY){\scriptsize 11.LipUpIn}
\rput[c](\LipDownInX,\LipDownInY){$\bullet$}
\uput[270](\LipDownInX,\LipDownInY){\scriptsize 12.LipDownIn}}


%============================================
%  Show Phonemes German
%============================================
\newcommand{\ShowPhonemesGerman}[1]{
\RdVal{\PhonemeLabel}{#1}{11}
\parbox{2cm}{\Large\PhonemeLabel}}


%============================================
%     Show Red Pressure
%============================================

\newcommand\ShowPressure[1]{%
\RdVal{\PhonemeLabel}{#1}{11}
% p
\ifthenelse{\equal{\PhonemeLabel}{p}\or\equal{\PhonemeLabel}{b}}{\pscustom[fillcolor=red,fillstyle=solid]{%
%% Chords to Tongue Base
\ChordsToTongue
%% Tongue at Pharynx to Tongue Base Front
\Tongue
% Tongue Base Front to Down Lips In
\psline(\TongueBaseFrontX,\TongueBaseFrontY)(\SubTongueSalX,\SubTongueSalY)
(\TeethDownBaseInX,\TeethDownBaseInY)
(\TeethDownEdgeX,\TeethDownEdgeY)(\TeethDownBaseOutX,\TeethDownBaseOutY)
\pscurve(\TeethDownBaseOutX,\TeethDownBaseOutY)
(\LipDownInX,\LipDownInY)
% LipUpIn to TeethBaseOut
\pscurve(\LipUpInX,\LipUpInY)(\TeethUpBaseOutX,\TeethUpBaseOutY)
% TeethBaseOut to Alveolar
\psline(\TeethUpBaseOutX,\TeethUpBaseOutY)(\TeethUpEdgeX,\TeethUpEdgeY)(\TeethUpBaseInX,\TeethUpBaseInY)(\AlveolarX,\AlveolarY)
% NasalCavMov to Alveolar
\pscurve(\AlveolarX,\AlveolarY)(\PostAlveolarX,\PostAlveolarY)(\PostPostAlveolarX,\PostPostAlveolarY)(\PalatalX,\PalatalY)(\VelarX,\VelarY)(\UvularX,\UvularY)(\NasalCavMovX,\NasalCavMovY)
% NCavPort to Pharynx
\psline(\NasalCavMovX,\NasalCavMovY)(\NasalPortStaticUpX,\NasalPortStaticUpY)
(\NasalPortStaticDownX,\NasalPortStaticDownY)(\PharynxBackUpStaticX,\PharynxBackUpStaticY)
%
% Pharynx, Esophagus, EsoPort
\PharynxToEsophag
% LarynxBack, Trachea, Lungs, LarynxFront
\LarynxLungsChords
}}{}
% t
\ifthenelse{\equal{\PhonemeLabel}{t} \or \equal{\PhonemeLabel}{d}}{
\pscustom[fillcolor=red,fillstyle=solid]{%
%% Chords to Tongue Base
\ChordsToTongue
%% Tongue at Pharynx to Tongue Base Front
\pscurve(\TonguePharynxX,\TonguePharynxY)(\TongueUvularX,\TongueUvularY)
(\TongueVelarX,\TongueVelarY)(\TonguePalatalX,\TonguePalatalY)(\TonguePostAlvX,\TonguePostAlvY)(\TongueAlveolarX,\TongueAlveolarY)
%
\pscurve(\AlveolarX,\AlveolarY)(\PostAlveolarX,\PostAlveolarY)
(\PostPostAlveolarX,\PostPostAlveolarY)(\PalatalX,\PalatalY)
(\VelarX,\VelarY)(\UvularX,\UvularY)(\NasalCavMovX,\NasalCavMovY)
% NCavPort to Pharynx
\psline(\NasalCavMovX,\NasalCavMovY)(\NasalPortStaticUpX,\NasalPortStaticUpY)
(\NasalPortStaticDownX,\NasalPortStaticDownY)(\PharynxBackUpStaticX,\PharynxBackUpStaticY)
(\PharynxBackMiddleStaticX,\PharynxBackMiddleStaticY)(\PharynxBackDownStaticX,\PharynxBackDownStaticY)
% Pharynx, Esophagus, EsoPort
\PharynxToEsophag
% LarynxBack, Trachea, Lungs, LarynxFront
\LarynxLungsChords
}}{}
%
%k
\ifthenelse{\equal{\PhonemeLabel}{k} \or \equal{\PhonemeLabel}{g}}{\pscustom[fillcolor=red,fillstyle=solid]{%
%% Chords to Tongue Base
\ChordsToTongue
%% Tongue at Pharynx to Tongue Base Front
\pscurve(\TonguePharynxX,\TonguePharynxY)(\TongueUvularX,\TongueUvularY)
(\TongueVelarX,\TongueVelarY)
%
\pscurve(\VelarX,\VelarY)(\UvularX,\UvularY)(\NasalCavMovX,\NasalCavMovY)
% NCavPort to Pharynx
\psline(\NasalCavMovX,\NasalCavMovY)(\NasalPortStaticUpX,\NasalPortStaticUpY)(\NasalPortStaticDownX,\NasalPortStaticDownY)
(\PharynxBackUpStaticX,\PharynxBackUpStaticY)
% Pharynx, Esophagus, EsoPort
\PharynxToEsophag
% LarynxBack, Trachea, Lungs, LarynxFront
\LarynxLungsChords
}}{}
%
}

%=========================================
%     Show Linear Vocal Tube
%=========================================
\newcommand\ShowLinearTubes[1]{
% ChordsFront to DownLips
\psline[linecolor=blue,showpoints=true](\ChordsJointFrontX,\ChordsJointFrontY)(\HyoidDownX,\HyoidDownY)
(\HyoidUpX,\HyoidUpY)(\EpiglotisBaseX,\EpiglotisBaseY)(\EpiglotisX,\EpiglotisY)(\TonguePharynxX,\TonguePharynxY)
(\TongueUvularX,\TongueUvularY)(\TongueVelarX,\TongueVelarY)(\TonguePalatalX,\TonguePalatalY)
(\TonguePostAlvX,\TonguePostAlvY)(\TongueAlveolarX,\TongueAlveolarY)(\SubTongueSalX,\SubTongueSalY)
(\TeethDownBaseInX,\TeethDownBaseInY)(\TeethDownEdgeX,\TeethDownEdgeY)(\LipDownInX,\LipDownInY)(\LipDownOutX,\LipDownOutY)
% ChordsBack to NPortStatic
\psline[linecolor=blue,showpoints=true](\ChordsJointBackX,\ChordsJointBackY)(\EsophagusPortX,\EsophagusPortY)
(\PharynxBackDownStaticX,\PharynxBackDownStaticY)
(\PharynxBackMiddleStaticX,\PharynxBackMiddleStaticY)
(\PharynxBackUpStaticX,\PharynxBackUpStaticY)
(\NasalPortStaticDownX,\NasalPortStaticDownY)
(\NasalPortStaticUpX,\NasalPortStaticUpY)
%
%NPortStatic to Nose
%\ifthenelse{#2=1.2}{%
\psline[linecolor=blue,showpoints=true](\NasalPortStaticDownX,\NasalPortStaticDownY)(\NasalPortStaticUpX,\NasalPortStaticUpY)(\NasalSphenoidDownX,\NasalSphenoidDownY)(\NasalSphenoidUpX,\NasalSphenoidUpY)(\NasalCavBackX,\NasalCavBackY)(\NasalCavCeilX,\NasalCavCeilY)(\NasalCavFrontX,\NasalCavFrontY)(\NoseBoneInX,\NoseBoneInY)(\NoseBoneDownX,\NoseBoneDownY)%}{}
% Nose to NCavPort To Upper Lips
\psline[linecolor=blue,showpoints=true](\NoseBaseX,\NoseBaseY)(\NasalCavAlvX,\NasalCavAlvY)(\NasalCavPalX,\NasalCavPalY)(\NasalCavVelarX,\NasalCavVelarY)(\NasalCavMovX,\NasalCavMovY)(\UvularX,\UvularY)(\VelarX,\VelarY)(\PalatalX,\PalatalY)(\PostPostAlveolarX,\PostPostAlveolarY)(\PostAlveolarX,\PostAlveolarY)(\AlveolarX,\AlveolarY)(\TeethUpBaseInX,\TeethUpBaseInY)(\TeethUpEdgeX,\TeethUpEdgeY)%(\TeethUpBaseOutX,\TeethUpBaseOutY)
(\LipUpInX,\LipUpInY)(\LipUpOutX,\LipUpOutY)
}

%=========================================
%     Show CrossSection Areas
%=========================================
\newcommand\ShowParameters{%
%Lines
% 1. JW: Jaw Position
\rput[l](1.8  ,4.8  ){1}
% 2. TP: Tongue Position
\rput[l](1.2  ,5){2}
% 3. TS: Tongue Shape
\rput[l](1.4  ,5){3}
% 4. TA: Tongue Apex
\rput[l](2  ,5.8){4}
%% 5. LA: LIPS APERTURE
%\psline[linecolor=green,showpoints=true](\LipOutX,\LipDownY)(\LipOutX,\LipUpY)
\rput[t](\LipOutX,\LipUpY){5}
%%% 6. LP: LIPS PROTRUSION
%\psline[linecolor=green,showpoints=true](\LipDownInX,\LipDownInY)(\LipDownOutX,\LipDownOutY)
\rput[lt](\LipDownOutX,\LipDownOutY){6}
%%% 7. LH: LARYNX HEIGHT
%\psline[linecolor=green,showpoints=true](\ChordsJointFrontX,\ChordsJointFrontY)(\HyoidDownX,\HyoidDownY)
%%% 8. GA: Glottis Aperture
%%% 9. FX: Fund. Frequency
\rput[l](\ChordsJointFrontX,\ChordsJointFrontY){7,8,9}
%%% 10. NS: Nasal Cavity
%\psline[linecolor=green,showpoints=true](\NasalCavMovX,\NasalCavMovY)(\NasalPortStaticUpX,\NasalPortStaticUpY)
\rput[rb](\NasalPortStaticUpX,\NasalPortStaticUpY){10\hspace{0.75cm}}
%
%
\rput[l](0.75,1.7){\parbox{5cm}{1. JW: Jaw Position    = \JW \\
                             2. TP: Tongue Position = \TP \\
                             3. TS: Tongue Shape    = \TS \\
                             4. TA: Tongue Apex     = \TA \\
                             5. LA: Lips Aperture   = \LA \\
                             6. LP: Lips Protrusion = \LP \\
                             7. LH: Larynx Heigh    = \LH \\
                             8. GA: Glottis Aperture= \GA \\
                             9. FX: Fund. Frequency = \FX \\
                            10. NS: Nasal Cavity   = \NS}}
}