# Protoss Voice Nodejs

> Generate Protoss-style (StarCraft) voice effects using SoX and FFmpeg (Node.js version). Use when this capability is needed.

- Skill: `tomevault-io/protoss-voice-nodejs` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/protoss-voice-nodejs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/protoss-voice-nodejs/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/protoss-voice-nodejs

---


# Protoss Voice Effect (Node.js)

Applies a "Khala" psionic transformation chain to audio files using the V9 "Massive Void" engine.

## Usage

Run the script on any audio file:

```bash
node protoss_fx.js <path_to_audio_file>
```

**Example:**
```bash
node protoss_fx.js recordings/my_voice.mp3
```

Files are saved as `*_psionic.mp3` in the source directory.

## Algorithm

The current architecture prioritizes a massive, distinctive spatial presence.

1. **Shadow Generation:** Pitch shift (-2 semitones) + Time stretch (0.9x).
2. **Void Layer:** Reverse -> Dense Reverb -> Reverse (creates "pre-verb" suction).
3. **Mastering:** Original voice is discarded. Bass boosted (+5dB), Subsonics cut (<100Hz).

## Integration Workflows

### ElevenLabs Post-Processing
This skill is designed to be used as a post-processing step for TTS generation.
When generating voice content to mimic "Selendis" or other Protoss personas:

1. **Generate:** Create raw speech using ElevenLabs.
2. **Process:** Pass the output file immediately through `protoss_fx.py`.
3. **Result:** Use the resulting `_psionic.mp3` file as the final asset.

## Requirements

Requires `ffmpeg` and `sox` (Sound eXchange).

```bash
brew install ffmpeg sox
```

## Agent Protocol

When a user requests audio or voice interaction involving a Protoss persona:

1.  **Generate Raw Audio:** Use the `tts` tool to generate the base speech file.
2.  **Silence:** Do NOT present the output path from the `tts` tool to the user yet.
3.  **Process:** Execute the python script on the raw file:
    `python3 skills/protoss-voice/protoss_fx.py <path_from_tts>`
4.  **Deliver:** Use the `message` tool to send the file explicitly (more reliable than text echo):
    `message(action="send", filePath="<path_from_script>", asVoice=true)`

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/vemec) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-15 -->

