Audio Classification
Transformers
ONNX
NeMo
Safetensors
anuvani_lid
audio
speech
language-identification
spoken-language-id
lid
indic
conformer
custom_code
Instructions to use CIIL/Anuvani-LID with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use CIIL/Anuvani-LID with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("audio-classification", model="CIIL/Anuvani-LID", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForAudioClassification model = AutoModelForAudioClassification.from_pretrained("CIIL/Anuvani-LID", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download mobile_inference/tests/bindings/java/Main.java from CIIL/Anuvani-LID: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/CIIL/Anuvani-LID/resolve/main/mobile_inference/tests/bindings/java/Main.java
- Command line
-
hf download hf://CIIL/Anuvani-LID/mobile_inference/tests/bindings/java/Main.java
-
curl -L -o Main.java https://huggingface.co/CIIL/Anuvani-LID/resolve/main/mobile_inference/tests/bindings/java/Main.java
1.91 kB
| // Copyright (c) 2026, CIIL Anuvani-LID. Apache-2.0. | |
| // Binding test (see tests/bindings/python_ref.py): the Java API, on a desktop JVM against the Linux build of | |
| // libsherpa-onnx-jni.so. | |
| import com.k2fsa.sherpa.onnx.*; | |
| import java.io.File; | |
| public class Main { | |
| public static void main(String[] args) { | |
| String model = args[0], vad = args[1], longWav = args[2]; | |
| AudioTaggingModelConfig modelConfig = | |
| AudioTaggingModelConfig.builder().setLid(model).setNumThreads(2).setDebug(false).build(); | |
| AudioTagging tagger = new AudioTagging( | |
| AudioTaggingConfig.builder().setModel(modelConfig).setTopK(23).build()); | |
| for (int i = 3; i < args.length; ++i) { | |
| WaveReader reader = new WaveReader(args[i]); | |
| OfflineStream stream = tagger.createStream(); | |
| stream.acceptWaveform(reader.getSamples(), reader.getSampleRate()); | |
| AudioEvent[] events = tagger.compute(stream); | |
| stream.release(); | |
| StringBuilder sb = new StringBuilder(); | |
| for (int k = 0; k < events.length; ++k) { | |
| if (k > 0) sb.append(","); | |
| sb.append("[\"").append(events[k].getName()).append("\",").append(events[k].getIndex()) | |
| .append(",").append(events[k].getProb()).append("]"); | |
| } | |
| System.out.println("{\"file\":\"" + new File(args[i]).getName() + "\",\"events\":[" + sb + "]}"); | |
| } | |
| tagger.release(); | |
| LidPipeline pipeline = new LidPipeline( | |
| LidPipelineConfig.builder().setModel(modelConfig).setVadModel(vad).build()); | |
| WaveReader reader = new WaveReader(longWav); | |
| String json = pipeline.process(reader.getSamples(), reader.getSampleRate()); | |
| System.out.println("{\"pipeline_file\":\"" + new File(longWav).getName() + "\",\"pipeline\":" + json + "}"); | |
| pipeline.release(); | |
| } | |
| } | |