<?xml version="1.0"?>
<Definitions>
  <NodeClass name="GMMScore" category="HMM" source="GMMScore.cc">
    <Input name="FRAMES" type="Vector&lt;float&gt;">Frames that will be scored</Input>
    <Input name="GMM" type="GMM">GMM used as dpf</Input>
    <Output name="OUTPUT" type="Vector&lt;float&gt;">Log-score (as a vector of 1)</Output>
    <Description>Scores a GMM for a given frame</Description>
  </NodeClass>
  <NodeClass name="GMMTrain" category="HMM" source="GMMTrain.cc">
    <Input name="FRAMES" type="Vector&lt;ObjectRef&gt;">Frame Accumulator</Input>
    <Output name="OUTPUT" type="GMM">The trained GMM</Output>
    <Parameter name="SPLIT_LEVELS" type="int" value="">Number of times to perform the split = log2 (number of gaussians)</Parameter>
    <Description>Trains a GMM using an accumulator of frames</Description>
  </NodeClass>
  <NodeClass name="TransMatrix" category="HMM" source="TransMatrix.cc">
    <Input name="INPUT" type="any">state numbers in a frame buffer</Input>
    <Output name="OUTPUT" type="any">No description available</Output>
    <Parameter name="NB_STATES" type="any" value="">Number of HMM states</Parameter>
    <Parameter name="THRESHOLD" type="any" value="">The minimum transition probability allowed</Parameter>
    <Description>No description available</Description>
  </NodeClass>
  <NodeClass name="MarkovProb" category="HMM" source="MarkovProb.cc">
    <Input name="INPUT" type="any">State probability</Input>
    <Input name="MATRIX" type="any">Transition probability matrix</Input>
    <Output name="OUTPUT" type="any">A posteriori probability</Output>
    <Description>Calculates the Markov chain probability</Description>
  </NodeClass>
  <NodeClass name="AdaptMAP" category="HMM" source="AdaptMAP.cc" require="GMM">
    <Input name="FRAMES" type="Vector&lt;float&gt;">Frame buffer</Input>
    <Input name="GMM" type="GMM">GMM to be adapted</Input>
    <Output name="OUTPUT" type="GMM">Adapted GMM</Output>
    <Description>Performs MAP adaptation (well, almost!)</Description>
  </NodeClass>
  <NodeClass name="MakeDiagGMM" category="HMM" source="MakeDiagGMM.cc" require="GMM">
    <Input name="INPUT" type="GMM">Input GMM</Input>
    <Output name="OUTPUT" type="DiagGMM">Output DiagGMM</Output>
    <Description>Transforms a GMM into a DiagGMM</Description>
  </NodeClass>
  <NodeClass name="DiagGMMScore" category="HMM" source="DiagGMMScore.cc" require="DGMM">
    <Input name="INPUT" type="Vector&lt;float&gt;">Input vector</Input>
    <Input name="GMM" type="DiagGMM">Input GMM (pdf)</Input>
    <Output name="OUTPUT" type="Float">GMM score</Output>
    <Description>Scores a DiagGMM</Description>
  </NodeClass>
  <NodeClass name="DiagGMMSetScore" category="HMM" source="DiagGMMSetScore.cc" require="DGMM">
    <Input name="INPUT" type="Vector&lt;float&gt;">Input vector</Input>
    <Input name="GMM" type="DiagGMM">Input GMM set (pdf's)</Input>
    <Output name="OUTPUT" type="Vector&lt;float&gt;">GMM scores</Output>
    <Description>Scores a DiagGMM</Description>
  </NodeClass>
  <NodeClass name="DiagGMMTrain" category="HMM" source="DiagGMMTrain.cc">
    <Input name="FRAMES" type="Vector&lt;ObjectRef&gt;">Frame Accumulator</Input>
    <Output name="OUTPUT" type="GMM">The trained GMM</Output>
    <Parameter name="SPLIT_LEVELS" type="int" value="">Number of times to perform the split = log2 (number of gaussians)</Parameter>
    <Description>Trains a GMM using an accumulator of frames</Description>
  </NodeClass>
  <ModuleDepend module="DGMM">
    <Require file="DiagGMM.cc"/>
  </ModuleDepend>
  <ModuleDepend module="GMM">
    <Require file="gmm.cc"/>
    <Require file="covariance.cc"/>
    <Require file="gaussian.cc"/>
    <Require file="covariance_set.cc"/>
    <Require file="mean_set.cc"/>
    <Require file="gaussian_set.cc"/>
    <Require file="gmm_set.cc"/>
    <Require file="mean.cc"/>
  </ModuleDepend>
  <FileDepend file="AdaptMAP.cc">
    <RequireModule module="GMM"/>
  </FileDepend>
  <FileDepend file="DiagGMMScore.cc">
    <RequireModule module="DGMM"/>
  </FileDepend>
  <FileDepend file="DiagGMMSetScore.cc">
    <RequireModule module="DGMM"/>
  </FileDepend>
  <FileDepend file="MakeDiagGMM.cc">
    <RequireModule module="GMM"/>
  </FileDepend>
  <FileDepend file="gmm.cc">
    <RequireModule module="DGMM"/>
  </FileDepend>
   <FileDepend file="mean.cc">
      <RequireHeader header="mean.h"/>
   </FileDepend>
   <FileDepend file="DiagGMMSetScore.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="DiagGMM.h"/>
   </FileDepend>
   <FileDepend file="audioinfo.cc">
      <RequireHeader header="audioinfo.h"/>
      <RequireHeader header="ObjectParser.h"/>
   </FileDepend>
   <FileDepend file="DiagGMM.cc">
      <RequireHeader header="DiagGMM.h"/>
      <RequireHeader header="misc.h"/>
      <RequireHeader header="vec.h"/>
      <RequireHeader header="ObjectParser.h"/>
      <RequireHeader header="binio.h"/>
      <RequireHeader header="iextensions.h"/>
   </FileDepend>
   <FileDepend file="gmm_set.cc">
      <RequireHeader header="gmm_set.h"/>
      <RequireHeader header="ObjectParser.h"/>
   </FileDepend>
   <FileDepend file="mean_set.cc">
      <RequireHeader header="mean_set.h"/>
      <RequireHeader header="ObjectParser.h"/>
   </FileDepend>
   <FileDepend file="acoustic_model.cc">
      <RequireHeader header="acoustic_model.h"/>
      <RequireHeader header="ObjectParser.h"/>
      <RequireHeader header="Object.h"/>
   </FileDepend>
   <FileDepend file="covariance.cc">
      <RequireHeader header="covariance.h"/>
      <RequireHeader header="misc.h"/>
   </FileDepend>
   <FileDepend file="MarkovProb.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Buffer.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="Matrix.h"/>
   </FileDepend>
   <FileDepend file="GMMTrain.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="net_types.h"/>
      <RequireHeader header="covariance.h"/>
      <RequireHeader header="gmm.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="AdaptMAP.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Buffer.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="gmm.h"/>
   </FileDepend>
   <FileDepend file="gaussian_set.cc">
      <RequireHeader header="gaussian_set.h"/>
      <RequireHeader header="ObjectParser.h"/>
   </FileDepend>
   <FileDepend file="covariance_set.cc">
      <RequireHeader header="covariance_set.h"/>
      <RequireHeader header="ObjectParser.h"/>
   </FileDepend>
   <FileDepend file="MakeDiagGMM.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="gmm.h"/>
      <RequireHeader header="DiagGMM.h"/>
   </FileDepend>
   <FileDepend file="DiagGMMScore.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="DiagGMM.h"/>
   </FileDepend>
   <FileDepend file="GMMScore.cc">
      <RequireHeader header="GMMScore.h"/>
      <RequireHeader header="net_types.h"/>
      <RequireHeader header="Buffer.h"/>
      <RequireHeader header="covariance.h"/>
      <RequireHeader header="gmm.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="TransMatrix.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="ObjectRef.h"/>
      <RequireHeader header="Matrix.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="DiagGMMTrain.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="net_types.h"/>
      <RequireHeader header="covariance.h"/>
      <RequireHeader header="DiagGMM.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="gaussian.cc">
      <RequireHeader header="covariance.h"/>
      <RequireHeader header="gaussian.h"/>
   </FileDepend>
   <FileDepend file="gmm.cc">
      <RequireHeader header="gmm.h"/>
      <RequireHeader header="vec.h"/>
   </FileDepend>
</Definitions>
