speaker-recognizer

Featured

Self-enroll a voice for speaker recognition. Activate ONLY when (a) a mic `Unknown Speaker:` turn carries a clear self-introduction ("I'm X", "my name is X", "tôi là X"...), (b) prior same-tag `[voice:voice_N]` turns can be combined with a now-named turn, (c) a Telegram voice-note carries an intro, OR (d) the user asks to list / forget / identify voices. Do NOT activate on bare `Unknown Speaker:` turns with no name and no prior same-tag history — those need only a short ack. Self-enrollment only.

AI & Automation 325 stars 49 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 90/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Speaker Recognizer Each mic transcript is prefixed `Speaker - Name:` when recognized, or `Unknown Speaker: [voice:voice_N] ... (audio save[d] at <path>...)` otherwise. The audio path is the WAV of whoever spoke this turn — use it (with paths from prior same-tag turns when needed) to enroll on `POST /speaker/enroll`. **Self-enrollment only** — never enroll one person's voice under another person's name. ## Decision matrix — pick ONE action per turn | Signals in current turn | Prior same-tag turns? | Action | |---|---|---| | `Unknown Speaker:` + path + name + ≥25 words | — | **Enroll now** with current path only. | | `Unknown Speaker:` + path + name + <25 words | ≥1 prior path same `[voice:N]` | **Enroll now** with all same-tag paths (oldest→newest). | | `Unknown Speaker:` + path + name + <25 words | none | Ask one follow-up: "say your name + ~25–30 words". | | `Unknown Speaker:` + path + NO name + <25 words | none | Ask one follow-up. | | `Unknown Speaker:` + path + NO name | ≥1 prior path same `[voice:N]` (still no name) | Reply with a SHORT ack ("Mm, nghe rồi" / "Got it"). NEVER NO_REPLY. Don't re-ask. | | `Speaker - <Name>:` | — | Already identified — skill not needed. | | "who do you know?" / "list voices" | — | `GET /speaker/list`. | | "forget my voice" / "remove Alex" | — | `POST /speaker/remove`. | | Telegram voice note + intro | — | Convert to WAV + enroll with Telegram fields. | | Telegram voice note + "who is this?" | — | `POST /speaker/recognize`. | When in d...

Details

Author
autonomous-ai
Repository
autonomous-ai/autonomous-os
Created
3 months ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

voice-onboarding

Speak. Generate and play a short spoken report using ElevenLabs, once the user has connected their own voice key. Use automatically at the START of every Underwriter OS session (a quick spoken status), during first-time onboarding (the welcome), and any time the user says "give me a voice report," "read it to me," or wants something spoken. If no voice key is connected, just speak in text and offer to set it up.

1 Updated today
Fusion-Data-Company
AI & Automation Listed

zanmaivoice

Turn spoken notes in `import/` into what they were meant to be. Triggers on `/zanmai-voice`, on the hook reporting recordings, or on "I recorded something".

0 Updated 1 weeks ago
TomSchimana
AI & Automation Solid

voice-master

Foundational voice authority and AI humanizer — writes content in the user's authentic voice with built-in AI detection, and supports stealth / anti- attribution writing (forum personas, anonymous posts, "write as not-me"). Use when asked to write/draft/generate content, invoke /voice, /write-as-me, or /humanize, run voice calibration, check "does this sound like me?", "make this sound human" / "de-AI this", "write a forum post as [persona]", or run AI detection ("does this sound like AI?", "check for AI patterns", "anti-slop check"). Do NOT use this skill for code, technical docs, or any output the user has not asked to be written in their voice — code styling defers to the separate code-voice skill.

96 Updated today
WingedGuardian