| | |
| |
|
| | use thiserror::Error; |
| |
|
| | |
| | #[derive(Error, Debug)] |
| | pub enum Error { |
| | #[error("Audio processing error: {0}")] |
| | Audio(String), |
| |
|
| | #[error("Text processing error: {0}")] |
| | Text(String), |
| |
|
| | #[error("Model inference error: {0}")] |
| | Model(String), |
| |
|
| | #[error("Configuration error: {0}")] |
| | Config(String), |
| |
|
| | #[error("IO error: {0}")] |
| | Io(#[from] std::io::Error), |
| |
|
| | #[error("File not found: {0}")] |
| | FileNotFound(String), |
| |
|
| | #[error("Invalid format: {0}")] |
| | InvalidFormat(String), |
| |
|
| | #[error("ONNX Runtime error: {0}")] |
| | Onnx(String), |
| |
|
| | #[error("Tokenization error: {0}")] |
| | Tokenization(String), |
| |
|
| | #[error("Model loading error: {0}")] |
| | ModelLoading(String), |
| |
|
| | #[error("Inference error: {0}")] |
| | Inference(String), |
| |
|
| | #[error("Vocoder error: {0}")] |
| | Vocoder(String), |
| |
|
| | #[error("Unsupported operation: {0}")] |
| | Unsupported(String), |
| |
|
| | #[error("Download error: {0}")] |
| | Download(String), |
| |
|
| | #[error("Shape mismatch: expected {expected}, got {actual}")] |
| | ShapeMismatch { expected: String, actual: String }, |
| | } |
| |
|
| | |
| | pub type Result<T> = std::result::Result<T, Error>; |
| |
|
| | impl From<serde_yaml::Error> for Error { |
| | fn from(err: serde_yaml::Error) -> Self { |
| | Error::Config(err.to_string()) |
| | } |
| | } |
| |
|
| | impl From<serde_json::Error> for Error { |
| | fn from(err: serde_json::Error) -> Self { |
| | Error::Config(err.to_string()) |
| | } |
| | } |
| |
|
| | impl From<hound::Error> for Error { |
| | fn from(err: hound::Error) -> Self { |
| | Error::Audio(err.to_string()) |
| | } |
| | } |
| |
|
| | impl From<ndarray::ShapeError> for Error { |
| | fn from(err: ndarray::ShapeError) -> Self { |
| | Error::ShapeMismatch { |
| | expected: "valid shape".into(), |
| | actual: err.to_string(), |
| | } |
| | } |
| | } |
| |
|
| | impl From<regex::Error> for Error { |
| | fn from(err: regex::Error) -> Self { |
| | Error::Text(err.to_string()) |
| | } |
| | } |
| |
|