rashi-discord-bot-lib
Version:
🚀 Powerful Discord bot framework with built-in database, event handling, and utilities
38 lines • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.STTService = void 0;
const fs_1 = __importDefault(require("fs"));
const util_1 = __importDefault(require("util"));
const speech_1 = __importDefault(require("@google-cloud/speech"));
class STTService {
client;
constructor() {
this.client = new speech_1.default.SpeechClient();
}
async transcribeFromFile(filePath, options = {}) {
const readFile = util_1.default.promisify(fs_1.default.readFile);
const audioBytes = await readFile(filePath);
const audio = {
content: audioBytes.toString('base64'),
};
const config = {
encoding: options.encoding || 'LINEAR16',
sampleRateHertz: options.sampleRateHertz || 16000,
languageCode: options.languageCode || 'en-US',
};
const request = {
audio,
config,
};
const [response] = await this.client.recognize(request);
const transcription = response.results
?.map((result) => result.alternatives?.[0].transcript)
.join('\n') || '';
return transcription;
}
}
exports.STTService = STTService;
//# sourceMappingURL=STTService.js.map