m-kouki@shinzan:~/HTS/HTS-demo_NIT-ATR503-M001$ ./configure --with-tcl-search-path=/home/m-kouki/HTS/ActiveTcl/bin --with-sptk-search-path=/home/m-kouki/HTS/SPTK/bin --with-hts-search-path=/home/m-kouki/HTS/htk/bin --with-hts-engine-search-path=/home/m-kouki/HTS/hts_engine_API/bin --with-openfst-search-path=/home/m-kouki/HTS/openfst/bin checking for gawk... no checking for mawk... mawk checking for perl... /usr/bin/perl checking for tclsh... /home/m-kouki/HTS/ActiveTcl/bin/tclsh checking for bc... /usr/bin/bc checking for wc... /usr/bin/wc checking for swab... /home/m-kouki/HTS/SPTK/bin/swab checking for x2x... /home/m-kouki/HTS/SPTK/bin/x2x checking for frame... /home/m-kouki/HTS/SPTK/bin/frame checking for window... /home/m-kouki/HTS/SPTK/bin/window checking for mcep... /home/m-kouki/HTS/SPTK/bin/mcep checking for lpc2lsp... /home/m-kouki/HTS/SPTK/bin/lpc2lsp checking for nan... /home/m-kouki/HTS/SPTK/bin/nan checking for bcut... /home/m-kouki/HTS/SPTK/bin/bcut checking for nrand... /home/m-kouki/HTS/SPTK/bin/nrand checking for vstat... /home/m-kouki/HTS/SPTK/bin/vstat checking for step... /home/m-kouki/HTS/SPTK/bin/step checking for sopr... /home/m-kouki/HTS/SPTK/bin/sopr checking for vopr... /home/m-kouki/HTS/SPTK/bin/vopr checking for freqt... /home/m-kouki/HTS/SPTK/bin/freqt checking for c2acr... /home/m-kouki/HTS/SPTK/bin/c2acr checking for mc2b... /home/m-kouki/HTS/SPTK/bin/mc2b checking for b2mc... /home/m-kouki/HTS/SPTK/bin/b2mc checking for merge... /home/m-kouki/HTS/SPTK/bin/merge checking for bcp... /home/m-kouki/HTS/SPTK/bin/bcp checking for excite... /home/m-kouki/HTS/SPTK/bin/excite checking for lsp2lpc... /home/m-kouki/HTS/SPTK/bin/lsp2lpc checking for lspcheck... /home/m-kouki/HTS/SPTK/bin/lspcheck checking for mgc2mgc... /home/m-kouki/HTS/SPTK/bin/mgc2mgc checking for mglsadf... /home/m-kouki/HTS/SPTK/bin/mglsadf checking for sox... /usr/bin/sox checking for fstcompile... /home/m-kouki/HTS/openfst/bin/fstcompile checking for fstcompose... /home/m-kouki/HTS/openfst/bin/fstcompose checking for fstshortestpath... /home/m-kouki/HTS/openfst/bin/fstshortestpath checking for fstprint... /home/m-kouki/HTS/openfst/bin/fstprint checking for HMGenS... /home/m-kouki/HTS/htk/bin/HMGenS checking for HCompV... /home/m-kouki/HTS/htk/bin/HCompV checking for HInit... /home/m-kouki/HTS/htk/bin/HInit checking for HRest... /home/m-kouki/HTS/htk/bin/HRest checking for HERest... /home/m-kouki/HTS/htk/bin/HERest checking for HHEd... /home/m-kouki/HTS/htk/bin/HHEd checking for HFst... /home/m-kouki/HTS/htk/bin/HFst checking for hts_engine... /home/m-kouki/HTS/hts_engine_API/bin/hts_engine checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no configure: creating ./config.status config.status: creating data/Makefile config.status: creating scripts/Config.pm config.status: creating Makefile m-kouki@shinzan:~/HTS/HTS-demo_NIT-ATR503-M001$ make make[1]: ディレクトリ `/home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data' に入ります # Extracting MGC or MGC-LSP coefficients from raw audio mkdir -p mgc for raw in raw/nitech_jp_atr503_m001_*.raw; do \ base=`basename ${raw} .raw`; \ if [ -s ${raw} ]; then \ if [ 0 -eq 1 ]; then \ /home/m-kouki/HTS/SPTK/bin/swab +s ${raw} | /home/m-kouki/HTS/SPTK/bin/x2x +sf > tmp; \ else \ /home/m-kouki/HTS/SPTK/bin/x2x +sf ${raw} > tmp; \ fi; \ if [ 0 -eq 0 ]; then \ echo "Extracting MGC coefficients from ${raw}"; \ /home/m-kouki/HTS/SPTK/bin/frame +f -l 400 -p 80 tmp | \ /home/m-kouki/HTS/SPTK/bin/window -l 400 -L 512 -w 1 -n 1 | \ /home/m-kouki/HTS/SPTK/bin/mcep -a 0.42 -m 24 -l 512 > mgc/${base}.mgc; \ else \ echo "Extracting MGC-LSP coefficients from ${raw}"; \ SAMPKHZ=`expr 16000 / 1000`; \ if [ 1 -eq 1 ]; then \ GAINOPT="-l"; \ fi; \ /home/m-kouki/HTS/SPTK/bin/frame +f -l 400 -p 80 tmp | \ /home/m-kouki/HTS/SPTK/bin/window -l 400 -L 512 -w 1 -n 1 | \ /home/m-kouki/HTS/SPTK/bin/mcep -a 0.42 -c 0 -m 24 -l 512 -o 4 | \ /home/m-kouki/HTS/SPTK/bin/lpc2lsp -m 24 -s ${SAMPKHZ} ${GAINOPT} -n 512 -p 8 -d 1e-6 > mgc/${base}.mgc; \ fi; \ if [ -n "`/home/m-kouki/HTS/SPTK/bin/nan mgc/${base}.mgc`" ]; then \ echo " Failed to extract MGC coefficients from ${raw}"; \ rm -f mgc/${base}.mgc; \ fi; \ fi; \ done Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a01.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a02.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a03.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a04.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a05.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a06.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a07.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a08.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a09.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a10.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a11.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a12.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a13.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a14.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a15.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a16.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a17.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a18.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a19.raw Extracting MGC coefficients from raw/nitech_jp_atr503_m001_a20.raw rm -f tmp # Extracting log f0 sequence from raw audio mkdir -p lf0 for raw in raw/nitech_jp_atr503_m001_*.raw; do \ base=`basename ${raw} .raw`; \ if [ -s ${raw} ]; then \ echo "Extracting f0 from ${raw}"; \ count=`echo "0.005 * 16000 " | /usr/bin/bc -l`; \ /home/m-kouki/HTS/SPTK/bin/step -l `printf "%.0f" ${count}` -v 0.0 | \ /home/m-kouki/HTS/SPTK/bin/x2x +fs > tmp.head; \ count=`echo "0.025 * 16000 " | /usr/bin/bc -l`; \ /home/m-kouki/HTS/SPTK/bin/step -l `printf "%.0f" ${count}` -v 0.0 | \ /home/m-kouki/HTS/SPTK/bin/x2x +fs > tmp.tail; \ cat tmp.head ${raw} tmp.tail | \ /home/m-kouki/HTS/SPTK/bin/x2x +sf > tmp; \ leng=`/home/m-kouki/HTS/SPTK/bin/x2x +fa tmp | /usr/bin/wc -l`; \ /home/m-kouki/HTS/SPTK/bin/nrand -l ${leng} | /home/m-kouki/HTS/SPTK/bin/sopr -m 50 | /home/m-kouki/HTS/SPTK/bin/vopr -a tmp | \ /home/m-kouki/HTS/SPTK/bin/x2x +fs > tmp.raw; \ /home/m-kouki/HTS/ActiveTcl/bin/tclsh scripts/getf0.tcl -l -lf0 -H 200 -L 60 -p 80 -r 16000 tmp.raw | \ /home/m-kouki/HTS/SPTK/bin/x2x +af > lf0/${base}.lf0; \ if [ -n "`/home/m-kouki/HTS/SPTK/bin/nan lf0/${base}.lf0`" ]; then \ echo " Failed to extract log f0 from ${raw}"; \ rm -f lf0/${base}.lf0; \ fi; \ fi; \ done Extracting f0 from raw/nitech_jp_atr503_m001_a01.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a02.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a03.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a04.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a05.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a06.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a07.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a08.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a09.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a10.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a11.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a12.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a13.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a14.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a15.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a16.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a17.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a18.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a19.raw Unable to open mixer /dev/mixer Extracting f0 from raw/nitech_jp_atr503_m001_a20.raw Unable to open mixer /dev/mixer rm -f tmp tmp.head tmp.tail tmp.raw # Composing training data files from mgc and lf0 files mkdir -p cmp for j in 1; do \ MGCDIM=`expr 24 + 1`; \ LF0DIM=1; \ MGCWINDIM=`expr 3 \* ${MGCDIM}`; \ LF0WINDIM=`expr 3 \* ${LF0DIM}`; \ BYTEPERFRAME=`expr 4 \* \( ${MGCWINDIM} + ${LF0WINDIM} \)`; \ for mgc in mgc/nitech_jp_atr503_m001_*.mgc; do \ base=`basename ${mgc} .mgc`; \ MGCWINS=""; \ LF0WINS=""; \ if [ -s ${mgc} -a -s lf0/${base}.lf0 ]; then \ i=1; \ echo "Composing training data for ${base}"; \ while [ ${i} -le 3 ]; do \ eval MGCWINS=\"${MGCWINS} win/mgc.win${i}\"; \ i=`expr ${i} + 1`; \ done; \ /usr/bin/perl scripts/window.pl ${MGCDIM} ${mgc} ${MGCWINS} > cmp/tmp.mgc; \ i=1; \ while [ ${i} -le 3 ]; do \ eval LF0WINS=\"${LF0WINS} win/lf0.win${i}\"; \ i=`expr ${i} + 1`; \ done; \ /usr/bin/perl scripts/window.pl ${LF0DIM} lf0/${base}.lf0 ${LF0WINS} > cmp/tmp.lf0; \ /home/m-kouki/HTS/SPTK/bin/merge +f -s 0 -l ${LF0WINDIM} -L ${MGCWINDIM} cmp/tmp.mgc < cmp/tmp.lf0 > cmp/tmp.cmp; \ /usr/bin/perl scripts/addhtkheader.pl 16000 80 ${BYTEPERFRAME} 9 cmp/tmp.cmp > cmp/${base}.cmp; \ fi; \ done; \ done Composing training data for nitech_jp_atr503_m001_a01 Composing training data for nitech_jp_atr503_m001_a02 Composing training data for nitech_jp_atr503_m001_a03 Composing training data for nitech_jp_atr503_m001_a04 Composing training data for nitech_jp_atr503_m001_a05 Composing training data for nitech_jp_atr503_m001_a06 Composing training data for nitech_jp_atr503_m001_a07 Composing training data for nitech_jp_atr503_m001_a08 Composing training data for nitech_jp_atr503_m001_a09 Composing training data for nitech_jp_atr503_m001_a10 Composing training data for nitech_jp_atr503_m001_a11 Composing training data for nitech_jp_atr503_m001_a12 Composing training data for nitech_jp_atr503_m001_a13 Composing training data for nitech_jp_atr503_m001_a14 Composing training data for nitech_jp_atr503_m001_a15 Composing training data for nitech_jp_atr503_m001_a16 Composing training data for nitech_jp_atr503_m001_a17 Composing training data for nitech_jp_atr503_m001_a18 Composing training data for nitech_jp_atr503_m001_a19 Composing training data for nitech_jp_atr503_m001_a20 rm -f cmp/tmp* # Generating monophone and fullcontext Master Label Files (MLF) echo "#!MLF!#" > labels/mono.mlf echo "\"*/nitech_jp_atr503_m001_*.lab\" -> \"/home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data/labels/mono\"" >> labels/mono.mlf echo "#!MLF!#" > labels/full.mlf echo "\"*/nitech_jp_atr503_m001_*.lab\" -> \"/home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data/labels/full\"" >> labels/full.mlf # Generating a fullcontext model list file mkdir -p lists rm -f tmp for lab in labels/full/nitech_jp_atr503_m001_*.lab; do \ if [ -s ${lab} -a -s labels/mono/`basename ${lab}` -a -s cmp/`basename ${lab} .lab`.cmp ]; then \ sed -e "s/.* //g" ${lab} >> tmp; \ fi \ done sort -u tmp > lists/full.list rm -f tmp # Generating a fullcontext model list file which includes unseen models rm -f tmp cat lists/full.list > tmp for lab in labels/gen/*.lab; do \ sed -e "s/.* //g" ${lab} >> tmp; \ done sort -u tmp > lists/full_all.list rm -f tmp # Generating a monophone list file rm -f tmp for lab in labels/mono/nitech_jp_atr503_m001_*.lab; do \ if [ -s ${lab} -a -s labels/full/`basename ${lab}` -a -s cmp/`basename ${lab} .lab`.cmp ]; then \ sed -e "s/.* //g" ${lab} >> tmp; \ fi \ done sort -u tmp > lists/mono.list rm -f tmp # Generating a trainig data script mkdir -p scp rm -f scp/train.scp for cmp in /home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data/cmp/nitech_jp_atr503_m001_*.cmp; do \ if [ -s ${cmp} -a -s labels/mono/`basename ${cmp} .cmp`.lab -a -s labels/full/`basename ${cmp} .cmp`.lab ]; then \ echo ${cmp} >> scp/train.scp; \ fi \ done # Generating a generation label script rm -f scp/gen.scp for lab in /home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data/labels/gen/*.lab; do \ echo ${lab} >> scp/gen.scp; \ done make[1]: ディレクトリ `/home/m-kouki/HTS/HTS-demo_NIT-ATR503-M001/data' から出ます echo "Running a training/synthesis perl script (Training.pl) in background...." Running a training/synthesis perl script (Training.pl) in background.... /usr/bin/perl scripts/Training.pl scripts/Config.pm > log 2>&1 &