Dawn@4: function vars = vs_Initialize() Dawn@4: Dawn@4: % check if program is running on PC or a max/unix Dawn@4: if (ispc) Dawn@4: vars.dirdelimiter = '\'; Dawn@4: else Dawn@4: vars.dirdelimiter = '/'; Dawn@4: end Dawn@4: Dawn@4: vars.wavdir = ['.' vars.dirdelimiter]; Dawn@4: vars.matdir = ['.' vars.dirdelimiter]; Dawn@4: Dawn@4: vars.windowsize = 25; Dawn@4: vars.frameshift = 1; Dawn@4: vars.preemphasis = 0.96; Dawn@4: vars.NotANumber = '0'; Dawn@4: vars.maxstrF0 = 500; % straight takes longer for higher F0 Dawn@4: vars.minstrF0 = 40; Dawn@4: vars.maxF0 = 500; % snack settings Dawn@4: vars.minF0 = 40; Dawn@4: vars.maxstrdur = 10; % 10 seconds Dawn@4: vars.tbuffer = 25; % extend this amount if using textgrid segmentation Dawn@4: vars.F0OtherEnable = 0; Dawn@4: vars.F0OtherOffset = 0; Dawn@4: vars.F0OtherCommand = ''; Dawn@4: vars.FormantsOtherEnable = 0; Dawn@4: vars.FormantsOtherOffset = 0; Dawn@4: vars.FormantsOtherCommand = ''; Dawn@4: vars.TextgridIgnoreList = '"", " ", "SIL"'; Dawn@4: vars.TextgridTierNumber = 1; Dawn@4: vars.frame_precision = 1; % [KY 20101016]: how many frames can you be off by in aligning data vectors by timepoint Dawn@4: Dawn@4: %F0 Praat stuff Dawn@4: vars.F0Praatmax = 500; % praat F0 settings Dawn@4: vars.F0Praatmin = 40; Dawn@4: vars.F0PraatVoiceThreshold = 0.45; Dawn@4: vars.F0PraatOctiveJumpCost = 0.35; Dawn@4: vars.F0PraatSilenceThreshold = 0.03; Dawn@4: vars.F0PraatVoiceThreshold = 0.45; Dawn@4: vars.F0PraatOctaveCost = 0.01; Dawn@4: vars.F0PraatOctaveJumpCost = 0.35; Dawn@4: vars.F0PraatVoicedUnvoicedCost = 0.14; Dawn@4: vars.F0PraatKillOctaveJumps = 0; Dawn@4: vars.F0PraatSmooth = 0; Dawn@4: vars.F0PraatSmoothingBandwidth = 5; Dawn@4: vars.F0PraatInterpolate = 0; % interpolate over missing values Dawn@4: vars.F0Praatmethod = 'cc'; % set cross-correlation as default for Praat f0 estimation Dawn@4: Dawn@4: vars.recursedir = 0; Dawn@4: vars.linkmatdir = 1; Dawn@4: vars.linkwavdir = 1; Dawn@4: Dawn@4: vars.Nperiods = 3; % this sets out many pulses to use in the parameter estimation Dawn@4: vars.Nperiods_EC = 5; % both energy, CPP and HNR calculations use this - larger window, more averaging Dawn@4: Dawn@4: % Set subharmonic-to-harmonic ratio (SHR) parameters (KY) Dawn@4: vars.SHRmax = 500; % upper bound for f0 candidates Dawn@4: vars.SHRmin = 40; % lower bound for f0 candidates Dawn@4: vars.SHRThreshold = 0.4; % threshold for SHR for choosing pitch halved candidate Dawn@4: Dawn@4: vars.EGGheaders = 'CQ, CQ_H, CQ_PM, CQ_HT, peak_Vel, peak_Vel_Time, min_Vel, min_Vel_Time, SQ2-SQ1, SQ4-SQ3, ratio'; Dawn@4: vars.EGGtimelabel = 'Frame'; Dawn@4: Dawn@4: % default parameters Dawn@4: vars.F0algorithm = 'F0 (Straight)'; Dawn@4: vars.FMTalgorithm = 'F1, F2, F3, F4 (Snack)'; Dawn@4: Dawn@4: % Parameters from Parameter Estimation (PE) Dawn@4: %vars.PE_searchsubdir = 1; Dawn@4: vars.PE_savematwithwav = 1; Dawn@4: vars.PE_processwith16k = 1; Dawn@4: vars.PE_useTextgrid = 1; Dawn@4: vars.PE_showwaveforms = 0; Dawn@4: vars.PE_params = func_getparameterlist(); Dawn@4: Dawn@4: % Parameters from Parameter Display (PD) Dawn@4: vars.PD_wavdir = vars.wavdir; Dawn@4: vars.PD_matdir = vars.matdir; Dawn@4: vars.PD_paramselection = []; Dawn@4: Dawn@4: % Parameters from Output to Text (OT) Dawn@4: vars.OT_selectedParams = []; Dawn@4: vars.OT_matdir = vars.matdir; % default to the mat dir Dawn@4: vars.OT_includesubdir = 1; Dawn@4: vars.OT_Textgriddir = vars.matdir; Dawn@4: vars.OT_includeEGG = 0; Dawn@4: vars.OT_EGGdir = vars.matdir; Dawn@4: vars.OT_outputdir = vars.matdir; Dawn@4: vars.OT_includeTextgridLabels = 1; Dawn@4: vars.OT_columndelimiter = 1; % default is tab Dawn@4: vars.OT_noSegments = 1; Dawn@4: vars.OT_useSegments = 0; Dawn@4: vars.OT_numSegments = 9; Dawn@4: vars.OT_singleFile = 1; Dawn@4: vars.OT_multipleFiles = 0; Dawn@4: Dawn@4: vars.OT_singleFilename = 'output.txt'; Dawn@4: vars.OT_F0CPPEfilename = 'F0_CPP_E_HNR.txt'; Dawn@4: vars.OT_Formantsfilename = 'Formants.txt'; Dawn@4: vars.OT_Hx_Axfilename = 'HA.txt'; Dawn@4: vars.OT_HxHxfilename = 'HxHx.txt'; Dawn@4: vars.OT_HxAxfilename = 'HxAx.txt'; Dawn@4: vars.OT_EGGfilename = 'EGG.txt'; Dawn@4: Dawn@4: vars.OT_Single = [vars.OT_outputdir vars.OT_singleFilename]; Dawn@4: vars.OT_F0CPPE = [vars.OT_outputdir vars.OT_F0CPPEfilename]; Dawn@4: vars.OT_Formants = [vars.OT_outputdir vars.OT_Formantsfilename]; Dawn@4: vars.OT_HA = [vars.OT_outputdir vars.OT_Hx_Axfilename]; Dawn@4: vars.OT_HxHx = [vars.OT_outputdir vars.OT_HxHxfilename]; Dawn@4: vars.OT_HxAx = [vars.OT_outputdir vars.OT_HxAxfilename]; Dawn@4: vars.OT_EGG = [vars.OT_outputdir vars.OT_EGGfilename]; Dawn@4: Dawn@4: % parameters for Manual Data Dawn@4: vars.MD_wavdir = vars.wavdir; Dawn@4: vars.MD_matdir = vars.matdir; Dawn@4: vars.MD_offset = 0; Dawn@4: vars.MD_resample = 0; Dawn@4: vars.MD_invalidentry = '0, NaN'; Dawn@4: vars.MD_matwithwav = 1; Dawn@4: Dawn@4: % parameters for Output To EMU Dawn@4: vars.OTE_matdir = vars.matdir; Dawn@4: vars.OTE_outputdir = vars.matdir; Dawn@4: vars.OTE_paramselection = []; Dawn@4: vars.OTE_saveEMUwithmat = 1; Dawn@4: Dawn@4: % parameters for Outputs Dawn@4: vars.O_smoothwinsize = 20; Dawn@4: Dawn@4: % parameters for Input (wav) files Dawn@4: vars.I_searchstring = '*.wav'; Dawn@4: Dawn@4: % these variables are not set in the gui Dawn@4: vars.PD_plottype = {'b', 'r', 'g', 'k', 'c', 'b:', 'r:', 'g:', 'k:', 'c:', 'b--', 'r--', 'g--', 'k--', 'c--'}; Dawn@4: vars.PD_maxplots = length(vars.PD_plottype); Dawn@4: