50
Ap´ endice A Descripci´on de clases Este ap´ endice se incluye la documentaci´ on de las clases del proyecto generada autom´ati- camente con Doxygen v1.3.8 a partir del c´odigo fuente. Doxygen es un sistema de docu- mentaci´ on para C++, C, Java, Objective-C, IDL (para Corba y Microsoft) y para algunas extensiones de PHP, C# y D. Doxygen puede generar documentaci´ on online (en HTML) y manuales de referencia (en L A T E X) desde un conjunto de archivos de c´odigo fuente documentados. Tambi´ en puede generar la salida en RTF (MS-Word), PostScript, PDF con hiperv´ ınculos, HTML compri- mido,yp´aginas man para Unix. La documentaci´ on se extrae directamente de los archivos de c´odigo fuente, lo que hace mucho m´as f´acil mantener una documentaci´ on consistente con el c´odigo fuente. Se puede configurar Doxigen para extraer la estructura del c´odigo de archivos fuente no documentados. Esto es muy ´ util para encontrar r´apidamente lo que se necesita en distribuciones con mucho c´odigo. Tambi´ en se pueden ver las relaciones existentes entre los distintos elementos de un proyecto mediante la inclusi´on de gr´aficos de dependencia, diagramas de herencia y diagramas de colaboraci´on generados de forma autom´atica. Doxygen se desarrolla bajo Linux, pero de forma que sea portable a otros muchos sistemas operativos. Se ejecuta en muchos sistemas basados en Unix y se dispone de ejecutables para Windows y Mac OS X. 131

Descripci´on de clasesbibing.us.es/proyectos/abreproy/3851/fichero/PFC-A.pdf · extensiones de PHP, C# y D. Doxygen puede generar documentaci´on online ... La documentaci´on se

Embed Size (px)

Citation preview

Apendice A

Descripcion de clases

Este apendice se incluye la documentacion de las clases del proyecto generada automati-camente con Doxygen v1.3.8 a partir del codigo fuente. Doxygen es un sistema de docu-mentacion para C++, C, Java, Objective-C, IDL (para Corba y Microsoft) y para algunasextensiones de PHP, C# y D.

Doxygen puede generar documentacion online (en HTML) y manuales de referencia(en LATEX) desde un conjunto de archivos de codigo fuente documentados. Tambien puedegenerar la salida en RTF (MS-Word), PostScript, PDF con hipervınculos, HTML compri-mido, y paginas man para Unix. La documentacion se extrae directamente de los archivosde codigo fuente, lo que hace mucho mas facil mantener una documentacion consistentecon el codigo fuente.

Se puede configurar Doxigen para extraer la estructura del codigo de archivos fuenteno documentados. Esto es muy util para encontrar rapidamente lo que se necesita endistribuciones con mucho codigo. Tambien se pueden ver las relaciones existentes entrelos distintos elementos de un proyecto mediante la inclusion de graficos de dependencia,diagramas de herencia y diagramas de colaboracion generados de forma automatica.

Doxygen se desarrolla bajo Linux, pero de forma que sea portable a otros muchossistemas operativos. Se ejecuta en muchos sistemas basados en Unix y se dispone deejecutables para Windows y Mac OS X.

131

132 APENDICE A. DESCRIPCION DE CLASES

A.1. Referencia de la Clase CSoundCapture

#include <SoundCapture.h>

Metodos publicos

void Record ()

Comienza la captura de audio.

void CaptureBlock ()

void Stop ()

Detiene la captura de audio.

int GetLength ()

real ∗ GetCaptured ()

Metodos publicos estaticos

CSoundCapture ∗ GetSoundCapture ()

Devuelve la instancia unica de la clase.

void ReleaseSoundCapture ()

Destruye la instancia unica de la clase.

Atributos publicos

DWORD m CapturePosition

Uso provisional.

DWORD m ReadPosition

Uso provisional.

A.1. REFERENCIA DE LA CLASE CSOUNDCAPTURE 133

Metodos privados

CSoundCapture ()

∼CSoundCapture ()

HRESULT Initialize ()

Inicializacion del sistema de grabacion.

void StoreCapturedData ()

Atributos privados

IDirectSoundCapture8 ∗ m pDSC

Dispositio de captura de audio de Direct Sound.

IDirectSoundCaptureBuffer8 ∗ m pDSCBuffer

Buffer del dispositivo de captura de audio.

int m iNotificaciones

Numero de notificaciones para el buffer de captura.

HANDLE ∗ m phNotificationEvent

Handle de notificacion para el buffer.

DSBPOSITIONNOTIFY ∗ m pDSBPosNotify

WAVEFORMATEX m wfx

Estructura de descripcion de la onda de audio.

DSCBUFFERDESC m dscbd

Estructura de descripcion del buffer de captura.

DWORD m dwNextOffSet

Variable para controlar el punto de lectura sobre el buffer.

BYTE ∗ m pbStoredData

unsigned int m uiStoredDataLength

134 APENDICE A. DESCRIPCION DE CLASES

Atributos privados estaticos

CSoundCapture ∗ m pInstance = NULL

Instancia unica de la clase.

A.1.1. Documentacion del constructor y destructor

A.1.1.1. CSoundCapture::CSoundCapture () [private]

Constructor.

El constructor es privado porque la clase sigue el patron singleton. La instancia se creala primera vez que se llama al metodo GetSoundCapture()(p. 135) y se devuelve lamisma instancia en cada llamada posterior al mismo metodo.

A.1.1.2. CSoundCapture::∼CSoundCapture () [private]

Destructor.

El destructor es privado para seguir el patron singleton. La instancia se destruye conel metodo ReleaseSoundCapture()(p. 135).

A.1.2. Documentacion de las funciones miembro

A.1.2.1. void CSoundCapture::CaptureBlock ()

Captura un bloque de 1000 muestras a traves del dispositivo configurado.

A.1.2.2. real ∗ CSoundCapture::GetCaptured ()

Obtener el bloque capturado.

Devuelve:

El puntero al array de la senal.

A.1.2.3. int CSoundCapture::GetLength ()

Longitud del bloque almacenado.

A.1. REFERENCIA DE LA CLASE CSOUNDCAPTURE 135

Devuelve:

La longitud del bloque capturado en bytes.

A.1.2.4. CSoundCapture ∗ CSoundCapture::GetSoundCapture () [static]

Devuelve la instancia unica de la clase.

Si es la primera vez que se llama al metodo crea la instancia y la devuelve.

A.1.2.5. HRESULT CSoundCapture::Initialize () [private]

Inicializacion del sistema de grabacion.

Devuelve:

Ver la documentcion de DirectX para referencias a HRESULT .

A.1.2.6. void CSoundCapture::Record ()

Comienza la captura de audio.

A.1.2.7. void CSoundCapture::ReleaseSoundCapture () [static]

Destruye la instancia unica de la clase.

A.1.2.8. void CSoundCapture::Stop ()

Detiene la captura de audio.

A.1.2.9. void CSoundCapture::StoreCapturedData () [private]

Almacena los datos obtenidos del buffer de lectura en el array de analisis

A.1.3. Documentacion de los datos miembro

A.1.3.1. DWORD CSoundCapture::m CapturePosition

Uso provisional.

136 APENDICE A. DESCRIPCION DE CLASES

A.1.3.2. DSCBUFFERDESC CSoundCapture::m dscbd [private]

Estructura de descripcion del buffer de captura.

A.1.3.3. DWORD CSoundCapture::m dwNextOffSet [private]

Variable para controlar el punto de lectura sobre el buffer.

A.1.3.4. int CSoundCapture::m iNotificaciones [private]

Numero de notificaciones para el buffer de captura.

A.1.3.5. BYTE∗ CSoundCapture::m pbStoredData [private]

Bloque de memoria donde se almacenan los datos capturados hasta el momento.

A.1.3.6. DSBPOSITIONNOTIFY∗ CSoundCapture::m pDSBPosNotify

[private]

Datos de las notificaciones de posicion del buffer de lectura.

A.1.3.7. IDirectSoundCapture8∗ CSoundCapture::m pDSC [private]

Dispositio de captura de audio de Direct Sound.

A.1.3.8. IDirectSoundCaptureBuffer8∗ CSoundCapture::m pDSCBuffer

[private]

Buffer del dispositivo de captura de audio.

A.1.3.9. HANDLE∗ CSoundCapture::m phNotificationEvent [private]

Handle de notificacion para el buffer .

A.1. REFERENCIA DE LA CLASE CSOUNDCAPTURE 137

A.1.3.10. CSoundCapture ∗ CSoundCapture::m pInstance = NULL

[static, private]

Instancia unica de la clase.

La clase sigue el patron singleton. Esto quiere decir que durante la ejecucion de la aplia-cacion solo existira una instancia de esta clase, CSoundCapture::m pInstance(p. 137).

A.1.3.11. DWORD CSoundCapture::m ReadPosition

Uso provisional.

A.1.3.12. unsigned int CSoundCapture::m uiStoredDataLength [private]

Longitud (en bytes) del bloque almacenado en m pbStoredData.

A.1.3.13. WAVEFORMATEX CSoundCapture::m wfx [private]

Estructura de descripcion de la onda de audio.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/SoundCapture.h

/PFC/Solution/Application/SoundCapture.cpp

138 APENDICE A. DESCRIPCION DE CLASES

A.2. Referencia de la Clase CSoundCaptureLink

#include <SoundCaptureLink.h>

Metodos publicos

void Record ()

Comienza la captura de audio.

void CaptureBlock ()

void Stop ()

Detiene la captura de audio.

int GetLength ()

real ∗ GetCaptured ()

Metodos publicos estaticos

CSoundCaptureLink ∗ GetSoundCaptureLink ()

Devuelve la instancia unica de la clase.

void ReleaseSoundCaptureLink ()

Destruye la instancia unica de la clase.

Metodos privados

CSoundCaptureLink ()

∼CSoundCaptureLink ()

Atributos privados estaticos

CSoundCapture ∗ m pSoundCapture = NULL

Instancia de la clase CSoundCapture(p. 132) a la que enlaza.

CSoundCaptureLink ∗ m pInstance = NULL

A.2. REFERENCIA DE LA CLASE CSOUNDCAPTURELINK 139

Instancia unica de esta clase.

A.2.1. Documentacion del constructor y destructor

A.2.1.1. CSoundCaptureLink::CSoundCaptureLink () [private]

A.2.1.2. CSoundCaptureLink::∼CSoundCaptureLink () [private]

A.2.2. Documentacion de las funciones miembro

A.2.2.1. void CSoundCaptureLink::CaptureBlock ()

Captura un bloque de 1000 muestras a traves del dispositivo configurado.

A.2.2.2. real ∗ CSoundCaptureLink::GetCaptured ()

Obtener el bloque capturado.

Devuelve:

El puntero al array de la senal.

A.2.2.3. int CSoundCaptureLink::GetLength ()

Longitud del bloque almacenado.

Devuelve:

La longitud del bloque capturado en bytes.

A.2.2.4. CSoundCaptureLink ∗ CSoundCaptureLink::GetSoundCaptureLink

() [static]

Devuelve la instancia unica de la clase.

Si es la primera vez que se llama al metodo crea la instancia y la devuelve.

A.2.2.5. void CSoundCaptureLink::Record ()

Comienza la captura de audio.

140 APENDICE A. DESCRIPCION DE CLASES

A.2.2.6. void CSoundCaptureLink::ReleaseSoundCaptureLink () [static]

Destruye la instancia unica de la clase.

A.2.2.7. void CSoundCaptureLink::Stop ()

Detiene la captura de audio.

A.2.3. Documentacion de los datos miembro

A.2.3.1. CSoundCaptureLink ∗ CSoundCaptureLink::m pInstance = NULL

[static, private]

Instancia unica de esta clase.

A.2.3.2. CSoundCapture ∗ CSoundCaptureLink::m pSoundCapture =

NULL [static, private]

Instancia de la clase CSoundCapture(p. 132) a la que enlaza.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/SoundCaptureLink.h

/PFC/Solution/Application/SoundCaptureLink.cpp

A.3. REFERENCIA DE LA CLASE CSIGNAL 141

A.3. Referencia de la Clase CSignal

#include <Signal.H>

Metodos publicos

void SetAnalisis (real ∗sig, int numM, int frec)

Definicion de los datos del analisis.

void Analiza ()

Realiza el analisis de la senal.

int GetNumFrames ()

Numero de frames de la senal.

real ∗ GetCaract (int f)

void SetNumCeps (int nc)

Determinar el numero de coeficientes cepstrales que se quiere obtener.

real ∗ GetSign ()

Senal en analisis.

int GetNumMuestras ()

Numero de muestras de la senal en analisis.

void SetLongVentMin ()

Determina la longitud de la ventana como la mınima.

Metodos publicos estaticos

CSignal ∗ GetExtractor ()

Obtencion de la instancia de la clase.

142 APENDICE A. DESCRIPCION DE CLASES

Metodos privados

void SetLongVent ()

Determinar ancho de la ventana.

void Fourier (int t)

