Skip to content
View calebtt's full-sized avatar

Block or report calebtt

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
calebtt/README.md

Hi, I'm Caleb

Software engineer in Nashville, TN, writing C#/.NET, C++, and Python. I mostly build small, focused libraries and the tools on top of them.

Right now I'm working on voice agents that use a real phone line: SIP telephony, speech detection, echo cancellation, and the pieces that let an AI agent place and answer calls.

Voice agents and telephony

  • pbx-voice: a daemon that places phone calls for AI agents through your own SIP PBX. It handles wake-up alarms, spoken messages, and short goal-driven conversations, and agents request calls over MCP.
  • SipBotLib: a headless SIP library for .NET, built on SIPSorcery, with a sipbot CLI for agents. It can register, answer, dial, transfer, send DTMF, and stream PCM audio.
  • SipBotOpen: a voice agent that answers incoming calls as a PBX extension. It runs speech-to-text and text-to-speech locally and uses an LLM with tool calling.
  • MinimalSileroVad: voice activity detection and speech segmentation for .NET, using the Silero VAD model (V4 and V5) on ONNX Runtime. It works with 8 kHz and 16 kHz audio.
  • clean-speech: a Linux microphone cleanup daemon. It cancels echo from system playback, suppresses noise, gates on speech, and publishes the result as a virtual microphone.
  • MinimalDiarization: speaker diarization for .NET on ONNX Runtime, with experimental preprocessing for picking out voice commands in noisy rooms.
  • MinimalVoiceAgent: a minimal voice agent with tool calling, local speech-to-text and text-to-speech, and Grok over the xAI API.

Model fine-tuning and inference

  • MinimalTextClassifier: a binary text classifier for .NET on ONNX Runtime, with Python scripts for fine-tuning DeBERTa on your own data.
  • youtube_skip_button_fine_tuned_yolo: a fine-tuned YOLO11 model that detects YouTube "Skip ad" buttons, plus the data collection and training scripts.

Models are published on Hugging Face.

C++

  • XMapLib: maps Xbox controller input to keyboard and mouse input on Windows, with rebindable keys and adjustable mouse sensitivity.
  • impcool_sol: a thread pool for long-running tasks that uses immutability to keep the implementation simple.
  • StreamToActionTranslator: the XMapLib keyboard core as a C++23 CMake library that turns an input stream into function calls, with unit tests.

Contact

Email is the best way to reach me.

Pinned Loading

  1. SipBotLib SipBotLib Public

    SIP Sorcery library based auto-answer bot code in C# .NET

    C#

  2. pbx-voice pbx-voice Public

    Scheduled phone calls for agents over a bring-your-own SIP PBX: wake-up alarms, spoken messages, and conversations, placed by a daemon

    C#

  3. clean-speech clean-speech Public

    Ubuntu microphone cleanup daemon with adaptive echo cancellation, noise suppression, VAD, and GUI testbed

    Python

  4. MinimalSileroVad MinimalSileroVad Public

    Cross-platform library for .NET VAD speech detection and segmentation based on the Silero VAD model.

    C# 1

  5. XMapLib XMapLib Public

    A closer to the metal library for Xbox controller to keyboard and mouse input.

    C++ 6 2

  6. MinimalDiarization MinimalDiarization Public

    C# .NET Library for speaker diarization via AI model (ONNX runtime) with experimental intent preprocessing for voice agent command discrimination in noisy environments.

    C#