summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-13 22:39:05 +0000
committerKarl Berry <karl@freefriends.org>2012-03-13 22:39:05 +0000
commit649d975f9fdc7400e017fe94445d9faf338fa8df (patch)
treed282681dbe272cb6fd771f33b8bcc62259fab99b /Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m
parentb92609b93bc7e9649fd001bd7a0c9585da130691 (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/vtMAINVisual.m')
-rw-r--r--Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m99
1 files changed, 99 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m b/Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m
new file mode 100644
index 00000000000..6356cb7f66b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/vocaltract/vtMAINVisual.m
@@ -0,0 +1,99 @@
+function vtMAINVisual(VocalTractVecToTime,SWPDForBMP)
+
+if nargin < 2
+ SWPDForBMP = 'BMP'; % PDF, BMP
+ %========================================================================================
+ % 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
+ %========================================================================================
+ VocalTractVecToTime = ...
+ {[ 0.5, -2, 1 , -2 , 1, -1 , 0, 0, 0, 0], 'i' ;
+ [ 0.5, -2, 1 , -2 , 0, 2 , 0, 0, 0, 0], 'y(\"u)' ;
+ [-1 , -1, 1 , -2 , 1, -0.5, 0, 0, 0, 0], 'e' };
+end
+
+% if you want a BMP Figure (not a PDF Animation) use first line
+if strcmp(SWPDForBMP,'BMP') && size(VocalTractVecToTime,1)>1
+ VocalTractVecToTime = VocalTractVecToTime(1,1:2);
+end
+
+
+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 -----------------------------
+
+if strcmp(SWPDForBMP,'BMP')
+ %-- tex2dvi
+ !latex -interaction=nonstopmode vtLatex_FigureLauncher.tex
+ %--- view dvi
+ %!"C:/Program Files/MiKTeX 2.8/miktex/bin/yap.exe" vtLatex_FigureLauncher.dvi
+ %--- dvi2ps
+ !dvips -o vtLatex_FigureLauncher.ps vtLatex_FigureLauncher.dvi
+
+ %--- ps2bmp
+ strpwd = lower(pwd);
+ eval(['!i_view32.exe "' strpwd '\vtLatex_FigureLauncher.ps"' ...
+ ' /crop=(130,250,550,600) /convert="' ...
+ strpwd '\vtLatex_FigureLauncher.bmp" ']);
+
+ %--- read and show
+ a = imread('vtLatex_FigureLauncher.bmp');
+ imshow(a);
+elseif strcmp(SWPDForBMP,'PDF')
+ %-- tex2dvi
+ !latex -interaction=nonstopmode vtLatex_AnimationLauncher.tex
+ %--- view dvi
+ %!"C:/Program Files/MiKTeX 2.8/miktex/bin/yap.exe" vtLatex_AnimationLauncher.dvi
+ %--- dvi2ps
+ !dvips -o vtLatex_AnimationLauncher.ps vtLatex_AnimationLauncher.dvi
+ %---- ps2pdf
+ !ps2pdf vtLatex_AnimationLauncher.ps
+ %--- view pdf
+ !AcroRd32.exe vtLatex_AnimationLauncher.pdf
+end
+
+
+
+
+%===================================================================
+% 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);
+
+