# UNIX HTS-demo_NIT-ATR503-M001 MAKEFILE
#
# This makefile will build various files for demonstraition of 
# HMM-based speech synthesis (training data, label files, etc.).
#
# When invoked it expects to have the following environment variable
# set
#      SPTKDIR        - set to the directory which includes SPTK executable
#

CURRENTDIR=`pwd`

SPTKDIR     = /usr/local/SPTK/bin

SPEAKER     = m001
DATASET     = nit_jp_ATR503


# order of Mel-cepstral analysis

MCEPORDER   = 18


# swap bytes or not 
# Little Endian (x86, Alpha, VAX, etc.)    -> BYTESWAP = 0
# Big Endian (PowerPC, Sparc, 680x0, etc.) -> BYTESWAP = 1

BYTESWAP    = 0


all:	init data list

init:
	sed 's:CURRENTDIR:'${CURRENTDIR}':g' ${CURRENTDIR}/labels/mono.mlf | \
	sed 's:SPEAKER:'${SPEAKER}':g' | \
	sed 's:DATASET:'${DATASET}':g' > ${CURRENTDIR}/labels/mono_${SPEAKER}.mlf

	sed 's:CURRENTDIR:'${CURRENTDIR}':g' ${CURRENTDIR}/labels/full.mlf | \
	sed 's:SPEAKER:'${SPEAKER}':g' | \
	sed 's:DATASET:'${DATASET}':g' > ${CURRENTDIR}/labels/full_${SPEAKER}.mlf

	sed 's:CURRENTDIR:'${CURRENTDIR}':g' ${CURRENTDIR}/scripts/mkdata.in | \
	sed 's:SPTKDIR:'${SPTKDIR}':g' | \
	sed 's:MCEPORDER:'${MCEPORDER}':g' | \
	sed 's:BYTESWAP:'${BYTESWAP}':g' | \
	sed 's:SPEAKER:'${SPEAKER}':g' > ${CURRENTDIR}/scripts/mkdata.pl
       
data:
	perl ${CURRENTDIR}/scripts/mkdata.pl

list:
	cat ${CURRENTDIR}/labels/fullcontext/${SPEAKER}/*.lab | \
	sort -u > ${CURRENTDIR}/lists/full_${SPEAKER}.list

	sort -u ${CURRENTDIR}/lists/full_${SPEAKER}.list \
	 ${CURRENTDIR}/labels/fullcontext/gen/*.lab \
	 > ${CURRENTDIR}/lists/full_${SPEAKER}_all.list

	sed -e "s/[0-9]*//g" ${CURRENTDIR}/labels/monophone/${SPEAKER}/*.lab | \
	sed -e "s/ *//g" | sort -u > ${CURRENTDIR}/lists/mono_${SPEAKER}.list

	ls ${CURRENTDIR}/cmp/${DATASET}_${SPEAKER}*.cmp > ${CURRENTDIR}/lists/data_${DATASET}_${SPEAKER}.scp


clean: clean-init clean-data clean-list

clean-init:
	@ rm -f ${CURRENTDIR}/labels/mono_${SPEAKER}.mlf
	@ rm -f ${CURRENTDIR}/labels/full_${SPEAKER}.mlf
	@ rm -f ${CURRENTDIR}/scripts/mkdata.pl

clean-data:
	@ rm -f ${CURRENTDIR}/log_f0/*.lf0
	@ rm -f ${CURRENTDIR}/mcep/*.mcep
	@ rm -f ${CURRENTDIR}/cmp/*.cmp

clean-list:
	@ rm -f ${CURRENTDIR}/lists/full_${SPEAKER}.list
	@ rm -f ${CURRENTDIR}/lists/full_${SPEAKER}_all.list
	@ rm -f ${CURRENTDIR}/lists/mono_${SPEAKER}.list
	@ rm -f ${CURRENTDIR}/lists/data_${DATASET}_${SPEAKER}.scp

	
