志浩
2023-04-07 4137f5cf26e7c4b40853959cd2574edfde03aa60
funasr/runtime/onnxruntime/src/librapidasrapi.cpp
@@ -4,30 +4,23 @@
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;
      Audio audio(1);
      audio.loadwav(szBuf,nLen);
      audio.split();
      if (!audio.loadwav(szBuf, nLen))
         return nullptr;
      //audio.split();
      float* buff;
      int len;
@@ -45,21 +38,19 @@
            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;
      Audio audio(1);
      audio.loadpcmwav(szBuf, nLen);
      audio.split();
      if (!audio.loadpcmwav(szBuf, nLen))
         return nullptr;
      //audio.split();
      float* buff;
      int len;
@@ -77,22 +68,19 @@
            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;
      Audio audio(1);
      audio.loadpcmwav(szFileName);
      audio.split();
      if (!audio.loadpcmwav(szFileName))
         return nullptr;
      //audio.split();
      float* buff;
      int len;
@@ -110,22 +98,19 @@
            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;
      Audio audio(1);
      if(!audio.loadwav(szWavfile))
         return nullptr;
      audio.split();
      //audio.split();
      float* buff;
      int len;
@@ -143,9 +128,6 @@
            fnCallback(nStep, nTotal);
      }
   
      return pResult;
   }
@@ -155,7 +137,6 @@
         return 0;
      return 1;
   }
@@ -165,7 +146,6 @@
         return 0.0f;
      return ((RPASR_RECOG_RESULT*)Result)->snippet_time;
   }
   _RAPIDASRAPI const char* RapidAsrGetResult(RPASR_RESULT Result,int nIndex)
@@ -175,33 +155,25 @@
         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