feat(speech): enhance speech configuration and example integration

- Add comprehensive speech configuration in .env.example and app config
- Update Docker speech Dockerfile for more flexible model handling
- Create detailed README for speech-to-text examples
- Implement example script demonstrating speech features
- Improve speech service initialization and configuration management
This commit is contained in:
jango-blockchained
2025-02-04 19:35:50 +01:00
parent 60f18f8e71
commit 3a6f79c9a8
14 changed files with 669 additions and 86 deletions

View File

@@ -33,6 +33,21 @@ export const AppConfigSchema = z.object({
HASS_HOST: z.string().default("http://192.168.178.63:8123"),
HASS_TOKEN: z.string().optional(),
/** Speech Features Configuration */
SPEECH: z.object({
ENABLED: z.boolean().default(false),
WAKE_WORD_ENABLED: z.boolean().default(false),
SPEECH_TO_TEXT_ENABLED: z.boolean().default(false),
WHISPER_MODEL_PATH: z.string().default("/models"),
WHISPER_MODEL_TYPE: z.string().default("base"),
}).default({
ENABLED: false,
WAKE_WORD_ENABLED: false,
SPEECH_TO_TEXT_ENABLED: false,
WHISPER_MODEL_PATH: "/models",
WHISPER_MODEL_TYPE: "base",
}),
/** Security Configuration */
JWT_SECRET: z.string().default("your-secret-key"),
RATE_LIMIT: z.object({
@@ -113,4 +128,11 @@ export const APP_CONFIG = AppConfigSchema.parse({
LOG_REQUESTS: process.env.LOG_REQUESTS === "true",
},
VERSION: "0.1.0",
SPEECH: {
ENABLED: process.env.ENABLE_SPEECH_FEATURES === "true",
WAKE_WORD_ENABLED: process.env.ENABLE_WAKE_WORD === "true",
SPEECH_TO_TEXT_ENABLED: process.env.ENABLE_SPEECH_TO_TEXT === "true",
WHISPER_MODEL_PATH: process.env.WHISPER_MODEL_PATH || "/models",
WHISPER_MODEL_TYPE: process.env.WHISPER_MODEL_TYPE || "base",
},
});