Transformada de Fourier.

void Mfcc (int t)

Calculo de los coeficientes cepstrales.

void Derivadas ()

Calcula las derivadas de los coeficientes y la energıa.

void Normaliza ()

Realiza la normalizacion de la senal de audio.

void Banda ()

Escala la senal a todo el ancho de banda.

real W Hamming (int n)

Ventana de Hamming.

real W Hanning (int n)

Ventana de Hanning.

real W Rectangular (int n)

Ventana Rectangular.

CSignal ()

Constructor.

∼CSignal ()

Destructor.

A.3. REFERENCIA DE LA CLASE CSIGNAL 143

Atributos privados

real ∗ m prSignal

Senal acustica a analizar.

int m iNumMuestras

Numero de muestras en la senal.

int m iFrecuencia

Frecuencia de muestreo de la senal.

int m iLongVent

Longitud de la ventana de analisis.

int m iOrden

Logaritmo en base 2 de la longitud de la ventana.

int m iSupVent

Longitud de superposicion de las ventanas.

real ∗∗ m pprTransformada

Array para la transformada en cada frame.

int m iNumFrames

real ∗ m prEnergia

Array para almacenar los valores de la energıa de la senal.

real ∗∗ m pprCepstrales

Arrays para almacenar los coeficientes cepstrales obtenidos.

int m iNumCeps

Numero de coeficientes cepstrales que se desean obtener.

real ∗ m prCarac

144 APENDICE A. DESCRIPCION DE CLASES

Atributos privados estaticos

CSignal ∗ m pInstance = NULL

Puntero a la unica instancia de la clase.

A.3.1. Documentacion del constructor y destructor

A.3.1.1. CSignal::CSignal () [private]

Constructor.

El constructor de instancias de la clase es privado porque esta sigue el patron singleton.

A.3.1.2. CSignal::∼CSignal () [private]

Destructor.

El destructor de instancias de la clase es privado porque esta sigue el patron singleton.

A.3.2. Documentacion de las funciones miembro

A.3.2.1. void CSignal::Analiza ()

Realiza el analisis de la senal.

Tras determinar los datos del analisis se llama a este metodo pa ordenar la realizaciondel analisis.

A.3.2.2. void CSignal::Banda () [private]

Escala la senal a todo el ancho de banda.

A.3.2.3. void CSignal::Derivadas () [private]

Calcula las derivadas de los coeficientes y la energıa.

Para calcular las derivadas y la energıa se debe haber llamado antes a los metodosFourier()(p. 145) y Mfcc()(p. 146).

A.3. REFERENCIA DE LA CLASE CSIGNAL 145

A.3.2.4. void CSignal::Fourier (int t) [private]

Transformada de Fourier.

Calcula la transformada de Fourier del frame t .

Parametros:

t Intervalo en el que se tiene que calcular la transformada de Fourier.

A.3.2.5. real ∗ CSignal::GetCaract (int f)

Obtencion del vector de caracterıasticas.

Parametros:

f Indice del frame para el que se quiere el vector de caracterısticas.

Devuelve:

Puntero al primer elemento del vector de coeficientes. El numero de elementos quese devuelve es igual al numero de coeficientes cepstrales calculados mas el valor de laenergıa y sus dos primeras derivadas.

A.3.2.6. CSignal ∗ CSignal::GetExtractor () [static]

Obtencion de la instancia de la clase.

La clase sigue el patron singleton y mediante este metodo se obtiene la unica instanciade ella.

Devuelve:

Devuelve el puntero a la instancia unica de la clase.

A.3.2.7. int CSignal::GetNumFrames () [inline]

Numero de frames de la senal.

Devuelve:

Devuelve el numero de frames en que se ha dividido la senal ara su analisis.

A.3.2.8. int CSignal::GetNumMuestras () [inline]

Numero de muestras de la senal en analisis.

146 APENDICE A. DESCRIPCION DE CLASES

Devuelve:

Numero de muestras de la senal.

A.3.2.9. real∗ CSignal::GetSign () [inline]

Senal en analisis.

Devuelve:

Puntero a la primera posicion de los datos de la senal introducida.

A.3.2.10. void CSignal::Mfcc (int t) [private]

Calculo de los coeficientes cepstrales.

Calcula los coeficientes cepstrales del frame t .

Parametros:

t Intervalo en el que se tiene que calcular los coeficientes cepstrales. Es requisitohaber llamado antes al metodo Fourier()(p. 145).

A.3.2.11. void CSignal::Normaliza () [private]

Realiza la normalizacion de la senal de audio.

A.3.2.12. void CSignal::SetAnalisis (real ∗ sig, int numM, int frec)

Definicion de los datos del analisis.

Como la clase sigue el patron singleton, en cada uso de ella hay que difinir los datos yparametros con que se trabaja.

Parametros:

sig Array de la senal que se quire analizar.

numM Numero de muestras en sig .

frec Frecuancia de muestreo d la senal introducida.

Ver tambien:

SetNumCeps()(p. 147)

A.3. REFERENCIA DE LA CLASE CSIGNAL 147

A.3.2.13. void CSignal::SetLongVent () [private]

Determinar ancho de la ventana.

Determina la longitud de ventana que se debe coger para la frecuencia utilizada.

A.3.2.14. void CSignal::SetLongVentMin ()

Determina la longitud de la ventana como la mınima.

A.3.2.15. void CSignal::SetNumCeps (int nc) [inline]

Determinar el numero de coeficientes cepstrales que se quiere obtener.

Parametros:

nc Numero de coeficientes cepstrales que se deben calcular por cada frame.

Ver tambien:

SetAnalisis()(p. 146)

A.3.2.16. real CSignal::W Hamming (int n) [private]

Ventana de Hamming.

Parametros:

n Indice del valor de la ventana de Hamming que se quiere obtener.

Devuelve:

Devuelve el termino enesimo de una ventana de Hamming de ancho igual al de losframes.

A.3.2.17. real CSignal::W Hanning (int n) [private]

Ventana de Hanning.

Parametros:

n Indice del valor de la ventana de Hanning que se quiere obtener.

Devuelve:

Devuelve el termino enesimo de una ventana de Hanning de ancho igual al de losframes.

148 APENDICE A. DESCRIPCION DE CLASES

A.3.2.18. real CSignal::W Rectangular (int n) [private]

Ventana Rectangular.

Parametros:

n Indice del valor de la ventana rectangular que se quiere obtener.

Devuelve:

Devuelve el termino enesimo de una ventana rectangular de ancho igual al de losframes.

A.3.3. Documentacion de los datos miembro

A.3.3.1. int CSignal::m iFrecuencia [private]

