Speech Recognition API

The Automatic Speech Recognition (ASR) module converts meeting speech to text and interacts with other MA modules through the Speech Recognition XML-RPC API. The Speech Recognition APIs support the creation of the ASR job, the monitoring the status and the controlling the jobs. These APIs are currently supported by the Decipher speech recognition module within MA. If you want to replace Decipher with any other ASR module that module must support all of the speech recognition API.

API

    
    /**
     * Add documents for building the custom language model in speech recognition.
     *
     * @param handle Job ID
     * @param data contents of zip file that contains prep pack documents
     * @return true if successfull in adding documents; false otherwise
     *
     * boolean addPrepak(int handle, byte[] data)
     * 
     */
    /*******************************************************************/
    /**
     * Get the status of the specified ASR job
     *
     * @param handle Job ID
     * @return status String for the specified job
     *
     * String checkStatus(int handle)
     *
     */
    /*******************************************************************/
    /**
     * Get the status of all the jobs in the ASR Queue
     *
     * @param none
     * @return list of status strings
     * 
     * List<String> checkStatuses()
     * 
     */
    /*******************************************************************/
    /**
     * Create a new ASR job and return the handle to the job.
     * This function does not start the job.
     *
     * @param data zipfile containing the wav data to be processed
     * @param doRecognition recognition should be performed or not
     * @param doSegmentation sentence segmentation should be performed or not
     * @param doPhone phone recognition should be performed or not
     * @param versionToUse  configuration file to use. Generally, this will be set to 'default'
     * @param priority Priority of the job in the queue. Higher priority jobs will be serviced first
     * @return handle to the Speech Recognition job
     * 
     * int createNewDecipherJob(byte[] data, boolean doRecognition, boolean doSegmentation,
     *                  boolean doPhone, boolean versionToUse, int priority)
     * 
     */
    /*******************************************************************/
    /**
     * Mark the ASR job as finished
     *
     * @param handle Job ID
     * @return status true on success, false otherwise
     *
     * boolean detachJob(int handle)
     * 
     */
    /*******************************************************************/
    /**
     * Get all the jobs in the ASR queue
     *
     * @param  none
     * @return list of handles to all the jobs in the queue
     * 
     * List<int> getHandles()
     * 
     */
    /*******************************************************************/
    /**
     * Get all the ASR output files after the job is processed by ASR
     *
     * @param handle Job ID
     * @return byte[] contents of a zip file containing all the processed results
     * 
     * byte[] getResults(int handle)
     * 
     */
    /*******************************************************************/
   /**
     * Get the detailed information on the available local servers
     *
     * @param none
     * @return status String
     * 
     * String listLServers()
     * 
     */
    /*******************************************************************/
    /**
     * Get the total number of jobs in the ASR queue which are being processed, active and inactive
     *
     * @param  none
     * @return number of jobs
     * 
     * int queueLen()
     *
     */
    /*******************************************************************/
    /**
     * Remove a job that has not yet started processing
     *
     * @param handle Job ID
     * @return status true on success; false otherwise
     * 
     * boolean revokeJob(int handle)
     * 
     */
    /*******************************************************************/
    /**
     * Set the priority of a job that has not yet started by ASR.
     * Higher priority processes are started first when a ASR server becomes available. 
     *
     * @param handle Job ID
     * @param priority of the job
     * @return status true on success, false otherwise
     * 
     * boolean setPriority(int handle, int priority)
     * 
     */
    /*******************************************************************/
    /**
     * Set a job that was previously created to active. ASR won't start processing a job
     * unless it is set active.
     *
     * @param handle Job ID
     * @return status true on success; false otherwise
     * 
     * boolean startJob(int handle)
     * 
     */
    /*******************************************************************/
    /**
     * Unlock a server (mark it as available), so that the next job in the ASR queue can be processed
     *
     * @param url local server name
     * @return status true on success; false otherwise
     * 
     * boolean unlockLServer(url)
     * 
     */
    /*******************************************************************/