/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
whisper · dense
Базовая модель
whisper-tiny
Библиотека
transformers
Опубликована
25 апр 2026

whisper-telephony-amd

Классификация аудиоАудио → label3 профессии

Компактная модель на базе Whisper-Tiny классифицирует телефонное аудио как речь человека, голосовую почту, IVR или автоответчик.

1 783скачиваний за 30 дней3лайкавеса обновлены30 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Whisper Telephony AMD — компактный классификатор аудио для определения того, кто или что ответило на телефонный звонок. Модель разработана AbijahKaj на основе openai/whisper-tiny: это WhisperForAudioClassification с энкодером Whisper-Tiny и линейным классификатором, всего 8,3 млн параметров. Репозиторий содержит веса safetensors и рассчитан на работу через библиотеку Transformers; лицензия — Apache-2.0.

Модель относит аудио к одному из четырёх классов: живой собеседник, персональное голосовое приветствие, IVR-меню или автоответчик. Она предназначена для автоматизации обработки входящих телефонных звонков и может использоваться в сценариях обнаружения автоответчика в реальном времени. По README, точность составила 98,75% на тестовой выборке из 400 примеров; этот результат не гарантирует аналогичное качество на других данных.

В основном обучении использовалось аудио на английском, французском, испанском и немецком языках. Авторы рекомендуют ориентироваться прежде всего на первые 10 секунд записи. Качество может снижаться на шумных сотовых соединениях и при артефактах VoIP-кодеков; TTS-примеры автоответчиков и IVR могут не полностью отражать реальные системы, а близкие классы голосовых приветствий иногда смешиваются.

Сценарии применения

  • определение, ответил ли на звонок человек или автоответчик
  • распознавание голосового приветствия в телефонном звонке
  • обнаружение автоматического IVR-меню
  • маршрутизация исходящих звонков по типу ответа
  • классификация первых секунд телефонного аудио в реальном времени

Ограничения

В основном обучена на английском, французском, испанском и немецком аудио; авторы рекомендуют использовать первые 10 секунд. Качество на шумных сотовых соединениях и при артефактах VoIP-кодеков не проверялось, а TTS-данные могут не отражать разнообразие реальных систем.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Whisper Telephony AMD (Answering Machine Detection)

A real-time audio classifier that detects whether a telephony call is answered by a human, voicemail, IVR system, or answering machine — using Whisper's speech understanding to distinguish human-recorded voicemail greetings from live speech.

Results

98.75% accuracy on 400 test samples with only 5 misclassifications:

                   precision    recall  f1-score   support

            human       1.00      0.99      1.00       114
        voicemail       0.96      0.99      0.98       102
              ivr       1.00      0.99      0.99        92
answering_machine       0.99      0.98      0.98        92

         accuracy                           0.99       400
        macro avg       0.99      0.99      0.99       400
     weighted avg       0.99      0.99      0.99       400

Confusion Matrix (rows = actual, columns = predicted):

HumanVoicemailIVRAnswering Machine
Human113100
Voicemail010101
IVR01910
Answering Machine02090

Accuracy Per Epoch

EpochAccuracyEval LossPer-Class
198.75%0.0785human=99.1%, vm=99.0%, ivr=98.9%, am=97.8%
295.75%0.1473human=94.7%, vm=93.1%, ivr=97.8%, am=97.8%
398.25%0.0779human=97.4%, vm=100%, ivr=97.8%, am=97.8%
498.75%0.0415human=99.1%, vm=99.0%, ivr=98.9%, am=97.8%
598.75%0.0569human=99.1%, vm=98.0%, ivr=98.9%, am=98.9%
698.00%0.0539human=97.4%, vm=99.0%, ivr=97.8%, am=97.8%

Early stopping triggered after epoch 6 (patience=5, best at epoch 4). Best model loaded from epoch 4 checkpoint.

Model Details

ArchitectureWhisperForAudioClassification (Whisper-Tiny encoder + linear classifier)
Base modelopenai/whisper-tiny
Parameters8.3M total, 7.2M trainable (conv layers frozen)
Input16kHz mono audio → 80-bin mel spectrogram (30s padded)
Output4 classes: human, voicemail, ivr, answering_machine
Inference speed~12ms CPU (ONNX int8), <5ms GPU
Model size31.7 MB (safetensors)
Design referenceSame architecture as pipecat-ai/smart-turn-v3

