STRAIGHT for program development

This page consists of the latest m-files of STRAIGHT. The four new m-files were designed to provide an easy means for using STRAIGHT in command mode and/or batch mode. It provides (hopefully) readable access to analysis and synthesis parameters. It also allows you to use other F0 extraction programs instead of using the STRAIGHT F0 extractor based on a fixed-point analysis. Please check the STRAIGHT support page for the latest information and useful links.

17 September, 2005.
Hideki Kawahara

Installation

Please add this directory to your Matlab path.

Usage of four wrapper m files

Usually, the following four wrapper m-files are sufficient for your own program development.

exstraightsource
   Source information extraction for STRAIGHT
   [f0raw,ap,analysisParams]=exstraightsource(x,fs,optionalParams)
   Input parameters
   x   : input signal. if it is multi channel, only the first channel is used
   fs  : sampling frequency (Hz)
   optionalParams : Optional parameters for analysis
   Output parameters
   f0raw   : fundamental frequency (Hz)
   ap  : amount of aperiodic component in the time frequency representation
       : represented in dB
   analysisParams : Analysis parameters actually used

   Usage:
   Case 1: The simplest method
   [f0raw,ap]=exstraightsource(x,fs); 
   Case 2: You can get to know what parameters were used.
   [f0raw,ap,analysisParams]=exstraightsource(x,fs);
   CAse 3: You can have full control of STRAIGHT synthesis.
       Please use case 2 to find desired parameters to modify.
   [f0raw,ap,analysisParams]=exstraightsource(x,fs,optionalParams);
exstraightspec
   Spectral information extraction for STRAIGHT
   [n3sgram,nalysisParamsSp]=exstraightspec(x,f0raw,fs,optionalParamsSP)
   Input parameters
   x   : input signal. only the first channel is analyzed
   f0raw   : fundamental frequency (Hz) in 1 ms temporal resolution
           : set 0 for aperiodic part
   fs  : sampling frequency (Hz)
   optionalParamsSP : spectrum analysis parameters
   Output parameters
   n3sgram : Smoothed time frequency representation (spectrogram)
   analysisParamsSp :  Actually used parameters

   Usage:
   Case 1: The simplest method
   n3sgram = exstraightspec(x,f0raw,fs); 
   Case 2: You can get to know what parameters were used.
   [n3sgram,analysisParamsSp]=exstraightspec(x,f0raw,fs);
   CAse 3: You can have full control of STRAIGHT synthesis.
       Please use case 2 to find desired parameters to modify.
   [n3sgram,analysisParamsSp]=exstraightspec(x,f0raw,fs,optionalParamsSP);
exstraightsynth
   Synthesis using STRAIGHT parameters
   [sy,prmS] = exstraightsynth(f0raw,n3sgram,ap,fs,optionalParamsS)
   Input parameters
   f0raw   : fundamental frequency (Hz) 
   n3sgram : STRAIGHT spectrogram (in absolute value)
   ap      : aperiodic component (dB re. to total power)
   fs      : sampling frequency (Hz)
   optionalParamsS : optional synthesis parameters
   Output parameters
   sy      : synthesized speech
   prmS    : Actually used synthesis parameters

   Usage:
   Case 1: The simplest method
   sy = exstraightsynth(f0raw,n3sgram,ap,fs); 
   Case 2: You can get to know what parameters were used.
   [sy,prmS] = exstraightsynth(f0raw,n3sgram,ap,fs);
   CAse 3: You can have full control of STRAIGHT synthesis.
       Please use case 2 to find desired parameters to modify.
   [sy,prmS] = exstraightsynth(f0raw,n3sgram,ap,fs,optionalParamsS);
exstraightAPind (for use with other F0 extractors)
Pleause use this routine to calculate aperiodicity index when you use other F0 extractors.
Aperiodicity index extraction for STRAIGHT
[ap,analysisParams]=exstraightAPind(x,fs,f0,optionalParams)
 Input parameters
   x   : input signal. if it is multi channel, only the first channel is used
   fs  : sampling frequency (Hz)
   f0  : fundamental frequency (Hz)
   optionalParams : Optional parameters for analysis
Output parameters
   ap  : amount of aperiodic component in the time frequency represntation
       : represented in dB
  analysisParams : Analysis parameters actually used

   Usage:
   Case 1: The simplest method
   ap=exstraightAPind(x,fs,f0); 
   Case 2: You can get to know what parameters were used.
   [ap,analysisParams]=exstraightAPind(x,fs,f0);
   CAse 3: You can have full control of STRAIGHT synthesis.
       Please use case 2 to find desired parameters to modify.
   [ap,analysisParams]=exstraightAPind(x,fs,f0,optionalParams);

Notes on intellectual properties

The procedures and data, so-called STRAIGHT-suite, in this directory are under the copyright of ATR Human Information Processing Research laboratories, Wakayama University, JST and Prof. Hideki Kawahara. No programs (except for trivial ones; such as HzToErbRate and smax) and data in this directory should be distributed without the permission by Prof. Hideki Kawahara, the author of STRAIGHT.. However, the copyright holders do not wish to restrict the use of STRAIGHT-suite for research purpose. Permission for research use is provided without any problem, if requested. If you wish to apply STRAIGHT-suite for commercial use, please contact their agents to get permission to access those items. (Please contact the JST office for details.)

No warranty

STRAIGHT-suite is always under construction. The copyright holders and patent owners do not have any responsibilities for possible damage or loss of assets which may be caused by improper or proper use of STRAIGHT-suite. Please use it at your own risk and please let me know when something strange happened. Your comments, suggestions and/or bug reports are appreciated. However, please also understand that it does not necessarily mean that they are adopted in the future release.

Outdated files

The following files are outdated. They will not be updated. They were not removed only for keeping backward compatibility. Please do not depend on these outdated files. It is strongly recommended to develop your own programs using the command mode interface routines.

defaultparamsorg.m
mktstr.m
plotcpower.m
powerchk.m
straight.m
straightCIv1.m
straightPanel98bak.m
straightpanel98.mat
straightsound.m
syncgui.m

Contents of this page are not for general public. Please do not re-distribute materials on this page.


This page is supported by Hideki Kawahara

kawahara@sys.wakayama-u.ac.jp