mirror of
https://github.com/Priler/jarvis.git
synced 2026-06-03 19:09:45 +00:00
Draft successful build, versions bump, crates up to date + custom forks of certain crates
This commit is contained in:
@@ -55,7 +55,10 @@ pub fn init() -> Result<(), ()> {
|
||||
|
||||
pub fn data_callback(frame_buffer: &[i16]) -> Option<i32> {
|
||||
match WAKE_WORD_ENGINE.get().unwrap() {
|
||||
WakeWordEngine::Porcupine => porcupine::data_callback(frame_buffer),
|
||||
WakeWordEngine::Porcupine => {
|
||||
// porcupine::data_callback(frame_buffer)
|
||||
unimplemented!("f*ck picovoice");
|
||||
},
|
||||
WakeWordEngine::Rustpotter => rustpotter::data_callback(frame_buffer),
|
||||
WakeWordEngine::Vosk => vosk::data_callback(frame_buffer),
|
||||
}
|
||||
|
||||
@@ -33,41 +33,50 @@ pub fn recognize(data: &[i16], include_partial: bool) -> Option<String> {
|
||||
.accept_waveform(data);
|
||||
|
||||
match state {
|
||||
DecodingState::Running => {
|
||||
if include_partial {
|
||||
Some(
|
||||
RECOGNIZER
|
||||
.get()
|
||||
.unwrap()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.partial_result()
|
||||
.partial
|
||||
.into(),
|
||||
)
|
||||
} else {
|
||||
None
|
||||
Ok(ds) => {
|
||||
match ds {
|
||||
DecodingState::Running => {
|
||||
if include_partial {
|
||||
Some(
|
||||
RECOGNIZER
|
||||
.get()
|
||||
.unwrap()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.partial_result()
|
||||
.partial
|
||||
.into(),
|
||||
)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
DecodingState::Finalized => {
|
||||
// Result will always be multiple because we called set_max_alternatives
|
||||
Some(
|
||||
RECOGNIZER
|
||||
.get()
|
||||
.unwrap()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.result()
|
||||
.multiple()
|
||||
.unwrap()
|
||||
.alternatives
|
||||
.first()
|
||||
.unwrap()
|
||||
.text
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
DecodingState::Failed => None,
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
error!("Vosk accept waveform error.\nError details: {}", err);
|
||||
|
||||
None
|
||||
}
|
||||
DecodingState::Finalized => {
|
||||
// Result will always be multiple because we called set_max_alternatives
|
||||
Some(
|
||||
RECOGNIZER
|
||||
.get()
|
||||
.unwrap()
|
||||
.lock()
|
||||
.unwrap()
|
||||
.result()
|
||||
.multiple()
|
||||
.unwrap()
|
||||
.alternatives
|
||||
.first()
|
||||
.unwrap()
|
||||
.text
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
DecodingState::Failed => None,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
mod menu;
|
||||
|
||||
use image;
|
||||
use tray_icon::{
|
||||
menu::{AboutMetadata, Menu, MenuEvent, MenuItem, PredefinedMenuItem},
|
||||
TrayIconBuilder, TrayIconEvent,
|
||||
|
||||
Reference in New Issue
Block a user