Initial commit
This commit is contained in:
commit
9c79cc9a51
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/target
|
||||
/Cargo.lock
|
24
Cargo.toml
Normal file
24
Cargo.toml
Normal file
@ -0,0 +1,24 @@
|
||||
[package]
|
||||
name = "voss"
|
||||
version = "0.1.0"
|
||||
description = "Voice personal assistant"
|
||||
keywords = ["voice", "assistant", "vosk", "rhvoice"]
|
||||
author = "Andrey Tkachenko <andrey@aidev.ru>"
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
||||
[workspace]
|
||||
members = [
|
||||
"crates/voss-core",
|
||||
"crates/voss-alsa",
|
||||
"crates/voss-ecc",
|
||||
"crates/voss-vad",
|
||||
"crates/voss-doa",
|
||||
"crates/voss-bss",
|
||||
"crates/voss-stt",
|
||||
"crates/voss-fst",
|
||||
"crates/voss-nlml",
|
||||
"crates/voss-tts",
|
||||
]
|
||||
|
||||
|
8
crates/voss-alsa/Cargo.toml
Normal file
8
crates/voss-alsa/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-alsa"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-alsa/src/lib.rs
Normal file
14
crates/voss-alsa/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-bss/Cargo.toml
Normal file
8
crates/voss-bss/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-bss"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-bss/src/lib.rs
Normal file
14
crates/voss-bss/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-core/Cargo.toml
Normal file
8
crates/voss-core/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-core"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
43
crates/voss-core/src/frame.rs
Normal file
43
crates/voss-core/src/frame.rs
Normal file
@ -0,0 +1,43 @@
|
||||
pub struct AudioContext {
|
||||
pub timestamp: u64,
|
||||
}
|
||||
|
||||
pub struct MicAduioFrame {
|
||||
pub ctx: AudioContext,
|
||||
pub array_config: MicArrayConfiguration,
|
||||
pub samples: Array2<i16>,
|
||||
}
|
||||
|
||||
pub struct BeamAudioFrame {
|
||||
pub ctx: AudioContext,
|
||||
pub samples: Array1<f32>,
|
||||
pub doa: Doa,
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
pub struct SpeakerAudioFrame {
|
||||
pub ctx_from: AudioContext,
|
||||
pub ctx_to: AudioContext,
|
||||
pub samples: Array1<f32>,
|
||||
pub speaker: Speaker,
|
||||
pub doa: Doa,
|
||||
}
|
||||
|
||||
pub struct TranscribedFrame {
|
||||
speaker_frame: SpeakerAudioFrame,
|
||||
transcribtion: Transcribtion,
|
||||
}
|
||||
|
||||
pub struct Doa {
|
||||
pub angle: f32,
|
||||
}
|
||||
|
||||
pub struct Speaker {
|
||||
pub id: i32,
|
||||
pub features: Option<Array1<f32>>,
|
||||
pub info: Option<IdentifiedSpeaker>,
|
||||
}
|
||||
|
||||
pub struct IdentifiedSpeaker {
|
||||
pub name: String,
|
||||
}
|
1
crates/voss-core/src/lib.rs
Normal file
1
crates/voss-core/src/lib.rs
Normal file
@ -0,0 +1 @@
|
||||
mod frame;
|
8
crates/voss-doa/Cargo.toml
Normal file
8
crates/voss-doa/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-doa"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-doa/src/lib.rs
Normal file
14
crates/voss-doa/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-ecc/Cargo.toml
Normal file
8
crates/voss-ecc/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-ecc"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-ecc/src/lib.rs
Normal file
14
crates/voss-ecc/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-fst/Cargo.toml
Normal file
8
crates/voss-fst/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-fst"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-fst/src/lib.rs
Normal file
14
crates/voss-fst/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-nlml/Cargo.toml
Normal file
8
crates/voss-nlml/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-nlml"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-nlml/src/lib.rs
Normal file
14
crates/voss-nlml/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-stt/Cargo.toml
Normal file
8
crates/voss-stt/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-stt"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-stt/src/lib.rs
Normal file
14
crates/voss-stt/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-tts/Cargo.toml
Normal file
8
crates/voss-tts/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-tts"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-tts/src/lib.rs
Normal file
14
crates/voss-tts/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
8
crates/voss-vad/Cargo.toml
Normal file
8
crates/voss-vad/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "voss-vad"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
14
crates/voss-vad/src/lib.rs
Normal file
14
crates/voss-vad/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
14
src/lib.rs
Normal file
14
src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub fn add(left: usize, right: usize) -> usize {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user