aivox
Version:
A lightweight CLI tool for translating voice to text using Whisper, seamlessly piping the transcribed text to any Unix-like command for versatile integration.
43 lines (41 loc) • 887 B
JavaScript
;
// src/recording.ts
var message = "Recording: ";
var spinnerFrames = [
"\u280B",
"\u2819",
"\u2839",
"\u2838",
"\u283C",
"\u2834",
"\u2826",
"\u2827",
"\u2807",
"\u280F"
];
var currentIndex = 0;
var frameIndex = 0;
var printedExit = false;
function typeMessage() {
if (currentIndex < message.length) {
process.stderr.write(message[currentIndex]);
currentIndex++;
} else {
if (!printedExit) {
process.stderr.write("press space to stop recording ");
printedExit = true;
}
process.stderr.write("\b" + spinnerFrames[frameIndex]);
frameIndex = (frameIndex + 1) % spinnerFrames.length;
}
}
var intervalId = setInterval(typeMessage, 100);
process.on("message", (msg) => {
if (msg === "exit") {
process.stderr.write("\n");
clearInterval(intervalId);
process.exit();
}
});
setInterval(() => {
}, 1e3);