jaemil
jaemil
Explore posts from servers
DIAdiscord.js - Imagine an app
Created by jaemil on 3/22/2024 in #djs-voice
Problem saving audioBuffer to file - whisper api
Hi, how can i convert the audioBuffer into a e.g. wav file? I want to use whisper for spech regognition. this is my code:
const tmpFile = await new Promise((resolve, reject) => {
tmp.file({ postfix: ".ogg" }, (err, path, fd, cleanup) => {
if (err) {
reject(err);
return;
}

fs.writeFile(path, msg.audioBuffer, (err) => {
if (err) {
reject(err);
return;
}

resolve({ path, cleanup });
});
});
});
const tmpFile = await new Promise((resolve, reject) => {
tmp.file({ postfix: ".ogg" }, (err, path, fd, cleanup) => {
if (err) {
reject(err);
return;
}

fs.writeFile(path, msg.audioBuffer, (err) => {
if (err) {
reject(err);
return;
}

resolve({ path, cleanup });
});
});
});
The file is written successfully, but I can't play it (unrecognized file format) I also tried to post audioBuffer directly, but that doesn't work either.
async function resolveSpeechWithWhisper(audioBuffer) {
const transcription = await openai.audio.transcriptions.create({
file: audioBuffer,
model: "whisper-1",
response_format: "verbose_json",
timestamp_granularities: ["word"],
});
}
async function resolveSpeechWithWhisper(audioBuffer) {
const transcription = await openai.audio.transcriptions.create({
file: audioBuffer,
model: "whisper-1",
response_format: "verbose_json",
timestamp_granularities: ["word"],
});
}
error: BadRequestError: 400 Could not parse multipart form at APIError.generate (/home/git/discord-speech-recognition/examples/simpleBot/node_modules/openai/error.js:44:20) at OpenAI.makeStatusError (/home/git/discord-speech-recognition/examples/simpleBot/node_modules/openai/core.js:263:33) at OpenAI.makeRequest (/home/git/discord-speech-recognition/examples/simpleBot/node_modules/openai/core.js:306:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Object.resolveSpeechWithWhisper [as speechRecognition] (/home/git/discord-speech-recognition/examples/simpleBot/index.js:20:25) {
"@discordjs/opus": "^0.8.0",
"@discordjs/voice": "^0.11.0",
"discord-speech-recognition": "^3.4.1",
"discord.js": "^14.3.0",
"dotenv": "^16.4.5",
"openai": "^4.29.2",
"tmp": "^0.2.3",
"tweetnacl": "^1.0.3"
"@discordjs/opus": "^0.8.0",
"@discordjs/voice": "^0.11.0",
"discord-speech-recognition": "^3.4.1",
"discord.js": "^14.3.0",
"dotenv": "^16.4.5",
"openai": "^4.29.2",
"tmp": "^0.2.3",
"tweetnacl": "^1.0.3"
Can anyone help me with this? Thanks
8 replies