Edinburgh Speech Tools  2.1-release
EST_ChannelType.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

Channel Type Numbering Scheme

Channel types are given numbers containing the following information: {itemize} A numeric index. A Number of differentiations 0-2 0 for start, 1 for end {itemize} Things which do not require all these features are packed in according to the following rules: {itemize} Single values which can be differentiated are paired as if they were start and end positions of an unknown type of coefficient. Single values which can't be differentiated are put in the positions where the 3rd derivatives would logically be found. {itemize}

#define EST_ChannelTypeCT(T)   ( (T) >> 3 )
 extract the coefficient type More...
 
#define EST_ChannelTypeD(T)   ( (T) >> 1 & 3 )
 extract the number of differentiations More...
 
#define EST_ChannelTypeSE(T)   ( (T) & 1 )
 extract the start/end flag. More...
 
#define EST_ChannelTypeStart(T)
 get start from end More...
 
#define EST_ChannelTypeEnd(T)
 get end from start More...
 
#define EST_ChannelTypeIncD(T)
 differentiate once More...
 
#define EST_ChannelTypeDelta(T, N)
 differentiate N times More...
 
#define EST_ChannelTypeDecD(T)
 integrate once More...
 
#define EST_CoefChannelId(CT, D, SE)   ( (CT)<<3 | ((D)<<1 & 6) | ((SE)&1) )
 
#define EST_DiffChannelId(N, D)   ( EST_CoefChannelId(((N)>>1)+(int)cot_free, D, (N)&1) )
 
#define EST_ChannelId(N)   EST_CoefChannelId((N)>>1, 3, (N)&1)
 

Typedefs

typedef enum EST_ChannelType EST_ChannelType
 

Enumerations

enum  EST_ChannelType {
  channel_unknown = EST_ChannelId(0), channel_order = EST_ChannelId(1), first_channel_type =channel_order, channel_peak = EST_ChannelId(2),
  channel_duration = EST_ChannelId(3), channel_length = EST_ChannelId(4), channel_offset = EST_ChannelId(5), channel_voiced = EST_ChannelId(6),
  channel_frame = EST_ChannelId(7), channel_time = EST_ChannelId(8), channel_power = EST_DiffChannelId(0,0), channel_power_d = EST_DiffChannelId(0,1),
  channel_power_a = EST_DiffChannelId(0,2), channel_energy = EST_DiffChannelId(1,0), channel_energy_d = EST_DiffChannelId(1,1), channel_energy_a = EST_DiffChannelId(1,2),
  channel_f0 = EST_DiffChannelId(2,0), channel_f0_d = EST_DiffChannelId(2,1), channel_f0_a = EST_DiffChannelId(2,2), channel_lpc_0 = EST_CoefChannelId(cot_lpc,0,0),
  channel_lpc_N = EST_CoefChannelId(cot_lpc,0,1), channel_lpc_d_0 = EST_CoefChannelId(cot_lpc,1,0), channel_lpc_d_N = EST_CoefChannelId(cot_lpc,1,1), channel_lpc_a_0 = EST_CoefChannelId(cot_lpc,2,0),
  channel_lpc_a_N = EST_CoefChannelId(cot_lpc,2,1), channel_reflection_0 = EST_CoefChannelId(cot_reflection,0,0), channel_reflection_N = EST_CoefChannelId(cot_reflection,0,1), channel_reflection_d_0 = EST_CoefChannelId(cot_reflection,1,0),
  channel_reflection_d_N = EST_CoefChannelId(cot_reflection,1,1), channel_reflection_a_0 = EST_CoefChannelId(cot_reflection,2,0), channel_reflection_a_N = EST_CoefChannelId(cot_reflection,2,1), channel_cepstrum_0 = EST_CoefChannelId(cot_cepstrum,0,0),
  channel_cepstrum_N = EST_CoefChannelId(cot_cepstrum,0,1), channel_cepstrum_d_0 = EST_CoefChannelId(cot_cepstrum,1,0), channel_cepstrum_d_N = EST_CoefChannelId(cot_cepstrum,1,1), channel_cepstrum_a_0 = EST_CoefChannelId(cot_cepstrum,2,0),
  channel_cepstrum_a_N = EST_CoefChannelId(cot_cepstrum,2,1), channel_melcepstrum_0 = EST_CoefChannelId(cot_melcepstrum,0,0), channel_melcepstrum_N = EST_CoefChannelId(cot_melcepstrum,0,1), channel_melcepstrum_d_0 = EST_CoefChannelId(cot_melcepstrum,1,0),
  channel_melcepstrum_d_N = EST_CoefChannelId(cot_melcepstrum,1,1), channel_melcepstrum_a_0 = EST_CoefChannelId(cot_melcepstrum,2,0), channel_melcepstrum_a_N = EST_CoefChannelId(cot_melcepstrum,2,1), channel_fbank_0 = EST_CoefChannelId(cot_fbank,0,0),
  channel_fbank_N = EST_CoefChannelId(cot_fbank,0,1), channel_fbank_d_0 = EST_CoefChannelId(cot_fbank,1,0), channel_fbank_d_N = EST_CoefChannelId(cot_fbank,1,1), channel_fbank_a_0 = EST_CoefChannelId(cot_fbank,2,0),
  channel_fbank_a_N = EST_CoefChannelId(cot_fbank,2,1), channel_lsf_0 = EST_CoefChannelId(cot_lsf,0,0), channel_lsf_N = EST_CoefChannelId(cot_lsf,0,1), channel_lsf_d_0 = EST_CoefChannelId(cot_lsf,1,0),
  channel_lsf_d_N = EST_CoefChannelId(cot_lsf,1,1), channel_lsf_a_0 = EST_CoefChannelId(cot_lsf,2,0), channel_lsf_a_N = EST_CoefChannelId(cot_lsf,2,1), channel_tubearea_0 = EST_CoefChannelId(cot_tubearea,0,0),
  channel_tubearea_N = EST_CoefChannelId(cot_tubearea,0,1), channel_tubearea_d_0 = EST_CoefChannelId(cot_tubearea,1,0), channel_tubearea_d_N = EST_CoefChannelId(cot_tubearea,1,1), channel_tubearea_a_0 = EST_CoefChannelId(cot_tubearea,2,0),
  channel_tubearea_a_N = EST_CoefChannelId(cot_tubearea,2,1), channel_filter_0 = EST_CoefChannelId(cot_filter,0,0), channel_filter_N = EST_CoefChannelId(cot_filter,0,1), channel_filter_d_0 = EST_CoefChannelId(cot_filter,1,0),
  channel_filter_d_N = EST_CoefChannelId(cot_filter,1,1), channel_filter_a_0 = EST_CoefChannelId(cot_filter,2,0), channel_filter_a_N = EST_CoefChannelId(cot_filter,2,1), channel_user1_0 = EST_CoefChannelId(cot_user1,0,0),
  channel_user1_N = EST_CoefChannelId(cot_user1,0,1), channel_user1_d_0 = EST_CoefChannelId(cot_user1,1,0), channel_user1_d_N = EST_CoefChannelId(cot_user1,1,1), channel_user1_a_0 = EST_CoefChannelId(cot_user1,2,0),
  channel_user1_a_N = EST_CoefChannelId(cot_user1,2,1), channel_user2_0 = EST_CoefChannelId(cot_user2,0,0), channel_user2_N = EST_CoefChannelId(cot_user2,0,1), channel_user2_d_0 = EST_CoefChannelId(cot_user2,1,0),
  channel_user2_d_N = EST_CoefChannelId(cot_user2,1,1), channel_user2_a_0 = EST_CoefChannelId(cot_user2,2,0), channel_user2_a_N = EST_CoefChannelId(cot_user2,2,1), last_channel_type = channel_f0_a,
  num_channel_types
}
 
