4 releases (2 breaking)
| 0.4.4 | Aug 21, 2020 |
|---|---|
| 0.3.0 | May 3, 2020 |
| 0.1.1 | Mar 31, 2020 |
| 0.1.0 | Mar 30, 2020 |
#433 in Machine learning
1.5MB
9K
SLoC
ECOZ2 in Rust
This project is mainly a "front-end" to the original ecoz2 implementation in C, with some functionality implemented in Rust.
Installing and running
The ecoz2 executable is currently being built and released for
Linux and MacOS, which you can find under
releases.
Alternatively, you can also install the executable using
Rust.
For this you will also need a GNU gcc compiler on your machine.
On Linux you can run:
$ CC=gcc cargo install ecoz2
and on a MacOS, something like:
$ CC=gcc-9 cargo install ecoz2
This may take some time to complete (example of output here).
Running:
$ ecoz2
ecoz2 0.3.35
ECOZ2 System
USAGE:
ecoz2 <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
csv-show Basic csv selection info
cversion Show version of C code
help Prints this message or the help of the given subcommand(s)
hmm HMM operations
lpc Linear prediction coding
prd Predictor file operations
seq Sequence file operations
sgn Signal operations
vq VQ operations
Starting with a set of acoustic signals (WAV format) on your machine, the typical use of the system will involve the following main subcommands in this general order:
ecoz2 lpc: takes*.wavand generates perdictor files*.prdecoz2 vq learntakes*.prdand generates codebooks*.cbecoz2 vq quantizetakes*.cband*.prdand generates observation sequences*.seqecoz2 hmm learntakes*.seqand generates an HMM model*.hmmecoz2 hmm classifytakes*.hmmand*.seqand reports classification of the sequences
Development
ecoz2 is included as a submodule, with selected functionality exposed via https://doc.rust-lang.org/cargo/reference/build-scripts.html.
$ cargo build [--release]
Dependencies
~11–24MB
~371K SLoC