Frecuencia de muestreo de la senal.

A.3.3.2. int CSignal::m iLongVent [private]

Longitud de la ventana de analisis.

A.3.3.3. int CSignal::m iNumCeps [private]

Numero de coeficientes cepstrales que se desean obtener.

A.3.3.4. int CSignal::m iNumFrames [private]

Numero de intervalos sobre los que se analiza la transformada de Fourier.

A.3.3.5. int CSignal::m iNumMuestras [private]

Numero de muestras en la senal.

A.3.3.6. int CSignal::m iOrden [private]

Logaritmo en base 2 de la longitud de la ventana.

A.3. REFERENCIA DE LA CLASE CSIGNAL 149

A.3.3.7. int CSignal::m iSupVent [private]

Longitud de superposicion de las ventanas.

A.3.3.8. CSignal ∗ CSignal::m pInstance = NULL [static, private]

Puntero a la unica instancia de la clase.

La clase sigue el patron singleton.

A.3.3.9. real∗∗ CSignal::m pprCepstrales [private]

Arrays para almacenar los coeficientes cepstrales obtenidos.

A.3.3.10. real∗∗ CSignal::m pprTransformada [private]

Array para la transformada en cada frame.

A.3.3.11. real∗ CSignal::m prCarac [private]

Vectores de caracterısticas que incluyen los coeficientes cepstrales y la energıa con susderivadas.

A.3.3.12. real∗ CSignal::m prEnergia [private]

Array para almacenar los valores de la energıa de la senal.

A.3.3.13. real∗ CSignal::m prSignal [private]

Senal acustica a analizar.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/Signal.H

/PFC/Solution/Application/Signal.CPP

150 APENDICE A. DESCRIPCION DE CLASES

A.4. Referencia de la Clase HMM

Clase que representa un Modelo Oculto de Markov.

#include <HMM.h>

Metodos publicos

HMM (int n, int m, int tipo=0)

Constructor.

HMM ()

Constructor vacio.

∼HMM ()

Destructor.

real Probabilidad (vector< int > &sec)

Probabilidad de una secuencia.

void EntrenarGrupo (vector< vector< int > > &secuencias)

Entrenamieno del modelo.

void EntrenarSecuencia (vector< int > &sec)

Entrenamiento del modelo.

void Save (string &filename)

Guarda el modelo en el archivo especificado.

void Save (fstream &file)

Guarda el modelo en el archivo especificado.

void Load (string &filename)

Carga el modelo desde el archivo especificado.

void Load (fstream &file)

A.4. REFERENCIA DE LA CLASE HMM 151

Carga el modelo desde el archivo especificado.

Metodos privados

void CalcAlfa ()

Algoritmo de avance.

void CalcBeta ()

Algoritmo de retroceso.

void CalcGamma (real ∗gamma, int max T, real ∗xi=NULL)

Calculo de γt(i).

void CalcXi (real ∗xi, int max T)

Calculo de ξt(i, j).

vector< int > Viterbi ()

Algoritmo de Viterbi.

void Paso Baum Welch ()

Metodo de reestimacion de Baum-Welch.

void Inicializar ()

Inicializa las matrices caracterısticas del modelo.

real Probabilidad ()

Devuelve la probabilidad de ocurrencia de la secuencia de observacion.

void Observacion (vector< int > &sec)

Determina la secuencia de observacion para estudiar con el modelo.

Atributos privados

int m nTipo

152 APENDICE A. DESCRIPCION DE CLASES

Tipo de modelo oculto de Markov.

int m nNumEstados

Numero de estados del modelo.

int m nNumElementos

Tamano del conjunto de observacion.

real ∗ m prPi

Probabilidad de comienzo de la secuencia para cada estado.

real ∗ m prA

Matriz de probabilidad de transicion entre estados.

real ∗ m prB

Probabilidad de emision de sımbolos.

vector< int > m Sec

Secuencia de observacion en estudio.

real ∗ m prAlfa

Probabilidad de la secuencia de observacion parcial.

real ∗ m prBeta

Variable de retroceso.

A.4.1. Descripcion detallada

Clase que representa un Modelo Oculto de Markov.

A.4.2. Documentacion del constructor y destructor

A.4.2.1. HMM::HMM (int n, int m, int tipo = 0)

Constructor.

A.4. REFERENCIA DE LA CLASE HMM 153

Parametros:

n Numero de estados del modelo.

m Numero de elementos del espacio observables.

tipo Tipo del modelo. Por defecto 0.

A.4.2.2. HMM::HMM ()

Constructor vacio.

Igual a HMM( 3, 16, 0 ).

A.4.2.3. HMM::∼HMM ()

Destructor.

A.4.3. Documentacion de las funciones miembro

A.4.3.1. void HMM::CalcAlfa () [private]

Algoritmo de avance.

Calcula αt(i) mediante el algoritmo de avance. Reserva el espacio necesario y almacenael puntero en m prAlfa.

A.4.3.2. void HMM::CalcBeta () [private]

Algoritmo de retroceso.

Calcula βt(i) mediante el algoritmo de retroceso. Reserva el espacio necesario y almacenael puntero en m prBeta.

A.4.3.3. void HMM::CalcGamma (real ∗ gamma, int max T, real ∗ xi =

NULL) [private]

Calculo de γt(i).

Devuelve los valores de gamma en una fila para cada estado i y para cada instante tpor columnas. Si xi toma valor NULL llama a CalcXi()(p. 154).

154 APENDICE A. DESCRIPCION DE CLASES

Parametros:

gamma Posicion de memoria donde escribir los valores de γt(i). El espacio debe estarreservado antes de la llamada a la funcion y debe ser de tamano m nNumEstados∗ max T .

max T Numero de elementos de la mas larga de las secuencias de observacion.

xi Resultado del calculo de ξt(i, j). Si es NULL (valor por defecto) llama al metodoCalcXi()(p. 154).

A.4.3.4. void HMM::CalcXi (real ∗ xi, int max T) [private]

Calculo de ξt(i, j).

Devuelve los valores de xi en una matriz para cada elemeto j , una fila para cada estadoi y con cada instante t por columnas; de modo que ξt(i, j) = xi[(i∗m nNumEstados +j)∗max T + t] Si no se han calculado ya los valores αt(i) y βt(i), llama a los metodosCalcAlfa()(p. 153) y CalcBeta()(p. 153).

Parametros:

xi Posicion de memoria donde escribir los valores de ξt(i, j). El espacio debe estarreservado antes de la llamada a la funcion y debe ser de tamano m nNumEstados∗ m nNumElementos ∗ max T .

