Skip to content

Commit 3a3982d

Browse files
authored
Merge pull request #47 from brainrotjs/josh
changed to speechify
2 parents 3d845bf + 3ae9a90 commit 3a3982d

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

generate/audioGenerator.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,38 @@ import fs from 'fs';
33
import dotenv from 'dotenv';
44
dotenv.config();
55

6+
const API_BASE_URL = 'https://api.sws.speechify.com';
7+
68
export async function generateAudio(
79
voice_id: string,
810
person: string,
911
line: string,
1012
index: number
1113
) {
12-
const response = await fetch('https://api.neets.ai/v1/tts', {
14+
const response = await fetch(`${API_BASE_URL}/v1/tts`, {
1315
method: 'POST',
1416
headers: {
1517
'Content-Type': 'application/json',
16-
'X-API-Key': process.env.NEETS_API_KEY ?? '',
18+
'Authorization': `Bearer ${process.env.SPEECHIFY_API_KEY}`,
1719
},
1820
body: JSON.stringify({
1921
text: line,
2022
voice_id: voice_id,
21-
params: {
22-
model: 'ar-diff-50k',
23-
},
23+
output_format: 'mp3',
24+
sample_rate: 24000,
25+
speed: 1.0
2426
}),
2527
});
2628

2729
if (!response.ok) {
2830
throw new Error(`Server responded with status code ${response.status}`);
2931
}
3032

31-
const audioStream = fs.createWriteStream(
32-
`public/voice/${person}-${index}.mp3`
33-
);
33+
// Get the audio buffer from the response
34+
const audioBuffer = await response.buffer();
3435

35-
response.body.pipe(audioStream);
36+
// Write the buffer to a file
37+
fs.writeFileSync(`public/voice/${person}-${index}.mp3`, audioBuffer);
3638

37-
return new Promise((resolve, reject) => {
38-
audioStream.on('finish', () => {
39-
resolve('Audio file saved as output.mp3');
40-
});
41-
audioStream.on('error', reject);
42-
});
39+
return Promise.resolve('Audio file saved successfully');
4340
}

0 commit comments

Comments
 (0)