Quick Start

Pipeline (simplest)

from transformers import pipeline

classifier = pipeline("audio-classification", model="AbijahKaj/whisper-telephony-amd")
result = classifier("phone_call.wav")
print(result)
# [{'score': 0.98, 'label': 'human'}, {'score': 0.01, 'label': 'voicemail'}, ...]

Manual Inference

from transformers import WhisperForAudioClassification, AutoFeatureExtractor
import torch

model = WhisperForAudioClassification.from_pretrained("AbijahKaj/whisper-telephony-amd")
fe = AutoFeatureExtractor.from_pretrained("AbijahKaj/whisper-telephony-amd")

# audio_array: numpy array at 16kHz
inputs = fe(audio_array, sampling_rate=16000, return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits
    pred = torch.argmax(logits, dim=-1).item()
    label = model.config.id2label[str(pred)]
    print(f"Predicted: {label}")

Streaming Real-Time Inference

from streaming_amd import StreamingAMDClassifier

classifier = StreamingAMDClassifier("AbijahKaj/whisper-telephony-amd")

for pcm_chunk in audio_stream:  # 160ms chunks @ 8kHz
    result = classifier.process_chunk(pcm_chunk)
    if result:
        label, confidence, elapsed_s = result
        print(f"{label} ({confidence:.0%}) after {elapsed_s:.1f}s")
        break

Why Whisper?

Voicemail greetings are recorded by real humans — they are acoustically identical to live speech. Traditional acoustic-only models (energy, pitch, spectral features) cannot reliably distinguish "Hi, I'm not available, leave a message" from "Hello? Who's calling?".

Whisper's encoder was pre-trained on 680K hours of speech and understands what is being said, not just how it sounds. This semantic understanding is critical for AMD.

Training

Dataset

AbijahKaj/telephony-amd-dataset — 8,264 train / 400 test samples, balanced across 4 classes (~2,000 each).

Data sources:

ClassCountSources
Human2,151PolyAI/minds14 (real telephony callers, 6 languages), pipecat-ai/human_5_all, pipecat-ai/human_convcollector_1, original edge-tts
Voicemail2,078pipecat-ai smart-turn rime_2 TTS (personal greeting style), original edge-tts
IVR2,017pipecat-ai smart-turn chirp3 TTS (automated system style), original edge-tts
Answering Machine2,018pipecat-ai smart-turn orpheus TTS (machine greeting style), original edge-tts

Hyperparameters

ParameterValue
Learning rate1e-4
SchedulerCosine with 25 warmup steps
Batch size32
Gradient accumulation1
Max epochs20 (early stopped at 6)
Weight decay0.01
PrecisionFP16
Gradient checkpointingEnabled
Freeze strategyConv layers frozen, transformer layers + head trainable
Early stopping patience5
Max audio length10s (truncated, padded to 30s for Whisper)
HardwareTesla T4 (16GB VRAM)

Framework Versions

  • Transformers 5.7.0
  • PyTorch 2.11.0+cu130
  • Datasets 4.8.5
  • Tokenizers 0.22.2

Classes

LabelIDDescriptionExample
human0Live person on the phone"Hello? Yes, who is this?"
voicemail1Personal voicemail greeting"Hi, you've reached John. Leave a message after the beep."
ivr2IVR system / automated menu"Press 1 for sales, press 2 for support..."
answering_machine3Carrier/generic automated message"The number you have dialed is not available..."

Limitations

  • Trained primarily on English, French, Spanish, and German audio
  • TTS-generated non-human classes may not fully represent all real-world telephony systems
  • Best performance on first 10 seconds of audio
  • Not tested on noisy cellular connections or VoIP codec artifacts beyond telephony bandpass (300-3400Hz)
  • The model may confuse voicemail greetings with answering machine messages in edge cases (2 misclassifications in test set)

Files

  • model.safetensors — Model weights (31.7MB)
  • config.json — Model configuration
  • preprocessor_config.json — Feature extractor config
  • streaming_amd.py — Streaming real-time inference module
  • train_local.py — Training script (CLI args, RTX 5090 ready)

Citation

@misc{whisper-telephony-amd,
  author = {AbijahKaj},
  title = {Whisper Telephony AMD: Real-Time Answering Machine Detection},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/AbijahKaj/whisper-telephony-amd}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · audio-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
WhisperForAudioClassification
Ревизия весов
6a648b8

0 моделей