| | |
| | | extern "C" { |
| | | #endif |
| | | |
| | | |
| | | // APIs for qmasr |
| | | _RAPIDASRAPI RPASR_HANDLE RapidAsrInit(const char* szModelDir, int nThreadNum) |
| | | _RAPIDASRAPI RPASR_HANDLE RapidAsrInit(const char* szModelDir, int nThreadNum, bool quantize) |
| | | { |
| | | |
| | | |
| | | Model* mm = create_model(szModelDir, nThreadNum); |
| | | |
| | | Model* mm = create_model(szModelDir, nThreadNum, quantize); |
| | | return mm; |
| | | } |
| | | |
| | | |
| | | _RAPIDASRAPI RPASR_RESULT RapidAsrRecogBuffer(RPASR_HANDLE handle, const char* szBuf, int nLen, RPASR_MODE Mode, QM_CALLBACK fnCallback) |
| | | { |
| | | |
| | | |
| | | Model* pRecogObj = (Model*)handle; |
| | | |
| | | if (!pRecogObj) |
| | | return nullptr; |
| | | |
| | |
| | | fnCallback(nStep, nTotal); |
| | | } |
| | | |
| | | |
| | | return pResult; |
| | | } |
| | | |
| | | _RAPIDASRAPI RPASR_RESULT RapidAsrRecogPCMBuffer(RPASR_HANDLE handle, const char* szBuf, int nLen, RPASR_MODE Mode, QM_CALLBACK fnCallback) |
| | | { |
| | | |
| | | Model* pRecogObj = (Model*)handle; |
| | | |
| | | if (!pRecogObj) |
| | | return nullptr; |
| | | |
| | |
| | | fnCallback(nStep, nTotal); |
| | | } |
| | | |
| | | |
| | | return pResult; |
| | | |
| | | } |
| | | |
| | | _RAPIDASRAPI RPASR_RESULT RapidAsrRecogPCMFile(RPASR_HANDLE handle, const char* szFileName, RPASR_MODE Mode, QM_CALLBACK fnCallback) |
| | | { |
| | | |
| | | Model* pRecogObj = (Model*)handle; |
| | | |
| | | if (!pRecogObj) |
| | | return nullptr; |
| | | |
| | |
| | | fnCallback(nStep, nTotal); |
| | | } |
| | | |
| | | |
| | | return pResult; |
| | | |
| | | } |
| | | |
| | | _RAPIDASRAPI RPASR_RESULT RapidAsrRecogFile(RPASR_HANDLE handle, const char* szWavfile, RPASR_MODE Mode, QM_CALLBACK fnCallback) |
| | | { |
| | | Model* pRecogObj = (Model*)handle; |
| | | |
| | | if (!pRecogObj) |
| | | return nullptr; |
| | | |
| | |
| | | fnCallback(nStep, nTotal); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return pResult; |
| | | } |
| | | |
| | |
| | | return 0; |
| | | |
| | | return 1; |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | return 0.0f; |
| | | |
| | | return ((RPASR_RECOG_RESULT*)Result)->snippet_time; |
| | | |
| | | } |
| | | |
| | | _RAPIDASRAPI const char* RapidAsrGetResult(RPASR_RESULT Result,int nIndex) |
| | |
| | | return nullptr; |
| | | |
| | | return pResult->msg.c_str(); |
| | | |
| | | } |
| | | |
| | | _RAPIDASRAPI void RapidAsrFreeResult(RPASR_RESULT Result) |
| | | { |
| | | |
| | | if (Result) |
| | | { |
| | | delete (RPASR_RECOG_RESULT*)Result; |
| | | |
| | | } |
| | | } |
| | | |
| | | _RAPIDASRAPI void RapidAsrUninit(RPASR_HANDLE handle) |
| | | { |
| | | |
| | | Model* pRecogObj = (Model*)handle; |
| | | |
| | | |
| | | if (!pRecogObj) |
| | | return; |
| | | |
| | | delete pRecogObj; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | #ifdef __cplusplus |
| | | |