From 2868fe3df4e92a6ae3e327faf6e57ea492e04124 Mon Sep 17 00:00:00 2001
From: 志浩 <neo.dzh@alibaba-inc.com>
Date: 星期四, 16 三月 2023 19:24:21 +0800
Subject: [PATCH] Merge branch 'main' into dev_dzh

---
 funasr/runtime/onnxruntime/include/Audio.h |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/funasr/runtime/onnxruntime/include/Audio.h b/funasr/runtime/onnxruntime/include/Audio.h
new file mode 100644
index 0000000..da5e82c
--- /dev/null
+++ b/funasr/runtime/onnxruntime/include/Audio.h
@@ -0,0 +1,59 @@
+
+#ifndef AUDIO_H
+#define AUDIO_H
+
+#include <ComDefine.h>
+#include <queue>
+#include <stdint.h>
+
+using namespace std;
+
+class AudioFrame {
+  private:
+    int start;
+    int end;
+    int len;
+
+  public:
+    AudioFrame();
+    AudioFrame(int len);
+
+    ~AudioFrame();
+    int set_start(int val);
+    int set_end(int val, int max_len);
+    int get_start();
+    int get_len();
+    int disp();
+};
+
+class Audio {
+  private:
+    float *speech_data;
+    int16_t *speech_buff;
+    int speech_len;
+    int speech_align_len;
+    int16_t sample_rate;
+    int offset;
+    float align_size;
+    int data_type;
+    queue<AudioFrame *> frame_queue;
+
+  public:
+    Audio(int data_type);
+    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);
+    int fetch_chunck(float *&dout, int len);
+    int fetch(float *&dout, int &len, int &flag);
+    void padding();
+    void split();
+    float get_time_len();
+
+    int get_queue_size() { return (int)frame_queue.size(); }
+};
+
+#endif

--
Gitblit v1.9.1