diff options
| author | soryu <soryu@soryu.co> | 2025-12-21 00:40:04 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2025-12-23 14:47:18 +0000 |
| commit | 55cacf6e1a087c0fa6950a1ddeb09060f787e541 (patch) | |
| tree | 0b8e754eb16c829fc0ee7c8f4ba66fe75b4f3ebf /parakeet-rs/src/error.rs | |
| parent | 84fee5ce2ae30fb2381c99b9b223b8235b962869 (diff) | |
| download | soryu-55cacf6e1a087c0fa6950a1ddeb09060f787e541.tar.gz soryu-55cacf6e1a087c0fa6950a1ddeb09060f787e541.zip | |
Add EOU detection and streaming diarization
Diffstat (limited to 'parakeet-rs/src/error.rs')
| -rw-r--r-- | parakeet-rs/src/error.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/parakeet-rs/src/error.rs b/parakeet-rs/src/error.rs new file mode 100644 index 0000000..690e0e5 --- /dev/null +++ b/parakeet-rs/src/error.rs @@ -0,0 +1,52 @@ +use std::fmt; + +pub type Result<T> = std::result::Result<T, Error>; + +#[derive(Debug)] +pub enum Error { + Io(std::io::Error), + Ort(ort::Error), + Audio(String), + Model(String), + Tokenizer(String), + Config(String), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::Io(e) => write!(f, "IO error: {e}"), + Error::Ort(e) => write!(f, "ONNX Runtime error: {e}"), + Error::Audio(msg) => write!(f, "Audio processing error: {msg}"), + Error::Model(msg) => write!(f, "Model error: {msg}"), + Error::Tokenizer(msg) => write!(f, "Tokenizer error: {msg}"), + Error::Config(msg) => write!(f, "Config error: {msg}"), + } + } +} + +impl std::error::Error for Error {} + +impl From<std::io::Error> for Error { + fn from(e: std::io::Error) -> Self { + Error::Io(e) + } +} + +impl From<ort::Error> for Error { + fn from(e: ort::Error) -> Self { + Error::Ort(e) + } +} + +impl From<serde_json::Error> for Error { + fn from(e: serde_json::Error) -> Self { + Error::Config(e.to_string()) + } +} + +impl From<hound::Error> for Error { + fn from(e: hound::Error) -> Self { + Error::Audio(e.to_string()) + } +} |
