-
Ensure that
python(>=3.6), Java, andopenSMILEare installed.python3,java, andSMILExtractshould be available on thePATH. -
Ensure that
pip,wheel, andsetuptoolsare installed and up-to-date
pip install --upgrade pip wheel setuptools
- Clone the repository and
cdinto it
git clone https://github.com/adoxography/streamlined-genre && cd streamlined-genre
- Install the
streamlined-genrepackage
pip install .
If you're developing streamlined-genre, you might want to install it with the optional dev dependencies instead:
pip install -e ".[dev]"
streamlined-genre is designed to work with directories generated from Endangered Languages Archive (ELAR) content. The directories should be constructed as follows:
{LANGUAGE}
├── Bundles
│ └── {RECORDING_TITLE}
│ └── {AUDIO_FILE}
└── {LANGUAGE}_ELAR_Directory.csv
{LANGUAGE}_ELAR_Directory.csv should be structured as follows, where {LABEL} is the instance's genre label. Audio files may be in wav or sph format.
...
{RECORDING_TITLE},...,{AUDIO_FILE},...{LABEL}
...streamlined-genre can also work with arbitrary wav files. The files should be in the same folder and be named {IDENTIFIER}__{LABEL}.wav (where {IDENTIFIER} is unique across all samples).
Once installed, the executable streamlined-genre is available on the command line. It requires at least one action flag:
| Flag | Action | Requires |
|---|---|---|
-t |
Transfers audio files from ELAR directories | --wavs and at least one --source |
-e |
Extracts LLDs and labels from wav files | --wavs and --compiled |
-x |
Compiles bags of words from LLD files | --compiled |
-c |
Classifies bags of words | --compiled |
Action flags may be combined; e.g. -texc.
For a full description of command line arguments, run streamlined-genre --help.
This project is licensed GPL v.3. It incorporates the following third party packages, which have their own licenses: