mirror of
https://gitlab.rlp.net/proj-wise2526-video2document/video2document.git
synced 2026-06-15 18:01:52 +02:00
Implemented local Parakeet transcription module (S4-07)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
// -----------------------------------------------------------
|
||||
// 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));
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user