
Product
Socket Now Protects the Chrome Extension Ecosystem
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.
@arach/speakeasy
Advanced tools
A unified speech library for all your projects with support for multiple TTS providers and clean configuration structure.
npm install speakeasy
import { say } from 'speakeasy';
await say('Hello world!'); // system voice
await say('Hello!', 'openai'); // OpenAI TTS
await say('Hello!', 'elevenlabs'); // ElevenLabs TTS
await say('Hello!', 'groq'); // Groq TTS
SpeakEasy uses a clean nested configuration structure in ~/.config/speakeasy/settings.json
:
{
"providers": {
"openai": {
"enabled": true,
"voice": "nova",
"model": "tts-1",
"apiKey": "sk-..."
},
"elevenlabs": {
"enabled": true,
"voiceId": "EXAVITQu4vr4xnSDxMaL",
"apiKey": "sk-..."
},
"system": {
"enabled": true,
"voice": "Samantha"
},
"groq": {
"enabled": true,
"voice": "onyx",
"model": "tts-1-hd",
"apiKey": "gsk-..."
}
},
"defaults": {
"provider": "groq",
"fallbackOrder": ["groq", "openai", "elevenlabs", "system"],
"rate": 180
},
"global": {
"tempDir": "/tmp",
"cleanup": true
}
}
export OPENAI_API_KEY=your_openai_key
export ELEVENLABS_API_KEY=your_elevenlabs_key
export GROQ_API_KEY=your_groq_key
import { say, speak } from 'speakeasy';
// Quick one-liners
await say('Hello world!'); // system voice
await say('Hello!', 'openai'); // OpenAI TTS
await say('Hello!', 'elevenlabs'); // ElevenLabs TTS
await say('Hello!', 'groq'); // Groq TTS
// Full featured
await speak('Hello world!', { priority: 'high' });
await speak('Hello!', { provider: 'openai', priority: 'high' });
// Custom configuration
import { SpeakEasy } from 'speakeasy';
const speech = new SpeakEasy({
provider: 'openai',
openaiVoice: 'nova',
rate: 180,
});
await speech.speak('Hello world!');
// notifications.ts
import { say } from 'speakeasy';
export async function speakNotification(message: string, project: string) {
await say(`In ${project}, ${message}`, { priority: 'high' });
}
"7d"
, "1h"
, "30m"
"100mb"
, "1gb"
/tmp/speakeasy-cache/
by defaultsay('text')
- One-liner with system voice and cachingsay('text', 'openai' | 'elevenlabs' | 'groq')
- One-liner with provider and cachingsay('text', provider, false)
- Disable caching for specific callspeak('text', options, false)
- Full featured with caching controlnpm run example
import { SpeakEasy } from 'speakeasy';
// Simple declarative configuration
const speaker = new SpeakEasy({
provider: 'openai',
cache: {
enabled: true, // default: true
ttl: '7d', // 7 days - '1h', '30m', '1w', '1M', etc.
maxSize: '100mb', // '1gb', '500mb', etc.
dir: '/tmp/my-cache' // custom directory
}
});
// Using global config
// ~/.config/speakeasy/settings.json
{
"cache": {
"enabled": true,
"ttl": "1d",
"maxSize": "500mb"
}
}
Install globally for command-line access:
npm install -g speakeasy
# Basic usage
speakeasy "Hello world"
speakeasy --text "Hello from CLI" --provider openai --voice nova
# With caching
speakeasy --cache --text "Hello cached world"
# Cache management
speakeasy --cache --list
speakeasy --cache --find "hello"
speakeasy --cache --provider openai
speakeasy --clear-cache
speakeasy --config
# List all available voices
speakeasy --help
const speaker = new SpeakEasy({ cache: { enabled: true } });
// Get all cached entries
const metadata = await speaker.getCacheMetadata();
console.log(metadata);
// Find by text
const found = await speaker.findByText('hello world');
// Find by provider
const openaiEntries = await speaker.findByProvider('openai');
# List all cached entries
speakeasy --cache --list
# Search by text
speakeasy --cache --find "hello"
# Filter by provider
speakeasy --cache --provider openai
# Show cache stats
speakeasy --cache --stats
npm run build
npm test
npm test cache # Test caching specifically
npm run cli -- --help # Test CLI
FAQs
SpeakEasy - Unified text-to-speech service with provider abstraction
The npm package @arach/speakeasy receives a total of 116 weekly downloads. As such, @arach/speakeasy popularity was classified as not popular.
We found that @arach/speakeasy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.
Product
Add secure dependency scanning to Claude Desktop with Socket MCP, a one-click extension that keeps your coding conversations safe from malicious packages.
Product
Socket now supports Scala and Kotlin, bringing AI-powered threat detection to JVM projects with easy manifest generation and fast, accurate scans.