sunwood-ai-labs/irodori-anime-voice-studio/irodori-voice-studio

Claude Code and agent skill by sunwood-ai-labs/irodori-anime-voice-studio

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generate Japanese character voices with Irodori Anime Voice Studio on a local CPU, reuse generated audio as a voice reference, and compare reference A with a new take B. Use for Irodori voice design, the five bundled character presets, reference-based speech, or this repository's Gradio API and MCP workflow.

Install

npx vskill@latest install sunwood-ai-labs/irodori-anime-voice-studio/irodori-voice-studio

SKILL.md

Irodori Voice Studio

Locate the app

Find the user's checkout of Sunwood-ai-labs/irodori-anime-voice-studio. Confirm it contains app.py, pyproject.toml, uv.lock, and voice_presets.json. An installed copy of this skill is not the app checkout. Run commands from the checkout; use its docs/guide/install.md and docs/guide/api.md for configuration details.

Reuse an already running app when its URL is known. Otherwise install and start the local CPU environment:

powershell
uv sync --locked --python 3.12
$env:INFERENCE_DEVICE = 'cpu'
uv run app.py

Use python -m uv if uv is installed as a Python module but is not on PATH. Require Python 3.12 and FFmpeg. Initial startup downloads model weights and may take time. Keep credentials outside the repository. Set HF_HOME to an existing model cache only when its location is known. Enable offline variables only after all models are cached.

The default URL is http://127.0.0.1:7860; respect GRADIO_SERVER_PORT and the actual startup output. Wait for readiness before generation. CPU generation is slower than playback; do not treat a short period without output as failure or start duplicate jobs.

Choose the voice and text

Separate the spoken Japanese text (text) from voice direction (caption). Describe adult character age, pitch, texture, pace, articulation, and emotional delivery when requested. Default to automatic duration (seconds_raw="" for Gradio). For approximately ten seconds, adjust the sentence length and inspect the resulting duration and ending; do not impose a fixed duration. Set an explicit duration only when the user requests a fixed output length, and do not promise all words will fit.

Read voice_presets.json for the exact five preset names, captions, text, and seeds. Preserve these values when reproducing a sample. The corresponding reference WAV files are docs/public/samples/voice-1.wav through voice-5.wav; see docs/public/samples/manifest.json for their mapping and metadata. Do not substitute a similarly named unrelated clip.

Generate through MCP or the API

When the user requests MCP, discover the tools on the app's Gradio MCP server and inspect their schemas before calling them. The usual endpoint is /gradio_api/mcp/sse on the app URL; confirm it in the app's API information. Use the schema's upload/file representation for references. This repository does not supply a separate stdio MCP server. If MCP is unavailable, explain that before using the Python API, and accurately report which transport produced the audio.

For the Python API, save a UTF-8 script and run uv run example.py. Avoid piping Japanese source through a terminal encoding that may corrupt it. This example generates a take with automatic duration using the first preset and saves the temporary Gradio result:

python
from pathlib import Path
from shutil import copy2
from uuid import uuid4
from gradio_client import Client, handle_file
client = Client("http://127.0.0.1:7860") # Use the actual app URL.
text, caption, seed = client.predict("01_夜の秘密", api_name="/apply_voice_preset")
audio, log = client.predict(
text=text, caption=caption, seed_raw=seed,
num_steps=40, seconds_raw="", api_name="/generate",
)
out = Path("outputs") # Replace with the user's requested output directory.
out.mkdir(parents=True, exist_ok=True)
reference = out / f"reference-{uuid4().hex}.wav"
copy2(audio, reference)
new_audio, new_log = client.predict(
text="今夜は少しだけ、私と話しましょう。答えは、あなたの心が知っているはずよ。",
caption=caption, reference_audio=[handle_file(str(reference.resolve()))],
seed_raw=seed, num_steps=40, seconds_raw="", api_name="/generate",
)
take = out / f"take-{uuid4().hex}.wav"
copy2(new_audio, take)
print(reference.resolve(), take.resolve(), log, new_log, sep="\n")

For a single take, stop after saving the first result. For an existing reference, skip its generation and upload the supplied file with handle_file. Blank seconds_raw estimates duration; blank seed_raw selects a random seed. The default step count is 40. A brief 8–16 step smoke test can check execution but is not final quality validation. Submit multiple requested voices sequentially to the local app.

Preserve A and verify B

Keep reference A unchanged while generating B. In the UI, generate B, select “この生成音声を参照にする”, then change the text and generate again. With multiple references, the UI previews the first file as A while inference uses the ordered list (model limit: 120 seconds).

Verify each saved file exists and is a readable audio file; inspect duration and sample rate with an audio reader or FFmpeg. Record the text, caption, seed, steps, target duration, and reference path beside the outputs when reproducibility matters. Give clickable links to A and B, clearly labeled, and report actual generation failures. Do not claim speaker identity or perceived similarity from a successful API response alone; the same caption and seed do not guarantee the same voice.

For a requested comparison video or character illustration, use the relevant media skill if available and pass the verified saved assets to it. Do not publish artifacts or install global MCP configuration merely as a side effect of generating speech.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sunwood-ai-labs/irodori-anime-voice-studio/irodori-voice-studio/badge)](https://verified-skill.com/skills/sunwood-ai-labs/irodori-anime-voice-studio/irodori-voice-studio)

Something wrong with this skill or its page? Tell us.