Skip to main content

audio

Low-level speaker and microphone hardware control — adjust volume, play test tones, record raw audio. Do NOT use for TTS/speech (that is the Voice skill).

الانتقال إلى التثبيت

معلومات المصدر

المستودع
autonomous-ai/autonomous-os
آخر نشاط في المصدر
١٠ سبتمبر ٢٠٢٦ في ٠٨:٥١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣٥٤
التفرعات
٥٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
audio
description
Low-level speaker and microphone hardware control — adjust volume, play test tones, record raw audio. Do NOT use for TTS/speech (that is the Voice skill).
# Audio Control ## Quick Start Control the device's speaker and microphone hardware directly. Use this for volume adjustments, test tones, and raw audio recording. This is LOW-LEVEL hardware control only. ## Workflow 1. Determine the user's audio hardware need: - Volume adjustment -> use `POST /audio/volume` - Check current volume -> use `GET /audio/volume` - Diagnostics / test -> use `POST /audio/play-tone` - Raw recording -> use `POST /audio/record` 2. For explicit volume/tone/recording requests, call the requested endpoint directly and handle its response. Use `GET /audio` for device diagnostics, not routine preflight. Relative volume changes still need `GET /audio/volume`. 3. Execute the appropriate API call 4. Confirm the action to the user ## Examples Input: "Louder please" / "Turn it up" Output: Check current volume with `GET /audio/volume`, then increase by ~15 with `POST /audio/volume`. Confirm: "Volume set to 85%." Input: "Set volume to 50%" Output: Call `POST /audio/volume` with `{"volume": 50}`. Confirm: "Volume set to 50%." Input: "Mute" / "Too loud" Output: Call `POST /audio/volume` with `{"volume": 0}`. Confirm: "Muted." Input: "I can't hear you" Output: Check current volume with `GET /audio/volume`, then increase it. Confirm with the new level. Input: "Say something" / "Tell me a joke" Output: Do NOT use this skill. Just reply normally — your voice pipeline handles TTS automatically. ## Tools Use `Bash` with `curl` to call the HTTP API at `http://127.0.0.1:5001`. ### Check audio devices ```bash curl -s http://127.0.0.1:5001/audio ``` Response: ```json { "output_device": 0, "input_device": 1, "available": true } ``` ### Set volume ```bash curl -s -X POST http://127.0.0.1:5001/audio/volume \ -H "Content-Type: application/json" \ -d '{"volume": 70}' ``` Volume range: 0 (mute) to 100 (max). ### Get current volume ```bash curl -s http://127.0.0.1:5001/audio/volume ``` Response: `{"control": "Speaker", "volume": 70}` ### Play test tone ```bash curl -s -X POST "http://127.0.0.1:5001/audio/play-tone?frequency=440&duration_ms=500" ``` Plays a sine wave. Use for audio testing only. Keep it short (< 1 second). ### Record audio ```bash record_dir=$(mktemp -d /tmp/autonomous-recording.XXXXXX) && curl --fail --silent --show-error -X POST \ "http://127.0.0.1:5001/audio/record?duration_ms=3000" \ --output "$record_dir/recording.wav" && printf 'Recording saved: %s\n' "$record_dir/recording.wav" ``` Records from the microphone and returns WAV bytes; save them to a unique file rather than printing binary data to the model. Adapt the duration to the user's request. Report the path only after the request succeeds; a failed request may leave an empty or partial file and is not a recording result. Do not re-record automatically after an uncertain outcome. ## Error Handling - If `GET /audio` returns `"available": false`, inform the user: "The speaker/microphone is not connected right now." - If the API is unreachable, inform the user: "I couldn't access the audio hardware. The service may be unavailable." - If the user requests a volume outside 0-100, clamp to the valid range. ## Rules - Default volume is usually 70%. Adjust based on user preference. - **Audio = volume knob, raw mic recording, test beeps.** No AI speech processing. - **Voice = AI-powered speech (TTS/STT).** Uses Audio hardware underneath but is a separate skill. - When the user says "I can't hear you" or "too loud", adjust volume via this skill. - Do NOT use this skill for TTS or speech output — that is handled by the **Voice** skill and the automatic voice pipeline. ## Output Template ``` [Audio] {action} — {details} ``` Examples: - `[Audio] Volume set — 70%` - `[Audio] Volume set — muted (0%)` - `[Audio] Test tone played — 440Hz, 500ms` - `[Audio] Recording captured — 3000ms`
عرض على GitHub