From ddfcd68c803c226f4b2a60b0666b29c24d04c259 Mon Sep 17 00:00:00 2001
From: zhifu gao <zhifu.gzf@alibaba-inc.com>
Date: 星期五, 14 四月 2023 13:15:29 +0800
Subject: [PATCH] Merge pull request #353 from alibaba-damo-academy/dev_lyb

---
 funasr/runtime/onnxruntime/include/Audio.h |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/funasr/runtime/onnxruntime/include/Audio.h b/funasr/runtime/onnxruntime/include/Audio.h
index da5e82c..ec49a9f 100644
--- a/funasr/runtime/onnxruntime/include/Audio.h
+++ b/funasr/runtime/onnxruntime/include/Audio.h
@@ -6,6 +6,13 @@
 #include <queue>
 #include <stdint.h>
 
+#ifndef model_sample_rate
+#define model_sample_rate 16000
+#endif
+#ifndef WAV_HEADER_SIZE
+#define WAV_HEADER_SIZE 44
+#endif
+
 using namespace std;
 
 class AudioFrame {
@@ -32,7 +39,6 @@
     int16_t *speech_buff;
     int speech_len;
     int speech_align_len;
-    int16_t sample_rate;
     int offset;
     float align_size;
     int data_type;
@@ -43,10 +49,11 @@
     Audio(int data_type, int size);
     ~Audio();
     void disp();
-    bool loadwav(const char* filename);
-    bool loadwav(const char* buf, int nLen);
-    bool loadpcmwav(const char* buf, int nFileLen);
-    bool loadpcmwav(const char* filename);
+    bool loadwav(const char* filename, int32_t* sampling_rate);
+    void wavResample(int32_t sampling_rate, const float *waveform, int32_t n);
+    bool loadwav(const char* buf, int nLen, int32_t* sampling_rate);
+    bool loadpcmwav(const char* buf, int nFileLen, int32_t* sampling_rate);
+    bool loadpcmwav(const char* filename, int32_t* sampling_rate);
     int fetch_chunck(float *&dout, int len);
     int fetch(float *&dout, int &len, int &flag);
     void padding();

--
Gitblit v1.9.1