Draft successful build, versions bump, crates up to date + custom forks of certain crates

This commit is contained in:
Priler 2025-12-12 02:05:37 +05:00
parent 0fbb5ac5aa
commit 3ffbe876f3
3 changed files with 46 additions and 35 deletions

View file

@ -55,7 +55,10 @@ pub fn init() -> Result<(), ()> {
pub fn data_callback(frame_buffer: &[i16]) -> Option<i32> { pub fn data_callback(frame_buffer: &[i16]) -> Option<i32> {
match WAKE_WORD_ENGINE.get().unwrap() { 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::Rustpotter => rustpotter::data_callback(frame_buffer),
WakeWordEngine::Vosk => vosk::data_callback(frame_buffer), WakeWordEngine::Vosk => vosk::data_callback(frame_buffer),
} }

View file

@ -33,41 +33,50 @@ pub fn recognize(data: &[i16], include_partial: bool) -> Option<String> {
.accept_waveform(data); .accept_waveform(data);
match state { match state {
DecodingState::Running => { Ok(ds) => {
if include_partial { match ds {
Some( DecodingState::Running => {
RECOGNIZER if include_partial {
.get() Some(
.unwrap() RECOGNIZER
.lock() .get()
.unwrap() .unwrap()
.partial_result() .lock()
.partial .unwrap()
.into(), .partial_result()
) .partial
} else { .into(),
None )
} 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,
} }
} }

View file

@ -1,6 +1,5 @@
mod menu; mod menu;
use image;
use tray_icon::{ use tray_icon::{
menu::{AboutMetadata, Menu, MenuEvent, MenuItem, PredefinedMenuItem}, menu::{AboutMetadata, Menu, MenuEvent, MenuItem, PredefinedMenuItem},
TrayIconBuilder, TrayIconEvent, TrayIconBuilder, TrayIconEvent,