Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Allosaurus is a pretrained universal phone recognizer for more than 2000 languages
| Date | Stars |
|---|---|
| 2026-07-24 | 737 |
| 2026-07-25 | 737 |
| 2026-07-28 | 737 |
| 2026-07-30 | 737 |
| 2026-08-06 | 737 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Allosaurus

Allosaurus is a pretrained universal phone recognizer. It can be used to recognize phones in more than 2000 languages.
This tool is based on our ICASSP 2020 work [Universal Phone Recognition with a Multilingual Allophone System](https://arxiv.org/pdf/2002.11800.pdf)

## Get Started
### Install
Allosaurus is available from pip
```bash
pip install allosaurus
```
You can also clone this repository and install
```bash
python setup.py install
```
### Quick start
The basic usage is pretty simple, your input is an wav audio file and output is a sequence of phones.
```bash
python -m allosaurus.run -i <audio>
```
For example, you can try using the attached sample file in this repository. Guess what's in this audio file :)
```bash
python -m allosaurus.run -i sample.wav
æ l u s ɔ ɹ s
```
You can also use allosaurus directly in python
```python
from allosaurus.app import read_recognizer
# load your model
model = read_recognizer()
# run inference -> æ l u s ɔ ɹ s
model.recognize('sample.wav')
```
For full features and details, please refer to the following sections.
## Inference
The command line interface is as follows:
```bash
python -m allosaurus.run [--lang <language name>] [--model <model name>] [--device_id <gpu_id>] [--output <output_file>] [--topk <int>] -i <audio file/directory>
```
It will recognize the narrow phones in the audio file(s).
Only the input argument is mandatory, other options can ignored. Please refer to following sections for their details.
There is also a simple python interface as follows:
```python
from allosaurus.app import read_recognizer
# load your model by the <model name>, will use 'latest' if left empty
model = read_recognizer(model)
# run inference on <audio_file> with <lang>, lang will be 'ipa' if left empty
model.recognize(audio_file, lang)
```
The details of arguments in both interface are as follows:
### Input
The input can be a single file or a directory containing multiple audio files.
If the input is a single file, it will output only the phone sequence; if the input is a directory, it will output both the file name and phone sequence, results will be sorted by file names.
The audio file(s) should be in the following format:
* It should be a wav file. If the audio is not in the wav format, please convert your audio to a wav format using sox or ffmpeg in advance.
* The sampling rate can be arbitrary, we will automatically resample them based on models' requirements.
* We assume the audio is a mono-channel audio.
### Output
The output is by default stdout (i.e. it will print all results to terminal).
If you specify a file as the output, then all output will be directed to that file.
### Language
The `lang` option is the language id. It is to specify the phone inventory you want to use.
The default option is `ipa` which tells the recognizer to use the the entire inventory (around 230 phones).
Generally, specifying the language inventory can improve your recognition accuracy.
You can check the full language list with the following command. The number of available languages is around 2000.
```bash
python -m allosaurus.bin.list_lang
```
To check language's inventory you can use following command
```bash
python -m allosaurus.bin.list_phone [--lang <language name>]
```
For example,
```bash
# to get English phone inventory
# ['a', 'aː', 'b', 'd', 'd̠', 'e', 'eː', 'e̞', 'f', 'h', 'i', 'iː', 'j', 'k', 'kʰ', 'l', 'm', 'n', 'o', 'oː', 'p', 'pʰ', 'r', 's', 't', 'tʰ', 't̠', 'u', 'uː', 'v', 'w', 'x', 'z', 'æ', 'ð', 'øː', 'ŋ', 'ɐ', 'ɐː', 'ɑ', 'ɑː', 'ɒ', 'ɒː', 'ɔ', 'ɔː', 'ɘ', 'ə', 'əː', 'ɛ', 'ɛː', 'ɜː', 'ɡ', 'ɪ', 'ɪ̯', 'ɯ', 'ɵː', 'ɹ', 'ɻ', 'ʃ', 'ʉ', 'ʉː', 'ʊ', 'ʌ', 'ʍ', 'ʒ', 'ʔ', 'θ']
python -m allosaurus.bin.list_phone --lang eng
# you can also skip lang option to get all inventory
#['I', 'a', 'aː', 'ã', 'ă', 'b', 'bʲ', 'bʲj'Excerpt of 20,596 characters
Read on GitHub48
2
2
2
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:4223668ce1f44e24, topic:pytorch
matched fp:4223668ce1f44e24, topic:speech-recognition