Add type declaration file for v0.7.0
Signed-off-by: Anas Abou Allaban <aabouallaban@pm.me>
This commit is contained in:
		
							parent
							
								
									510e29fe65
								
							
						
					
					
						commit
						be40b07307
					
				| @ -1 +1,13 @@ | |||||||
| Full project description and documentation on GitHub: [https://github.com/mozilla/DeepSpeech](https://github.com/mozilla/DeepSpeech). | Full project description and documentation on GitHub: [https://github.com/mozilla/DeepSpeech](https://github.com/mozilla/DeepSpeech). | ||||||
|  | 
 | ||||||
|  | ## Generating TypeScript Type Definitions | ||||||
|  | 
 | ||||||
|  | You can generate the TypeScript type declaration file using `dts-gen`. | ||||||
|  | This requires a compiled/installed version of the DeepSpeech NodeJS client. | ||||||
|  | 
 | ||||||
|  | To generate a new `index.d.ts` type declaration file, run: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | npm install -g dts-gen | ||||||
|  | dts-gen --module deepspeech --file index.d.ts | ||||||
|  | ``` | ||||||
|  | |||||||
							
								
								
									
										198
									
								
								native_client/javascript/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										198
									
								
								native_client/javascript/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,198 @@ | |||||||
|  | declare module 'deepspeech' { | ||||||
|  | /** | ||||||
|  |  * Stores text of an individual token, along with its timing information | ||||||
|  |  */ | ||||||
|  | export interface TokenMetadata { | ||||||
|  |     text: string; | ||||||
|  |     timestep: number; | ||||||
|  |     start_time: number; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * A single transcript computed by the model, including a confidence value and | ||||||
|  |  * the metadata for its constituent tokens. | ||||||
|  |  */ | ||||||
|  | export interface CandidateTranscript { | ||||||
|  |     tokens: TokenMetadata[]; | ||||||
|  |     confidence: number; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * An array of CandidateTranscript objects computed by the model. | ||||||
|  |  */ | ||||||
|  | export interface Metadata { | ||||||
|  |     transcripts: CandidateTranscript[]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @class | ||||||
|  |  * Provides an interface to a DeepSpeech stream. The constructor cannot be called | ||||||
|  |  * directly, use :js:func:`Model.createStream`. | ||||||
|  |  */ | ||||||
|  | export class Stream {} | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * An object providing an interface to a trained DeepSpeech model. | ||||||
|  |  * | ||||||
|  |  * @param aModelPath The path to the frozen model graph. | ||||||
|  |  * | ||||||
|  |  * @throws on error | ||||||
|  |  */ | ||||||
|  | export class Model { | ||||||
|  | constructor(aModelPath: string) | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Get beam width value used by the model. If :js:func:Model.setBeamWidth was | ||||||
|  |  * not called before, will return the default value loaded from the model file. | ||||||
|  |  *  | ||||||
|  |  * @return Beam width value used by the model. | ||||||
|  |  */ | ||||||
|  | beamWidth(): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Set beam width value used by the model. | ||||||
|  |  *  | ||||||
|  |  * @param The beam width used by the model. A larger beam width value generates better results at the cost of decoding time. | ||||||
|  |  * | ||||||
|  |  * @return Zero on success, non-zero on failure. | ||||||
|  |  */ | ||||||
|  | setBeamWidth(aBeamWidth: number): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Return the sample rate expected by the model. | ||||||
|  |  * | ||||||
|  |  * @return Sample rate. | ||||||
|  |  */ | ||||||
|  | sampleRate(): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Enable decoding using an external scorer. | ||||||
|  |  * | ||||||
|  |  * @param aScorerPath The path to the external scorer file. | ||||||
|  |  * | ||||||
|  |  * @return Zero on success, non-zero on failure (invalid arguments). | ||||||
|  |  */ | ||||||
|  | enableExternalScorer(aScorerPath: string): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Disable decoding using an external scorer. | ||||||
|  |  * | ||||||
|  |  * @return Zero on success, non-zero on failure (invalid arguments). | ||||||
|  |  */ | ||||||
|  | disableExternalScorer(): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Set hyperparameters alpha and beta of the external scorer. | ||||||
|  |  * | ||||||
|  |  * @param aLMAlpha The alpha hyperparameter of the CTC decoder. Language Model weight. | ||||||
|  |  * @param aLMBeta The beta hyperparameter of the CTC decoder. Word insertion weight. | ||||||
|  |  * | ||||||
|  |  * @return Zero on success, non-zero on failure (invalid arguments). | ||||||
|  |  */ | ||||||
|  | setScorerAlphaBeta(aLMAlpha: number, aLMBeta: number): number; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Use the DeepSpeech model to perform Speech-To-Text. | ||||||
|  |  * | ||||||
|  |  * @param aBuffer A 16-bit, mono raw audio signal at the appropriate sample rate (matching what the model was trained on). | ||||||
|  |  * | ||||||
|  |  * @return The STT result. Returns undefined on error. | ||||||
|  |  */ | ||||||
|  | stt(aBuffer: object): string; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Use the DeepSpeech model to perform Speech-To-Text and output metadata | ||||||
|  |  * about the results. | ||||||
|  |  * | ||||||
|  |  * @param aBuffer A 16-bit, mono raw audio signal at the appropriate sample rate (matching what the model was trained on). | ||||||
|  |  * @param aNumResults Maximum number of candidate transcripts to return. Returned list might be smaller than this. | ||||||
|  |  * Default value is 1 if not specified. | ||||||
|  |  * | ||||||
|  |  * @return :js:func:`Metadata` object containing multiple candidate transcripts. Each transcript has per-token metadata including timing information. | ||||||
|  |  * The user is responsible for freeing Metadata by calling :js:func:`FreeMetadata`. Returns undefined on error. | ||||||
|  |  */ | ||||||
|  | sttWithMetadata(aBuffer: object, aNumResults: number): Metadata; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Create a new streaming inference state. One can then call :js:func:`Stream.feedAudioContent` and :js:func:`Stream.finishStream` on the returned stream object. | ||||||
|  |  * | ||||||
|  |  * @return a :js:func:`Stream` object that represents the streaming state. | ||||||
|  |  * | ||||||
|  |  * @throws on error | ||||||
|  |  */ | ||||||
|  | createStream(): object; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Feed audio samples to an ongoing streaming inference. | ||||||
|  |  * | ||||||
|  |  * @param aBuffer An array of 16-bit, mono raw audio samples at the | ||||||
|  |  *                 appropriate sample rate (matching what the model was trained on). | ||||||
|  |  */ | ||||||
|  | feedAudioContent(aBuffer: object): void; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Compute the intermediate decoding of an ongoing streaming inference. | ||||||
|  |  * | ||||||
|  |  * @return The STT intermediate result. | ||||||
|  |  */ | ||||||
|  | intermediateDecode(aSctx: object): string; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Compute the intermediate decoding of an ongoing streaming inference, return results including metadata. | ||||||
|  |  * | ||||||
|  |  * @param aNumResults Maximum number of candidate transcripts to return. Returned list might be smaller than this. Default value is 1 if not specified. | ||||||
|  |  * | ||||||
|  |  * @return :js:func:`Metadata` object containing multiple candidate transcripts. Each transcript has per-token metadata including timing information. The user is responsible for freeing Metadata by calling :js:func:`FreeMetadata`. Returns undefined on error. | ||||||
|  |  */ | ||||||
|  | intermediateDecodeWithMetadata (aNumResults: number): Metadata; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Compute the final decoding of an ongoing streaming inference and return the result. Signals the end of an ongoing streaming inference. | ||||||
|  |  * | ||||||
|  |  * @return The STT result. | ||||||
|  |  * | ||||||
|  |  * This method will free the stream, it must not be used after this method is called. | ||||||
|  |  */ | ||||||
|  | finishStream(): string; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Compute the final decoding of an ongoing streaming inference and return the results including metadata. Signals the end of an ongoing streaming inference. | ||||||
|  |  * | ||||||
|  |  * @param aNumResults Maximum number of candidate transcripts to return. Returned list might be smaller than this. Default value is 1 if not specified. | ||||||
|  |  * | ||||||
|  |  * @return Outputs a :js:func:`Metadata` struct of individual letters along with their timing information. The user is responsible for freeing Metadata by calling :js:func:`FreeMetadata`. | ||||||
|  |  * | ||||||
|  |  * This method will free the stream, it must not be used after this method is called. | ||||||
|  |  */ | ||||||
|  | finishStreamWithMetadata(aNumResults: number): Metadata; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Frees associated resources and destroys model object. | ||||||
|  |  * | ||||||
|  |  * @param model A model pointer returned by :js:func:`Model` | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | export function FreeModel(model: Model): void; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Free memory allocated for metadata information. | ||||||
|  |  * | ||||||
|  |  * @param metadata Object containing metadata as returned by :js:func:`Model.sttWithMetadata` or :js:func:`Model.finishStreamWithMetadata` | ||||||
|  |  */ | ||||||
|  | export function FreeMetadata(metadata: Metadata): void; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Destroy a streaming state without decoding the computed logits. This | ||||||
|  |  * can be used if you no longer need the result of an ongoing streaming | ||||||
|  |  * inference and don't want to perform a costly decode operation. | ||||||
|  |  * | ||||||
|  |  * @param stream A streaming state pointer returned by :js:func:`Model.createStream`. | ||||||
|  |  */ | ||||||
|  | export function FreeStream(stream: object): void; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Print version of this library and of the linked TensorFlow library on standard output. | ||||||
|  |  */ | ||||||
|  | export function Version(): void; | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								native_client/javascript/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								native_client/javascript/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |     "compilerOptions": { | ||||||
|  |         "baseUrl": ".", | ||||||
|  |         "target": "es6", | ||||||
|  |         "module": "commonjs", | ||||||
|  |         "moduleResolution": "node", | ||||||
|  |         "esModuleInterop": true, | ||||||
|  |         "noImplicitAny": true, | ||||||
|  |         "noImplicitThis": true, | ||||||
|  |         "strictFunctionTypes": true, | ||||||
|  |         "strictNullChecks": true, | ||||||
|  |         "noEmit": true, | ||||||
|  |         "forceConsistentCasingInFileNames": true | ||||||
|  |     }, | ||||||
|  |     "files": [ | ||||||
|  |         "index.d.ts", | ||||||
|  |     ] | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user