max T Numero de elementos de la mas larga de las secuencias de observacion.

A.4.3.5. void HMM::EntrenarGrupo (vector< vector< int > > & secuencias)

Entrenamieno del modelo.

Entrena el modelo a partir de un conjunto de secuencias de observacion

Parametros:

secuencias Vector de vectores de enteros conteniendo las secuencias de observacion.

Ver tambien:

EntrenarSecuencia()(p. 154)

A.4.3.6. void HMM::EntrenarSecuencia (vector< int > & sec)

Entrenamiento del modelo.

A.4. REFERENCIA DE LA CLASE HMM 155

Entrena el modelo a partir de una unica secuencia de observacion Este metodo essolo util para pruebas y experientos porque no realiza un entrenamiento adecuado de unmodelo.

Parametros:

sec Vector de enteros que contiene la secuencia de observacion.

Ver tambien:

EntrenarSecuencia()(p. 154)

A.4.3.7. void HMM::Inicializar () [private]

Inicializa las matrices caracterısticas del modelo.

Con la implementacion de los distintos tipos de modelos ocultos de Markov variara lainicializacion de las matrices caracterısticas.

A.4.3.8. void HMM::Load (fstream & file)

Carga el modelo desde el archivo especificado.

Parametros:

file Origen de datos del archivo del que se quiere cargar el modelo.

A.4.3.9. void HMM::Load (string & filename)

Carga el modelo desde el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.4.3.10. void HMM::Observacion (vector< int > & sec) [private]

Determina la secuencia de observacion para estudiar con el modelo.

A.4.3.11. void HMM::Paso Baum Welch () [private]

Metodo de reestimacion de Baum-Welch.

Esta funcion realiza un paso del metodo de reestimacion de Baum-Welch.

156 APENDICE A. DESCRIPCION DE CLASES

A.4.3.12. real HMM::Probabilidad (vector< int > & sec)

Probabilidad de una secuencia.

Devuelve la probabilidad de ocurrencia de la secuencia de observacion dada.

Parametros:

sec Vector de enteros que contiene la secuencia de observacion.

Devuelve:

La probabilidad de dicha secuencia.

A.4.3.13. real HMM::Probabilidad () [private]

Devuelve la probabilidad de ocurrencia de la secuencia de observacion.

Devuelve:

La probabilidad de ocurrecia de la secuencia en /a m Sec.

A.4.3.14. void HMM::Save (fstream & file)

Guarda el modelo en el archivo especificado.

Parametros:

file ’Stream’ del archivo donde se quiere guardar el modelo.

A.4.3.15. void HMM::Save (string & filename)

Guarda el modelo en el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.4.3.16. vector< int > HMM::Viterbi () [private]

Algoritmo de Viterbi.

Devuelve:

Devuelve en un vector de enteros la secuencia de estados optima para la observaciondada.

A.4. REFERENCIA DE LA CLASE HMM 157

A.4.4. Documentacion de los datos miembro

A.4.4.1. int HMM::m nNumElementos [private]

Tamano del conjunto de observacion.

Numero de elementos del conjunto de sımbolos observables.

A.4.4.2. int HMM::m nNumEstados [private]

Numero de estados del modelo.

Seran 3 por defecto.

A.4.4.3. int HMM::m nTipo [private]

Tipo de modelo oculto de Markov.

La diferenciacion entre distintos modelos no esta implementada.

A.4.4.4. real∗ HMM::m prA [private]

Matriz de probabilidad de transicion entre estados.

aij = Probabilidad de pasar al estado i desde el estado j . Segun el tipo de modeloalgunas transiciones estaran prohibidas por defecto. Por ejemplo en el caso de cadenas sinretroceso de estados o sin saltos.

A.4.4.5. real∗ HMM::m prAlfa [private]

Probabilidad de la secuencia de observacion parcial.

αt(i). Probabilidad de la secuencia de observacion en estudio supuesta hasta el instantet y de que en dicho instante el estado sea i .

A.4.4.6. real∗ HMM::m prB [private]

Probabilidad de emision de sımbolos.

bj(k) = Probabilidad de que se emita el sımbolo vk estando en el estado j .

158 APENDICE A. DESCRIPCION DE CLASES

A.4.4.7. real∗ HMM::m prBeta [private]

Variable de retroceso.

βt(i). Probabilidad de la secuencia de observacion desde t+1 a T dado el estado i enel instante t .

A.4.4.8. real∗ HMM::m prPi [private]

Probabilidad de comienzo de la secuencia para cada estado.

Por defecto sera nulo para todos los estados excepto para el primero. Solo se estimarannuevo valores si se especifica en el tipo de cadena. La longitud del vector sera igual alnumero de elementos del sistema.

A.4.4.9. vector<int> HMM::m Sec [private]

Secuencia de observacion en estudio.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/HMM.h

/PFC/Solution/Application/HMM.cpp

A.5. REFERENCIA DE LA CLASE CPHONREC 159

A.5. Referencia de la Clase CPhonRec

Fonema.

#include <PhonRec.h>

Metodos publicos

CPhonRec (string &sPhon, string &sLabel)

Constructor.

CPhonRec (string &filename)

Constructor.

CPhonRec (fstream &file)

Constructor.

∼CPhonRec ()

Destructor.

string GetPhonName ()

Obtener el nombre del fonema.

string GetPhonLabel ()

Obtener la etiqueta del fonema.

void AddUtterance (vector< int > &vUtterance)

Anadir pronunciacion.

real LogEvaluateUtterance (vector< int > &vUtterance)

Evaluar pronunciacion.

real EvaluateUtterance (vector< int > &vUtterance)

Evaluar pronunciacion.

void TrainUtterances ()

160 APENDICE A. DESCRIPCION DE CLASES

Entrenamiento del modelo de markov del elemento.

void SetAverage (real rAverage)

void Save (string &filename)

Guarda el termino en el archivo especificado.

void Save (fstream &file)

Guarda elemento y sus datos en el archivo especificado.

void Load (string &filename)

Carga el fonema desde el archivo especificado.

void Load (fstream &file)

Carga el fonema y sus datos desde el archivo especificado.

Atributos privados

HMM m HMM

Modelo Oculto de Markov asociado a la pronunciacion.

string m sPhon

Nombre del fonema.

string m sLabel

Etiqueta para el elemento.

real m rProbAverage

vector< vector< int > > m vviUtterances

A.5.1. Descripcion detallada

Fonema.

Esta clase representa un fonema de un idioma concreto en el sistema de reconocimientode voz. El fonema se caracteriza por las secuencias correspondientes al analisis de la senal de

