blob: 6f0c7bbc64ae51db1f4649556bd68021712bd9ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
.PHONY: setconfig run lint setup-whisper build-whisper download-whisper-model docker-up docker-down docker-logs
run: setconfig
go build -o gf-lt && ./gf-lt
server: setconfig
go build -o gf-lt && ./gf-lt -port 3333
setconfig:
find config.toml &>/dev/null || cp config.example.toml config.toml
lint: ## Run linters. Use make install-linters first.
golangci-lint run -c .golangci.yml ./...
# Whisper STT Setup (in batteries directory)
setup-whisper: build-whisper download-whisper-model
build-whisper: ## Build whisper.cpp from source in batteries directory
@echo "Building whisper.cpp from source in batteries directory..."
@if [ ! -d "batteries/whisper.cpp" ]; then \
echo "Cloning whisper.cpp repository to batteries directory..."; \
git clone https://github.com/ggml-org/whisper.cpp.git batteries/whisper.cpp; \
fi
cd batteries/whisper.cpp && cmake -B build -DGGML_CUDA=ON -DWHISPER_SDL2=ON; cmake --build build --config Release -j 8
@echo "Whisper binary built successfully!"
download-whisper-model: ## Download Whisper model for STT in batteries directory
@echo "Downloading Whisper model for STT..."
@if [ ! -d "batteries/whisper.cpp" ]; then \
echo "Please run 'make setup-whisper' first to clone the repository."; \
exit 1; \
fi
@cd batteries/whisper.cpp && make large-v3-turbo
@echo "Whisper model downloaded successfully!"
# Docker targets for STT/TTS services (in batteries directory)
docker-up: ## Start all Docker Compose services for STT and TTS from batteries directory
@echo "Starting Docker services for STT (whisper) and TTS (kokoro)..."
@echo "Note: The Whisper model will be downloaded automatically inside the container on first run"
docker-compose -f batteries/docker-compose.yml up -d
@echo "Docker services started. STT available at http://localhost:8081, TTS available at http://localhost:8880"
docker-up-whisper: ## Start only the Whisper STT service
@echo "Starting Whisper STT service only..."
@echo "Note: The Whisper model will be downloaded automatically inside the container on first run"
docker-compose -f batteries/docker-compose.yml up -d whisper
@echo "Whisper STT service started. Available at http://localhost:8081"
docker-up-kokoro: ## Start only the Kokoro TTS service
@echo "Starting Kokoro TTS service only..."
docker-compose -f batteries/docker-compose.yml up -d kokoro-tts
@echo "Kokoro TTS service started. Available at http://localhost:8880"
docker-down: ## Stop all Docker Compose services from batteries directory
@echo "Stopping Docker services..."
docker-compose -f batteries/docker-compose.yml down
@echo "Docker services stopped"
docker-down-whisper: ## Stop only the Whisper STT service
@echo "Stopping Whisper STT service..."
docker-compose -f batteries/docker-compose.yml down whisper
@echo "Whisper STT service stopped"
docker-down-kokoro: ## Stop only the Kokoro TTS service
@echo "Stopping Kokoro TTS service..."
docker-compose -f batteries/docker-compose.yml down kokoro-tts
@echo "Kokoro TTS service stopped"
docker-logs: ## View logs from all Docker services in batteries directory
@echo "Displaying logs from Docker services..."
docker-compose -f batteries/docker-compose.yml logs -f
docker-logs-whisper: ## View logs from Whisper STT service only
@echo "Displaying logs from Whisper STT service..."
docker-compose -f batteries/docker-compose.yml logs -f whisper
docker-logs-kokoro: ## View logs from Kokoro TTS service only
@echo "Displaying logs from Kokoro TTS service..."
docker-compose -f batteries/docker-compose.yml logs -f kokoro-tts
|