75 lines
2.8 KiB
PHP
75 lines
2.8 KiB
PHP
<?php
|
|
|
|
return [
|
|
'searxng' => [
|
|
'url' => env('SEARXNG_URL', 'http://searxng:8080'),
|
|
],
|
|
|
|
'google' => [
|
|
'maps_key' => env('GOOGLE_MAPS_API_KEY'),
|
|
'directions_timeout' => (int) env('GOOGLE_DIRECTIONS_TIMEOUT', 8),
|
|
],
|
|
|
|
'ollama' => [
|
|
'url' => env('OLLAMA_URL', 'http://ollama:11434'),
|
|
'model' => env('OLLAMA_MODEL', 'llama3.1:8b'),
|
|
'embedding_model' => env('OLLAMA_EMBEDDING_MODEL', 'nomic-embed-text'),
|
|
'tools_enabled' => filter_var(env('OLLAMA_TOOLS_ENABLED', false), FILTER_VALIDATE_BOOLEAN),
|
|
],
|
|
|
|
'whisper' => [
|
|
'container' => env('WHISPER_CONTAINER', 'fox-whisper'),
|
|
'model' => env('WHISPER_MODEL', '/models/ggml-base.bin'),
|
|
],
|
|
|
|
'weather' => [
|
|
'lat' => env('FOX_LAT', 48.2082),
|
|
'lon' => env('FOX_LON', 16.3738),
|
|
'city' => env('FOX_CITY', 'Wien'),
|
|
],
|
|
|
|
/*
|
|
* TTS-Engine. Default openai (Cloud, ~300ms, multilingual), dann elevenlabs, dann xtts (Mac), dann piper.
|
|
* Fallback-Kette: wenn engine fehlschlägt, wird automatisch der nächste versucht.
|
|
*/
|
|
'tts' => [
|
|
'engine' => env('TTS_ENGINE', 'openai'), // openai | elevenlabs | xtts | piper
|
|
'language' => env('TTS_LANGUAGE', 'de'),
|
|
],
|
|
|
|
'openai' => [
|
|
'key' => env('OPENAI_API_KEY'),
|
|
'tts_model' => env('OPENAI_TTS_MODEL', 'tts-1'),
|
|
'tts_voice' => env('OPENAI_TTS_VOICE', 'onyx'),
|
|
'tts_speed' => (float) env('OPENAI_TTS_SPEED', 1.0),
|
|
'timeout' => (int) env('OPENAI_TIMEOUT', 15),
|
|
],
|
|
|
|
'elevenlabs' => [
|
|
'key' => env('ELEVENLABS_API_KEY'),
|
|
'voice_id' => env('ELEVENLABS_VOICE_ID', 'KDqku3FJfbImX6HKQdWA'),
|
|
'model' => env('ELEVENLABS_MODEL', 'eleven_multilingual_v2'),
|
|
'stability' => (float) env('ELEVENLABS_STABILITY', 0.5),
|
|
'similarity_boost' => (float) env('ELEVENLABS_SIMILARITY', 0.75),
|
|
'style' => (float) env('ELEVENLABS_STYLE', 0.3),
|
|
'speaker_boost' => filter_var(env('ELEVENLABS_SPEAKER_BOOST', true), FILTER_VALIDATE_BOOLEAN),
|
|
'timeout' => (int) env('ELEVENLABS_TIMEOUT', 10),
|
|
],
|
|
|
|
'xtts' => [
|
|
'url' => env('XTTS_URL', env('TTS_URL', 'http://10.10.80.189:8766')),
|
|
'speaker' => env('XTTS_SPEAKER', env('TTS_SPEAKER', 'Ana Florence')),
|
|
'timeout' => (int) env('XTTS_TIMEOUT', 30),
|
|
],
|
|
|
|
'piper' => [
|
|
'enabled' => filter_var(env('PIPER_ENABLED', true), FILTER_VALIDATE_BOOLEAN),
|
|
'voice' => env('PIPER_VOICE', 'de_DE-thorsten-high'),
|
|
'voices_path' => env('PIPER_VOICES_PATH', '/var/www/storage/app/voices'),
|
|
'length_scale' => env('PIPER_LENGTH_SCALE', 1.05),
|
|
'sentence_silence' => env('PIPER_SENTENCE_SILENCE', 0.3),
|
|
'noise_scale' => env('PIPER_NOISE_SCALE', 0.667),
|
|
'noise_w' => env('PIPER_NOISE_W', 0.8),
|
|
],
|
|
];
|