A.5. REFERENCIA DE LA CLASE CPHONREC 161

audio de las distintas pronunciaciones introducidas. Tras el entrenamiento correspondienteestas caracterısticas se plasman en el Modelo Oculto de Markov (HMM(p. 150)) asociado.

A.5.2. Documentacion del constructor y destructor

A.5.2.1. CPhonRec::CPhonRec (string & sPhon, string & sLabel)

Constructor.

Parametros:

sPhon Nombre del fonema.

sLabel Etiqueta del fonema.

A.5.2.2. CPhonRec::CPhonRec (string & filename)

Constructor.

Parametros:

filename Nombre del archivo.

A.5.2.3. CPhonRec::CPhonRec (fstream & file)

Constructor.

Parametros:

file Origen de datos del archivo desde el que se quiere cargar el elemento.

A.5.2.4. CPhonRec::∼CPhonRec ()

Destructor.

A.5.3. Documentacion de las funciones miembro

A.5.3.1. void CPhonRec::AddUtterance (vector< int > & vUtterance)

Anadir pronunciacion.

Anade una secuencia de observacion referente a una pronunciacion del fonema en estu-dio.

162 APENDICE A. DESCRIPCION DE CLASES

Parametros:

vUtterance Secuencia de observacion.

A.5.3.2. real CPhonRec::EvaluateUtterance (vector< int > & vUtterance)

Evaluar pronunciacion.

Evalua la probabilidad de que la secuencia dada corresponda con el fonema que repre-senta esta instancia.

Parametros:

vUtterance Secuencia de observacion.

Devuelve:

Probabilidad de ocurrencia de la secuencia de entrada.

A.5.3.3. string CPhonRec::GetPhonLabel ()

Obtener la etiqueta del fonema.

Devuelve:

Instancia string con la etiqueta del fonema.

A.5.3.4. string CPhonRec::GetPhonName ()

Obtener el nombre del fonema.

Devuelve:

Instancia string con el nombre del fonema.

A.5.3.5. void CPhonRec::Load (fstream & file)

Carga el fonema y sus datos desde el archivo especificado.

Parametros:

file Origen de datos del archivo.

A.5. REFERENCIA DE LA CLASE CPHONREC 163

A.5.3.6. void CPhonRec::Load (string & filename)

Carga el fonema desde el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.5.3.7. real CPhonRec::LogEvaluateUtterance (vector< int > &

vUtterance)

Evaluar pronunciacion.

Evalua la probabilidad de que la secuencia dada corresponda con el fonema que repre-senta esta instancia.

Parametros:

vUtterance Secuencia de observacion.

Devuelve:

Logaritmo de la probabilidad de ocurrencia de la secuencia de entrada.

A.5.3.8. void CPhonRec::Save (fstream & file)

Guarda elemento y sus datos en el archivo especificado.

Parametros:

file Origen de datos del archivo.

A.5.3.9. void CPhonRec::Save (string & filename)

Guarda el termino en el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.5.3.10. void CPhonRec::SetAverage (real rAverage)

A.5.3.11. void CPhonRec::TrainUtterances ()

Entrenamiento del modelo de markov del elemento.

164 APENDICE A. DESCRIPCION DE CLASES

A.5.4. Documentacion de los datos miembro

A.5.4.1. HMM CPhonRec::m HMM [private]

Modelo Oculto de Markov asociado a la pronunciacion.

A.5.4.2. real CPhonRec::m rProbAverage [private]

Valor medio del logaritmo de la probabilidad para el modelo de este fonema.

A.5.4.3. string CPhonRec::m sLabel [private]

Etiqueta para el elemento.

A.5.4.4. string CPhonRec::m sPhon [private]

Nombre del fonema.

A.5.4.5. vector< vector<int> > CPhonRec::m vviUtterances [private]

Secuencias correspondientes a las distintas pronunciaciones asociadas al fonema.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/PhonRec.h

/PFC/Solution/Application/PhonRec.cpp

A.6. REFERENCIA DE LA CLASE CLANGREC 165

A.6. Referencia de la Clase CLangRec

Grupo de fonemas pertenecientes a un idioma.

#include <LangRec.h>

Metodos publicos

CLangRec ()

Constructor vacio.

CLangRec (const string &filename)

Constructor cargando el contenido desde disco.

CLangRec (fstream &file)

Constructor cargando el contenido desde disco.

∼CLangRec ()

Destructor.

CPhonRec ∗ AddPhon (string &sPhon, string &sLabel)

Anade un fonema a la configuracion de un idioma.

CPhonRec ∗ AddPhon (string &filename)

Anade un elemento nuevo cargando sus datos desde disco.

CPhonRec ∗ AddPhon (fstream &file)

Anade un elemento nuevo cargando sus datos desde disco.

int GetNumPhons ()

Obtener el numero de fonemas del idioma.

CPhonRec ∗ GetPhon (int index)

Obtener fonema.

CPhonRec ∗ GetPhonByLabel (const string &sLabel)

166 APENDICE A. DESCRIPCION DE CLASES

Obtener fonema.

void Save (const string &filename)

Guarda el diccionario en el archivo especificado.

void Save (fstream &file)

Guarda el diccionario en el archivo especificado.

void Load (const string &filename)

Carga el diccionario desde el archivo especificado.

void Load (fstream &file)

Carga el diccionario desde el archivo especificado.

Atributos privados

string m sName

Nombre del idioma.

vector< CPhonRec ∗ > m vpPhons

Vector de fonemas incluidos.

A.6.1. Descripcion detallada

Grupo de fonemas pertenecientes a un idioma.

Esta clase almacena un conjunto de fonemas correspondientes a un idioma para elsistema de reconocimiento de voz. Cada elemento (clase CPhonRec(p. 159)) esta repre-senado por un nombre, una etiqueta y lo mas importante su Modelo Oculto de Markovcaracterıstico (clase HMM(p. 150)).

A.6. REFERENCIA DE LA CLASE CLANGREC 167

A.6.2. Documentacion del constructor y destructor

A.6.2.1. CLangRec::CLangRec ()

Constructor vacio.

A.6.2.2. CLangRec::CLangRec (const string & filename)

Constructor cargando el contenido desde disco.

Parametros:

filename Nombre del archivo con la ruta completa.

A.6.2.3. CLangRec::CLangRec (fstream & file)

Constructor cargando el contenido desde disco.

Parametros:

file Origen de datos del archivo desde el que se quiere cargar.

A.6.2.4. CLangRec::∼CLangRec ()

Destructor.

A.6.3. Documentacion de las funciones miembro

A.6.3.1. CPhonRec ∗ CLangRec::AddPhon (fstream & file)

