// ----------------------------------------------------------- // Parakeet (Step 3A: spawn Python minimal integration) // ----------------------------------------------------------- const fs = require("fs"); const path = require("path"); const { spawn } = require("child_process"); module.exports = { name: "parakeet", type: "transcription", displayname: "NVIDIA Parakeet", async function(audioFilePath) { console.log("🦜 [Parakeet] Starting test integration (spawn only)..."); console.log("🦜 Input audio:", audioFilePath); // Check audio exists if (!fs.existsSync(audioFilePath)) { throw new Error("Audio file does not exist: " + audioFilePath); } // Output path in storage/transcripts const sessionId = path.basename(audioFilePath).replace(/\.[^.]+$/, ""); const outputDir = path.join(__dirname, "../../../storage/transcripts"); fs.mkdirSync(outputDir, { recursive: true }); const outputPath = path.join(outputDir, `${sessionId}.json`); // ------------------------------------------------------- // SPAWN PYTHON SCRIPT (step 3A — dummy script) // ------------------------------------------------------- return new Promise((resolve, reject) => { const python310 = "C:\\Users\\smith\\AppData\\Local\\Programs\\Python\\Python310\\python.exe"; const py = spawn(python310, [ path.join(__dirname, "parakeet_transcribe.py"), audioFilePath, outputPath ]); py.stdout.on("data", data => console.log("🦜 [Python]", data.toString().trim())); py.stderr.on("data", data => console.error("🦜 [Python ERR]", data.toString().trim())); py.on("close", code => { if (code === 0) { console.log("🦜 [Parakeet] Done (spawn test). Output:", outputPath); resolve(outputPath); } else { reject(new Error("Python script failed with exit code " + code)); } }); }); } };