Channel Types
enum  EST_CoefficientType {
  cot_lpc =0, cot_first =cot_lpc, cot_reflection, cot_cepstrum,
  cot_melcepstrum, cot_fbank, cot_lsf, cot_tubearea,
  cot_filter, cot_user1, cot_user2, cot_free
}
 

Macro Definition Documentation

#define EST_ChannelTypeCT (   T)    ( (T) >> 3 )

extract the coefficient type

Definition at line 99 of file EST_ChannelType.h.

#define EST_ChannelTypeD (   T)    ( (T) >> 1 & 3 )

extract the number of differentiations

Definition at line 101 of file EST_ChannelType.h.

#define EST_ChannelTypeSE (   T)    ( (T) & 1 )

extract the start/end flag.

Definition at line 103 of file EST_ChannelType.h.

#define EST_ChannelTypeStart (   T)
Value:
0)
#define EST_CoefChannelId(CT, D, SE)
#define EST_ChannelTypeCT(T)
extract the coefficient type
#define EST_ChannelTypeD(T)
extract the number of differentiations

get start from end

Definition at line 106 of file EST_ChannelType.h.

#define EST_ChannelTypeEnd (   T)
Value:
1)
#define EST_CoefChannelId(CT, D, SE)
#define EST_ChannelTypeCT(T)
extract the coefficient type
#define EST_ChannelTypeD(T)
extract the number of differentiations

get end from start

Definition at line 111 of file EST_ChannelType.h.

#define EST_ChannelTypeIncD (   T)
Value:
#define EST_CoefChannelId(CT, D, SE)
#define EST_ChannelTypeCT(T)
extract the coefficient type
#define EST_ChannelTypeD(T)
extract the number of differentiations
#define EST_ChannelTypeSE(T)
extract the start/end flag.

differentiate once

Definition at line 116 of file EST_ChannelType.h.

#define EST_ChannelTypeDelta (   T,
 
)
Value:
EST_ChannelTypeD(T)+(N), \
#define EST_CoefChannelId(CT, D, SE)
#define EST_ChannelTypeCT(T)
extract the coefficient type
#define EST_ChannelTypeD(T)
extract the number of differentiations
#define EST_ChannelTypeSE(T)
extract the start/end flag.

differentiate N times

Definition at line 121 of file EST_ChannelType.h.