Anade un elemento nuevo cargando sus datos desde disco.

Parametros:

file Origen de datos del archivo del que se quiere cargar el fonema.

Devuelve:

El puntero a la instancia de la clase CPhonRec(p. 159) que se ha anadido.

168 APENDICE A. DESCRIPCION DE CLASES

A.6.3.2. CPhonRec ∗ CLangRec::AddPhon (string & filename)

Anade un elemento nuevo cargando sus datos desde disco.

Parametros:

filename Nombre del archivo del que se quiere cargar el fonema.

Devuelve:

El puntero a la instancia de la clase CPhonRec(p. 159) que se ha anadido.

A.6.3.3. CPhonRec ∗ CLangRec::AddPhon (string & sPhon, string &

sLabel)

Anade un fonema a la configuracion de un idioma.

Parametros:

sPhon Nombre del fonema.

sLabel Etiqueta del fonema.

Devuelve:

El puntero a la instancia de la clase CPhonRec(p. 159) que se ha anadido.

A.6.3.4. int CLangRec::GetNumPhons ()

Obtener el numero de fonemas del idioma.

Devuelve:

Entero con el numero de elementos.

A.6.3.5. CPhonRec ∗ CLangRec::GetPhon (int index)

Obtener fonema.

Parametros:

index Indice del elemento en la lista de fonemas.

Devuelve:

Puntero a la instancia CPhonRec(p. 159) del elemento de ındice index . DevuelveNULL si el ındice esta fuera de rango.

A.6. REFERENCIA DE LA CLASE CLANGREC 169

A.6.3.6. CPhonRec ∗ CLangRec::GetPhonByLabel (const string & sLabel)

Obtener fonema.

Parametros:

sLabel Etiqueta del fonema que se quiere obtener.

Devuelve:

Puntero a la instancia CPhonRec(p. 159) del elemento de etiqueta sLabel . DevuelveNULL si no esta contenido en el grupo de fonemas de este idioma.

A.6.3.7. void CLangRec::Load (fstream & file)

Carga el diccionario desde el archivo especificado.

Parametros:

file Origen de datos del archivo.

A.6.3.8. void CLangRec::Load (const string & filename)

Carga el diccionario desde el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.6.3.9. void CLangRec::Save (fstream & file)

Guarda el diccionario en el archivo especificado.

Parametros:

file Origen de datos del archivo.

A.6.3.10. void CLangRec::Save (const string & filename)

Guarda el diccionario en el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

170 APENDICE A. DESCRIPCION DE CLASES

A.6.4. Documentacion de los datos miembro

A.6.4.1. string CLangRec::m sName [private]

Nombre del idioma.

A.6.4.2. vector<CPhonRec ∗> CLangRec::m vpPhons [private]

Vector de fonemas incluidos.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/LangRec.h

/PFC/Solution/Application/LangRec.cpp

A.7. REFERENCIA DE LA CLASE CWORDREC 171

A.7. Referencia de la Clase CWordRec

#include <WordRec.h>

Metodos publicos

CWordRec (string &sWord, CLangRec ∗pLangRec)

Constructor.

∼CWordRec ()

Destructor.

string GetWord ()

Devuelve el elemento en una instancia string.

real EvaluateUtterance (vector< int > &vUtterance)

Evaluar pronunciacion.

Metodos privados

void PhoneticTrascription ()

Trascripcion fonetica de la palabra en espanol.

void ConstructProbMatrix (vector< int > &vUtterance)

Construye la matriz de probabilidades acumuladas.

real LogProbability (int fon, int i, int f, vector< int > &vUtterance)

Probabilidad de ocurrencia de una secuencia.

Atributos privados

string m sWord

Palabra.

172 APENDICE A. DESCRIPCION DE CLASES

vector< CPhonRec ∗ > m vPhons

Lista de fonemas que forman la pronunciacion de la palabra.

CLangRec ∗ m pLangRec

Grupo de fonemas del espanol.

real ∗ m prProbability

int ∗ m piIndex

A.7.1. Documentacion del constructor y destructor

A.7.1.1. CWordRec::CWordRec (string & sWord, CLangRec ∗ pLangRec)

Constructor.

Parametros:

sWord Nombre del elemento.

pLangRec Puntero a la intsnacia de la clase de definicion de idioma.

A.7.1.2. CWordRec::∼CWordRec ()

Destructor.

A.7.2. Documentacion de las funciones miembro

A.7.2.1. void CWordRec::ConstructProbMatrix (vector< int > &

vUtterance) [private]

Construye la matriz de probabilidades acumuladas.

Este metodo privado se apoya en el algoritmo de Viterbi para obtener la probabilidadde que una palabra esta pronunciada en una secuencia. La matriz posee la probabilidadde que un determinado fonema se termine de pronunciar en un determinado frame. Conla distribucion de los anteriores que hace maxima esta distribucion. En otra matriz sealmacena para cada paso la distribucion de dichos fonemas.

A.7. REFERENCIA DE LA CLASE CWORDREC 173

A.7.2.2. real CWordRec::EvaluateUtterance (vector< int > & vUtterance)

Evaluar pronunciacion.

Evalua la probabilidad de que la secuencia dada corresponda con la palabra que repre-senta esta instancia.

Parametros:

vUtterance Secuencia de observacion.

A.7.2.3. string CWordRec::GetWord ()

Devuelve el elemento en una instancia string .

A.7.2.4. real CWordRec::LogProbability (int fon, int i, int f, vector< int >

& vUtterance) [private]

Probabilidad de ocurrencia de una secuencia.

Este metodo devuelve la probabilidad de ocurrencia de una subsecuencia para un fonemaconcreto de la palabra que se esta estudiando.

Parametros:

fon Indice del fonema en la palabra.

i Primer elemento de la subsecuencia dentro de la secuencia vUtterance.

f Ultimo elemento de la subsecuencia dentro de la secuencia vUtterance.

vUtterance Secuncia de la que se extrae la subsecuencia.

Devuelve:

El logaritmo de la probabilidad de ocurrencia de la subsecuencia.

A.7.2.5. void CWordRec::PhoneticTrascription () [private]

Trascripcion fonetica de la palabra en espanol.

Realiza la trascirpcion fonetica de la palabra segun las reglas del espanol. Crea ası lalista de fonemas (CPhonRec(p. 159)) correspondientes a la pronunciacion de aquella.

174 APENDICE A. DESCRIPCION DE CLASES

A.7.3. Documentacion de los datos miembro

A.7.3.1. int∗ CWordRec::m piIndex [private]

A.7.3.2. CLangRec∗ CWordRec::m pLangRec [private]

