mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-11-07 08:34:37 +01:00
wchess : add clear_audio callback
This commit is contained in:
parent
03f254193b
commit
ee65df7982
@ -1,3 +1,4 @@
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
add_subdirectory(libwchess)
|
||||
|
||||
|
@ -48,6 +48,11 @@ bool WChess::check_running() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool WChess::clear_audio() const {
|
||||
if (m_cb.clear_audio) return (*m_cb.clear_audio)();
|
||||
return false;
|
||||
}
|
||||
|
||||
void WChess::get_audio(int ms, std::vector<float>& pcmf32) const {
|
||||
if (m_cb.get_audio) (*m_cb.get_audio)(ms, pcmf32);
|
||||
}
|
||||
@ -195,6 +200,8 @@ void WChess::run() {
|
||||
set_moves(m_board->process(command));
|
||||
}
|
||||
}
|
||||
|
||||
clear_audio();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,12 +12,14 @@ public:
|
||||
using CheckRunningCb = bool (*)();
|
||||
using GetAudioCb = void (*)(int, std::vector<float> &);
|
||||
using SetMovesCb = void (*)(const std::string &);
|
||||
using CleartAudioCb = bool (*)();
|
||||
|
||||
struct callbacks {
|
||||
SetStatusCb set_status = nullptr;
|
||||
CheckRunningCb check_running = nullptr;
|
||||
GetAudioCb get_audio = nullptr;
|
||||
SetMovesCb set_moves = nullptr;
|
||||
CleartAudioCb clear_audio = nullptr;
|
||||
};
|
||||
|
||||
struct settings {
|
||||
@ -44,6 +46,7 @@ private:
|
||||
void set_status(const std::string& msg) const;
|
||||
void set_moves(const std::string& moves) const;
|
||||
bool check_running() const;
|
||||
bool clear_audio() const;
|
||||
std::string transcribe(
|
||||
const std::vector<float> & pcmf32,
|
||||
float & logprob_min,
|
||||
|
@ -118,6 +118,10 @@ void get_audio(int ms, std::vector<float> & pcmf32_cur) {
|
||||
g_audio.get(ms, pcmf32_cur);
|
||||
}
|
||||
|
||||
bool clear_audio() {
|
||||
g_audio.clear();
|
||||
}
|
||||
|
||||
int main(int argc, char ** argv) {
|
||||
whisper_params params;
|
||||
|
||||
@ -180,6 +184,7 @@ int main(int argc, char ** argv) {
|
||||
cb.check_running = sdl_poll_events;
|
||||
cb.get_audio = get_audio;
|
||||
cb.set_moves = set_moves;
|
||||
cb.clear_audio = clear_audio;
|
||||
|
||||
WChess::settings s;
|
||||
s.vad_ms = 2000;
|
||||
|
Loading…
Reference in New Issue
Block a user