fix(tts): rename japanese station audio suffix to ja
Switch generated station audio entries from en-* to ja-* and update the generator flow so Chinese plus Japanese audio imports use the new suffix consistently.
This commit is contained in:
+18
-13
@@ -18,7 +18,7 @@ const wss = new WebSocket.Server({ server });
|
||||
const PORT = Number(process.env.PORT || '8999');
|
||||
const DEFAULT_TTS_MODEL = process.env.TTS_MODEL || 's2.1-pro-free';
|
||||
const DEFAULT_ZH_REFERENCE_ID = process.env.ZH_REFERENCE_ID || '0aee9f0f5683480d987c9e3c5d2de04c';
|
||||
const DEFAULT_EN_REFERENCE_ID = process.env.EN_REFERENCE_ID || '38985e545cff41b79c11c32b0196c9a0';
|
||||
const DEFAULT_JA_REFERENCE_ID = process.env.JA_REFERENCE_ID || process.env.EN_REFERENCE_ID || '38985e545cff41b79c11c32b0196c9a0';
|
||||
|
||||
const HLS_ENABLE = process.env.HLS_ENABLE !== '0';
|
||||
const HLS_STREAM_MODE = (process.env.HLS_STREAM_MODE || 'event').toLowerCase();
|
||||
@@ -2375,20 +2375,23 @@ app.post('/api/tts/upload_temp', upload.fields([{ name: 'zhAudio', maxCount: 1 }
|
||||
|
||||
// Rename to secure temp names
|
||||
const zhTempName = `temp_zh_${Date.now()}_${Math.floor(Math.random() * 1000)}.wav`;
|
||||
const enTempName = `temp_en_${Date.now()}_${Math.floor(Math.random() * 1000)}.wav`;
|
||||
const jaTempName = `temp_ja_${Date.now()}_${Math.floor(Math.random() * 1000)}.wav`;
|
||||
|
||||
const zhTempPath = path.join(uploadDir, zhTempName);
|
||||
const enTempPath = path.join(uploadDir, enTempName);
|
||||
const jaTempPath = path.join(uploadDir, jaTempName);
|
||||
|
||||
fs.renameSync(zhFile.path, zhTempPath);
|
||||
fs.renameSync(enFile.path, enTempPath);
|
||||
fs.renameSync(enFile.path, jaTempPath);
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
zhTempName,
|
||||
enTempName,
|
||||
jaTempName,
|
||||
zhUrl: `/uploads/${zhTempName}`,
|
||||
enUrl: `/uploads/${enTempName}`
|
||||
jaUrl: `/uploads/${jaTempName}`,
|
||||
// Keep old keys temporarily so cached frontends do not break.
|
||||
enTempName: jaTempName,
|
||||
enUrl: `/uploads/${jaTempName}`
|
||||
});
|
||||
} catch (e) {
|
||||
res.status(500).json({ success: false, message: e.message });
|
||||
@@ -2397,23 +2400,25 @@ app.post('/api/tts/upload_temp', upload.fields([{ name: 'zhAudio', maxCount: 1 }
|
||||
|
||||
// Import TTS temp files to station folder
|
||||
app.post('/api/tts/import', express.json(), (req, res) => {
|
||||
const { stationCode, zhTemp, enTemp } = req.body;
|
||||
if (!stationCode || !zhTemp || !enTemp) return res.status(400).json({ success: false, message: 'Missing parameters' });
|
||||
const stationCode = String(req.body?.stationCode || '').trim();
|
||||
const zhTemp = String(req.body?.zhTemp || '').trim();
|
||||
const jaTemp = String(req.body?.jaTemp || req.body?.enTemp || '').trim();
|
||||
if (!stationCode || !zhTemp || !jaTemp) return res.status(400).json({ success: false, message: 'Missing parameters' });
|
||||
|
||||
const zhSource = path.join(uploadDir, zhTemp);
|
||||
const enSource = path.join(uploadDir, enTemp);
|
||||
const jaSource = path.join(uploadDir, jaTemp);
|
||||
const safeStationCode = String(stationCode).replace(/\//g, '-');
|
||||
const zhDest = path.join(audioStationDir, `ch-${safeStationCode}.wav`);
|
||||
const enDest = path.join(audioStationDir, `en-${safeStationCode}.wav`);
|
||||
const jaDest = path.join(audioStationDir, `ja-${safeStationCode}.wav`);
|
||||
|
||||
try {
|
||||
if (fs.existsSync(zhSource)) {
|
||||
fs.copyFileSync(zhSource, zhDest);
|
||||
fs.unlinkSync(zhSource);
|
||||
}
|
||||
if (fs.existsSync(enSource)) {
|
||||
fs.copyFileSync(enSource, enDest);
|
||||
fs.unlinkSync(enSource);
|
||||
if (fs.existsSync(jaSource)) {
|
||||
fs.copyFileSync(jaSource, jaDest);
|
||||
fs.unlinkSync(jaSource);
|
||||
}
|
||||
log('SUCCESS', `Imported generated audio for station ${stationCode}`);
|
||||
res.json({ success: true });
|
||||
|
||||
Reference in New Issue
Block a user