Grupo de fonemas del espanol.

A.7.3.3. real∗ CWordRec::m prProbability [private]

A.7.3.4. string CWordRec::m sWord [private]

Palabra.

A.7.3.5. vector<CPhonRec ∗> CWordRec::m vPhons [private]

Lista de fonemas que forman la pronunciacion de la palabra.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

/PFC/Solution/Application/WordRec.h

/PFC/Solution/Application/WordRec.cpp

A.8. REFERENCIA DE LA CLASE CDICTREC 175

A.8. Referencia de la Clase CDictRec

Diccionario de terminos identificables.

#include <DictRec.h>

Metodos publicos

CDictRec (const string &name, CLangRec ∗pLangRec)

Constructor dando la instancia de la clase de configuracion del idioma.

CDictRec (const string &name, const string &sLangRecFile)

Constructor indicando la coniguracion del idioma.

CDictRec (const string &filename)

Constructor cargando el contenido desde disco.

CDictRec (fstream &file)

Constructor cargando el contenido desde disco.

∼CDictRec ()

Destructor.

CWordRec ∗ AddWord (string &sWord)

Anade una palabra nueva al diccionario de terminos identificables.

int GetNumWords ()

Obtener el numero de terminos en el diccionario.

CWordRec ∗ GetWord (int index)

Obtener una palabra del diccionario.

CWordRec ∗ GetWord (const string &sWord)

Obtener una palabra del diccionario.

CWordRec ∗ Identify (vector< int > &vSecuence)

176 APENDICE A. DESCRIPCION DE CLASES

Identificacion de un termino.

void Save (const string &filename)

Guarda el diccionario en el archivo especificado.

void Save (fstream &file)

Guarda el diccionario en el archivo especificado.

void Load (const string &filename)

Carga el diccionario desde el archivo especificado.

void Load (fstream &file)

Carga el diccionario desde el archivo especificado.

Atributos privados

string m sName

Nombre del diccionario.

string m sLangRecFile

CLangRec ∗ m pLangRec

Grupo de fonemas del idioma empleado.

vector< CWordRec ∗ > m vpWords

Vector de elementos identificables.

A.8.1. Descripcion detallada

Diccionario de terminos identificables.

Esta clase almacena un conjunto de palabras identificables mediante el sistema de re-conocimiento de voz.

A.8. REFERENCIA DE LA CLASE CDICTREC 177

A.8.2. Documentacion del constructor y destructor

A.8.2.1. CDictRec::CDictRec (const string & name, CLangRec ∗ pLangRec)

Constructor dando la instancia de la clase de configuracion del idioma.

Parametros:

name Nombre que se quiere dar al diccionario.

pLangRec Puntero a la instancia de la clase de configuracion del idioma.

A.8.2.2. CDictRec::CDictRec (const string & name, const string &

sLangRecFile)

Constructor indicando la coniguracion del idioma.

Parametros:

name Nombre que se quiere dar al diccionario.

sLangRecFile Puntero a la clase de configuracion del idioma.

A.8.2.3. CDictRec::CDictRec (const string & filename)

Constructor cargando el contenido desde disco.

Parametros:

filename Nombre del archivo con la ruta completa.

A.8.2.4. CDictRec::CDictRec (fstream & file)

Constructor cargando el contenido desde disco.

Parametros:

file Origen de datos del archivo desde el que se quiere cargar el diccionario.

A.8.2.5. CDictRec::∼CDictRec ()

Destructor.

178 APENDICE A. DESCRIPCION DE CLASES

A.8.3. Documentacion de las funciones miembro

A.8.3.1. CWordRec ∗ CDictRec::AddWord (string & sWord)

Anade una palabra nueva al diccionario de terminos identificables.

Parametros:

sWord Palabra a anadir.

Devuelve:

El puntero a la instancia de la clase CWordRec(p. 171) que se ha anadido.

A.8.3.2. int CDictRec::GetNumWords ()

Obtener el numero de terminos en el diccionario.

Devuelve:

Entero con el numero de elementos en el diccionario.

A.8.3.3. CWordRec ∗ CDictRec::GetWord (const string & sWord)

Obtener una palabra del diccionario.

Parametros:

sWord Palabra que se quiere encontrar.

Devuelve:

Puntero a la instancia CWordRec(p. 171) de la palabra sWord .

A.8.3.4. CWordRec ∗ CDictRec::GetWord (int index)

Obtener una palabra del diccionario.

Parametros:

index Indice del elemento en la lista de terminos.

Devuelve:

El puntero a la instancia de la clase CWordRec(p. 171) de ındice index .

A.8. REFERENCIA DE LA CLASE CDICTREC 179

A.8.3.5. CWordRec ∗ CDictRec::Identify (vector< int > & vSecuence)

Identificacion de un termino.

Identifica a que elemento del diccionario pertenece (con mayor probabilidad) la secuen-cia de observacion dada.

Parametros:

vSecuence Secuencia del elemento a identificar. Esta secuencia se obtiene del ana-lisis de la senal de voz (clase CSignal(p. 141)) y posterior clasificacion de losvectores de coeficientes cepstrales obenidos.

Devuelve:

Puntero a la instancia CWordRec(p. 171) de la palabra que se estima se ha identi-ficado en la secuencia.

A.8.3.6. void CDictRec::Load (fstream & file)

Carga el diccionario desde el archivo especificado.

Parametros:

file Origen de datos del archivo.

A.8.3.7. void CDictRec::Load (const string & filename)

Carga el diccionario desde el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.8.3.8. void CDictRec::Save (fstream & file)

Guarda el diccionario en el archivo especificado.

Parametros:

file Origen de datos del archivo.

180 APENDICE A. DESCRIPCION DE CLASES

A.8.3.9. void CDictRec::Save (const string & filename)

Guarda el diccionario en el archivo especificado.

Parametros:

filename Nombre del archivo con la ruta completa.

A.8.4. Documentacion de los datos miembro

A.8.4.1. CLangRec∗ CDictRec::m pLangRec [private]

Grupo de fonemas del idioma empleado.

A.8.4.2. string CDictRec::m sLangRecFile [private]

Nombre del archivo del que se cargan los fonemas del idioma empleado.

A.8.4.3. string CDictRec::m sName [private]

Nombre del diccionario.

A.8.4.4. vector<CWordRec ∗> CDictRec::m vpWords [private]

Vector de elementos identificables.

La documentacion para esta clase fue generada a partir de los siguientes archivos:

C:/Fran/Escuela/PFC/Solution/Application/DictRec.h

C:/Fran/Escuela/PFC/Solution/Application/DictRec.cpp