from pathlib import Path ROOT = Path(__file__).resolve().parent DATABASE_DIR = ROOT / 'database' AUDIO_DIR = DATABASE_DIR / 'audio' SAMPLE_CLIPS_DIR = AUDIO_DIR / 'sample_clips' EVAL_DIR = AUDIO_DIR / 'eval' OOD_TEST_CLIPS_DIR = EVAL_DIR / 'ood_test_clips' TRUNCATION_PILOT_DIR = EVAL_DIR / 'truncation_pilot' LIVE_RUNS_DIR = AUDIO_DIR / 'live_runs' CHECKPOINTS_DIR = DATABASE_DIR / 'checkpoints' MODELS_DIR = DATABASE_DIR / 'models' EASY_TURN_DIR = MODELS_DIR / 'easy_turn' CACHE_DIR = DATABASE_DIR / 'cache' DATA_CACHE_DIR = CACHE_DIR / 'dataset' OOD_CACHE_DIR = CACHE_DIR / 'ood_test' EXPERIMENTS_DIR = ROOT / 'experiments' EMBEDDINGS_CACHE_DIR = EXPERIMENTS_DIR / 'embeddings_cache' RESULTS_DIR = EXPERIMENTS_DIR / 'results' SAMPLE_RATE = 16000 SMART_TURN_WINDOW_SECONDS = 8 SMART_TURN_WINDOW_SAMPLES = SMART_TURN_WINDOW_SECONDS * SAMPLE_RATE WHISPER_TINY_ID = 'openai/whisper-tiny' WHISPER_BASE_ID = 'openai/whisper-base' WAV2VEC2_ID = 'facebook/wav2vec2-base' QWEN_LOCAL_ID = 'Qwen/Qwen2.5-0.5B-Instruct' HINDI_CTC_ID = 'theainerd/Wav2Vec2-large-xlsr-hindi' LIVEKIT_TURN_DETECTOR_ID = 'livekit/turn-detector' SMART_TURN_REPO = 'pipecat-ai/smart-turn-v3' SMART_TURN_ONNX_FILENAME = 'smart-turn-v3.2-cpu.onnx' DATASET_REPO = 'pipecat-ai/smart-turn-data-v3.2-train' DATASET_NUM_SHARDS_TOTAL = 83 EASY_TURN_REPO = 'ASLP-lab/Easy-Turn' ENCODER_IDS = {'whisper_tiny': WHISPER_TINY_ID, 'whisper_base': WHISPER_BASE_ID, 'wav2vec2': WAV2VEC2_ID}