diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-13 22:39:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-13 22:39:05 +0000 |
commit | 649d975f9fdc7400e017fe94445d9faf338fa8df (patch) | |
tree | d282681dbe272cb6fd771f33b8bcc62259fab99b /Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m | |
parent | b92609b93bc7e9649fd001bd7a0c9585da130691 (diff) |
new pstricks package vocaltract (13mar12)
git-svn-id: svn://tug.org/texlive/trunk@25629 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m')
-rw-r--r-- | Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m b/Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m new file mode 100644 index 00000000000..f0b05abc9d9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/vocaltract/vtQueryVisual.m @@ -0,0 +1,114 @@ +function vtQueryVisual(STRQuery) + +%======================================================================================== +% 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 +%======================================================================================== +VocalTractVecToTimeCodeBook = ... + {[ 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 + + + +VocalTractVecToTime = FindVectorsFromCodeBook(VocalTractVecToTimeCodeBook, STRQuery); + +NumberOfTimeFrames = size(VocalTractVecToTime,1); +VocalTractVecToTimeSTR = Mat2StrCustom(VocalTractVecToTime); + +%---------------- Add some commands before and after --------------- +LatexDefCommandsOfCordsPre = ['\newarray\SpeakVec' ... + '\readarray{SpeakVec}{']; + +LatexDefCommandsOfCordsPost = ['}'... + ' \dataheight=11' ... + ' \def\Nframes{' num2str(NumberOfTimeFrames+1) '}']; + +% %------- Create the Coordinates file ---------------- +fid = fopen('vtLatex_TimeParams.tex', 'w'); + +fwrite(fid,sprintf('%s %s %s',LatexDefCommandsOfCordsPre,... + VocalTractVecToTimeSTR,... + LatexDefCommandsOfCordsPost),'char'); +fclose(fid); + +%---------------- START the Compilers ----------------------------- + %-- tex2dvi + !latex -interaction=nonstopmode vtLatex_AnimationLauncher.tex + %--- dvi2ps + !dvips -o vtLatex_AnimationLauncher.ps vtLatex_AnimationLauncher.dvi + %---- ps2pdf + !ps2pdf vtLatex_AnimationLauncher.ps + %--- view pdf + !AcroRd32 vtLatex_AnimationLauncher.pdf + + +%=================================================================== +% Matrix to a String Ordering with & intervening +%=================================================================== +function STR = Mat2StrCustom(Matr) + +R = size(Matr,1); +C = length(Matr{1,1}); + +STR = []; +for IndRow= 1:R + for IndCol = 1:C + STR = [STR num2str(Matr{IndRow,1}(IndCol)) '&']; + end + STR = [STR Matr{IndRow,2} '&']; +end +%STR = STR(1:end-1); + +%=================================================================== +% QUERY CODEBOOK +%=================================================================== +function OutVecs = FindVectorsFromCodeBook(InVecs, STRQuery) + +NPhonemes = length(STRQuery); + +NumericBookPhonemes = zeros(1,NPhonemes); + +BookOfPhonemes = InVecs(:,2); + +for iPhoneme = 1:NPhonemes, + NumericBookPhonemes(iPhoneme) = find(strcmp(BookOfPhonemes,STRQuery(iPhoneme))); +end + +OutVecs = InVecs(NumericBookPhonemes,:); +return + + + |