How samsunglabs/samsone works
Samsone is an open small-audio-language-model product with Python inference, model training/evaluation, and an Android on-device application. The main user workflow is supplying audio and a prompt to a selected model and receiving generated text; its internal path encodes audio, projects audio features into the text model, and generates a response. Training and benchmark evaluation are separate product branches. Android UI and benchmark modules appear in the tree and README, but their implementation was not sampled, so their internal wiring is kept conservative.
Main entry points: audio_lm.py Audio LM · models.py Python Model API · audio_text_datamodules.py Audio Text Data · audio_lm_experiment.py Training Experiment
Components 26
Python Inference
- Python Model API
src/samsone/inference/models.py - Inference CLI
src/samsone/inference/cli.py
SALM Model
- Audio Encoder
src/samsone/models/audio/encoders.py - Audio Pooling
src/samsone/models/audio/poolers.py - Audio Projector
src/samsone/models/projectors.py - Audio LM
src/samsone/models/multimodal/audio_lm.py - Text Language Model
src/samsone/models/text/lm.py
Data And Training
- Audio Text Data
src/samsone/data/datamodules/audio_text_datamodules.py - Dataset Builders
src/samsone/data/datasets - Audio Text Processing
src/samsone/data/preprocessing - Training Experiment
src/samsone/experiments/audio_lm_experiment.py
Evaluation
- Evaluation Data
src/samsone/data/datasets/eval_datasets.py - Evaluator Base
src/samsone/evaluation/base.py - MMAU Evaluator
src/samsone/evaluation/MMAU/evaluator.py - MMAU Pro Evaluator
src/samsone/evaluation/MMAUPro/evaluator.py
Android App
- Android Activity
android/app/src/main/java/com/samsung/samsone/MainActivity.kt - Main Screen
android/app/src/main/java/com/samsung/samsone/presentation/screen/MainScreen.kt - Main ViewModel
android/app/src/main/java/com/samsung/samsone/presentation/viewmodel/MainScreenViewModel.kt - Audio File Picker
android/app/src/main/java/com/samsung/samsone/presentation/components/AudioFilePicker.kt - Audio Player
android/app/src/main/java/com/samsung/samsone/presentation/components/AudioPlayer.kt - Model Selector
android/app/src/main/java/com/samsung/samsone/presentation/components/ModelSelectorDialog.kt - Benchmark Screen
android/app/src/main/java/com/samsung/samsone/presentation/screen/BenchmarkScreen.kt - Benchmark Runner
android/app/src/main/java/com/samsung/samsone/presentation/viewmodel/BenchmarkViewModel.kt
Other components
- Python User
- Release Checkpoints
- Android User
Connections 22
- Python User → Python Model API: calls
- Python User → Inference CLI: invokes
- Inference CLI → Python Model API: loads model
- Python Model API → Release Checkpoints: downloads
- Python Model API → Audio LM: runs inference
- Audio LM → Audio Encoder: encodes audio
- Audio LM → Audio Projector: projects features
- Audio Encoder → Audio Pooling: pools embeddings
- Audio LM → Text Language Model: generates text
- Audio Text Data → Dataset Builders: builds batches
- Audio Text Data → Audio Text Processing: prepares inputs
- Training Experiment → Audio LM: trains and generates
- Training Experiment → Audio Text Data: consumes batches
- Evaluation Data → Dataset Builders: uses datasets
- Evaluator Base → MMAU Evaluator: specialized by
- Evaluator Base → MMAU Pro Evaluator: specialized by
- Android User → Android Activity: opens app
- Android Activity → Main Screen: renders
- Android User → Audio File Picker: selects audio
- Android User → Model Selector: chooses model
- Android User → Benchmark Screen: runs benchmark
- Benchmark Screen → Benchmark Runner: uses runner