#define EST_ChannelTypeDecD (   T)
Value:
#define EST_CoefChannelId(CT, D, SE)
#define EST_ChannelTypeCT(T)
extract the coefficient type
#define EST_ChannelTypeD(T)
extract the number of differentiations
#define EST_ChannelTypeSE(T)
extract the start/end flag.

integrate once

Definition at line 126 of file EST_ChannelType.h.

#define EST_CoefChannelId (   CT,
  D,
  SE 
)    ( (CT)<<3 | ((D)<<1 & 6) | ((SE)&1) )

Build a number representing a channel type for a coefficient type.

CT = coefficient type D = Number of levels of differentiation. SE = Start=0 end=1

Definition at line 138 of file EST_ChannelType.h.

#define EST_DiffChannelId (   N,
 
)    ( EST_CoefChannelId(((N)>>1)+(int)cot_free, D, (N)&1) )

Build a number representing a channel type for a single value which can N = count starting from 0 D = Number of levels of differentiation. be differentiated.

Definition at line 146 of file EST_ChannelType.h.

#define EST_ChannelId (   N)    EST_CoefChannelId((N)>>1, 3, (N)&1)

Build a number representing a channel type for a simple value such as length or voicing probability.

Definition at line 152 of file EST_ChannelType.h.

Typedef Documentation

Definition at line 287 of file EST_ChannelType.h.

Enumeration Type Documentation

Symbolic names for coefficient types.

Used to record what kinds of information are in a track and anywhere else we need to refer to coefficient types.

See also
EST_ChannelType
Enumerator
cot_lpc 

Linear prediction filter.

cot_first 

guaranteed to be the first known type

cot_reflection 

reflection coefficients.

cot_cepstrum 

Cepstral coefficients.

cot_melcepstrum 

Mel Scale Cepstrum.

cot_fbank 

Mel Scale filter bank.

cot_lsf 

Line spectral pairs.

cot_tubearea 

Tube areas for filter.

cot_filter 

Unknown filter type.

cot_user1 

Free for experimentation.

cot_user2 

Free for experimentation.

cot_free 

Guaranteed to be one more than last legal coefficient type.

Definition at line 49 of file EST_ChannelType.h.

Symbolic names for track channels. Used in track maps to label channels so they can be accessed without knowing exactly where in the track they are.

See also
EST_CoefficientType
EST_TrackMap
EST_Track
EST_TrackMap:example
Author
Richard Caley rjc@c.nosp@m.str..nosp@m.ed.ac.nosp@m..uk
Version
Id
EST_ChannelType.h,v 1.4 2009/07/03 17:13:56 awb Exp
Enumerator
channel_unknown 

Value to return for errors, never occurs in TrackMaps.

channel_order 

order of analysis.

first_channel_type 

So we know how many there are.

channel_peak 

Peak amplitude.

channel_duration 

Duration of section of signal.

channel_length 

Length of section in samples.

channel_offset 

Offset from frame center to center of window.

channel_voiced 

Voicing decision.

channel_frame 

Number of related frame in another track.

channel_time 

Time in seconds this frame refers to.

channel_power 

RMS power of section of signal.

channel_power_d 
channel_power_a 
channel_energy 

RMS energy of section of signal.

channel_energy_d 
channel_energy_a 
channel_f0 

F0 in Hz.

channel_f0_d 
channel_f0_a 
channel_lpc_0 
channel_lpc_N 
channel_lpc_d_0 
channel_lpc_d_N 
channel_lpc_a_0 
channel_lpc_a_N 
channel_reflection_0 
channel_reflection_N 
channel_reflection_d_0 
channel_reflection_d_N 
channel_reflection_a_0 
channel_reflection_a_N 
channel_cepstrum_0 
channel_cepstrum_N 
channel_cepstrum_d_0 
channel_cepstrum_d_N 
channel_cepstrum_a_0 
channel_cepstrum_a_N 
channel_melcepstrum_0 
channel_melcepstrum_N 
channel_melcepstrum_d_0 
channel_melcepstrum_d_N 
channel_melcepstrum_a_0 
channel_melcepstrum_a_N 
channel_fbank_0 
channel_fbank_N 
channel_fbank_d_0 
channel_fbank_d_N 
channel_fbank_a_0 
channel_fbank_a_N 
channel_lsf_0 
channel_lsf_N 
channel_lsf_d_0 
channel_lsf_d_N 
channel_lsf_a_0 
channel_lsf_a_N 
channel_tubearea_0 
channel_tubearea_N 
channel_tubearea_d_0 
channel_tubearea_d_N 
channel_tubearea_a_0 
channel_tubearea_a_N 
channel_filter_0 
channel_filter_N 
channel_filter_d_0 
channel_filter_d_N 
channel_filter_a_0 
channel_filter_a_N 
channel_user1_0 
channel_user1_N 
channel_user1_d_0 
channel_user1_d_N 
channel_user1_a_0 
channel_user1_a_N 
channel_user2_0 
channel_user2_N 
channel_user2_d_0 
channel_user2_d_N 
channel_user2_a_0 
channel_user2_a_N 
last_channel_type 
num_channel_types 

Can be used to size arrays etc.

Definition at line 168 of file EST_ChannelType.h.