refactor: remove Piper TTS, keep edge_tts only

- Remove piper_url from ReelRequest model and all function signatures
- Remove generate_tts_piper() function and Piper branch in generate_tts_with_subs()
- Remove /api/piper/config routes from server/routes.ts
- Remove piperConfig table, schemas and storage methods
- Remove piper_config migration
- Remove Piper TTS settings UI card
- Update "Piper TTS" labels to "TTS — voix activée"

edge_tts is now the only TTS engine, using precise word-boundary timing
This commit is contained in:
Michael committed 2026-05-19 10:55:01 +02:00
1 parent 8736e4f6a0
commit 59bc56aedc
12 files changed
+46 -265

No files matched your search

+1 -26
View File
@@ -31,9 +31,6 @@ import {
musicFavorites,
type MusicFavorite,
type InsertMusicFavorite,
piperConfig,
type PiperConfig,
type InsertPiperConfig,
audioTracks,
type AudioTrack,
type InsertAudioTrack,
@@ -120,15 +117,11 @@ export interface IStorage {
// Audio Tracks
getAudioTracks(): Promise<AudioTrack[]>;
// Audio Tracks
getAudioTrack(id: string): Promise<AudioTrack | undefined>;
createAudioTrack(track: InsertAudioTrack): Promise<AudioTrack>;
deleteAudioTrack(id: string): Promise<void>;
// Piper Config
getPiperConfig(userId: string): Promise<PiperConfig | undefined>;
createPiperConfig(config: InsertPiperConfig): Promise<PiperConfig>;
updatePiperConfig(userId: string, config: Partial<InsertPiperConfig>): Promise<PiperConfig>;
// App Config
getAppConfig(): Promise<AppConfig | undefined>;
upsertAppConfig(data: Partial<Pick<AppConfig, 'externalApiKey'>>): Promise<AppConfig>;
@@ -590,24 +583,6 @@ export class DatabaseStorage implements IStorage {
const [created] = await db.insert(appConfig).values(data).returning();
return created;
}
// Piper Config
async getPiperConfig(userId: string): Promise<PiperConfig | undefined> {
const [config] = await db.select().from(piperConfig).where(eq(piperConfig.userId, userId));
return config || undefined;
}
async createPiperConfig(config: InsertPiperConfig): Promise<PiperConfig> {
const [newConfig] = await db.insert(piperConfig).values(config).returning();
return newConfig;
}
async updatePiperConfig(userId: string, config: Partial<InsertPiperConfig>): Promise<PiperConfig> {
const [updated] = await db.update(piperConfig)
.set({ ...config, updatedAt: new Date() })
.where(eq(piperConfig.userId, userId))
.returning();
return updated;
}
}
export const storage = new DatabaseStorage();