/// <summary> /// Create an object providing an interface to a trained DeepSpeech model. /// </summary> /// <param name="aModelPath">The path to the frozen model graph.</param> /// <param name="aAlphabetConfigPath">The path to the configuration file specifying the alphabet used by the network.</param> /// <param name="aBeamWidth">The beam width used by the decoder. A larger beam width generates better results at the cost of decoding time.</param> /// <exception cref="ArgumentException">Thrown when the native binary failed to create the model.</exception> public unsafe void CreateModel(string aModelPath, string aAlphabetConfigPath, uint aBeamWidth) { string exceptionMessage = null; if (string.IsNullOrWhiteSpace(aModelPath)) { exceptionMessage = "Model path cannot be empty."; } if (string.IsNullOrWhiteSpace(aAlphabetConfigPath)) { exceptionMessage = "Alphabet path cannot be empty."; } if (!File.Exists(aModelPath)) { exceptionMessage = $"Cannot find the model file: {aModelPath}"; } if (!File.Exists(aAlphabetConfigPath)) { exceptionMessage = $"Cannot find the alphabet file: {aAlphabetConfigPath}"; } if (exceptionMessage != null) { throw new FileNotFoundException(exceptionMessage); } var resultCode = NativeImp.DS_CreateModel(aModelPath, aAlphabetConfigPath, aBeamWidth, ref _modelStatePP); EvaluateResultCode(resultCode); }
/// <summary> /// Create an object providing an interface to a trained DeepSpeech model. /// </summary> /// <param name="aModelPath">The path to the frozen model graph.</param> /// <param name="aNCep">The number of cepstrum the model was trained with.</param> /// <param name="aNContext">The context window the model was trained with.</param> /// <param name="aAlphabetConfigPath">The path to the configuration file specifying the alphabet used by the network.</param> /// <param name="aBeamWidth">The beam width used by the decoder. A larger beam width generates better results at the cost of decoding time.</param> /// <returns>Zero on success, non-zero on failure.</returns> public unsafe int CreateModel(string aModelPath, uint aNCep, uint aNContext, string aAlphabetConfigPath, uint aBeamWidth) { string exceptionMessage = null; if (string.IsNullOrWhiteSpace(aModelPath)) { exceptionMessage = "Model path cannot be empty."; } if (string.IsNullOrWhiteSpace(aAlphabetConfigPath)) { exceptionMessage = "Alphabet path cannot be empty."; } if (!File.Exists(aModelPath)) { exceptionMessage = $"Cannot find the model file: {aModelPath}"; } if (!File.Exists(aAlphabetConfigPath)) { exceptionMessage = $"Cannot find the alphabet file: {aAlphabetConfigPath}"; } if (exceptionMessage != null) { throw new FileNotFoundException(exceptionMessage); } int result = NativeImp.DS_CreateModel(aModelPath, aNCep, aNContext, aAlphabetConfigPath, aBeamWidth, ref _modelStatePP); _modelStateP = *_modelStatePP; return(result); }