mirror of
https://github.com/jambonz/speech-utils.git
synced 2026-07-04 19:31:49 +00:00
7d076bb8b4
* chore: deprecate and remove verbio, nuance speech vendor support Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: also deprecate and remove PlayHT speech vendor PlayHT was acquired and no longer provides the service. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
74 lines
2.0 KiB
JavaScript
74 lines
2.0 KiB
JavaScript
const test = require('tape').test ;
|
|
const config = require('config');
|
|
const opts = config.get('redis');
|
|
const fs = require('fs');
|
|
const logger = require('pino')({level: 'error'});
|
|
process.on('unhandledRejection', (reason, p) => {
|
|
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
|
|
});
|
|
|
|
const stats = {
|
|
increment: () => {},
|
|
histogram: () => {}
|
|
};
|
|
|
|
test('Google tests', async(t) => {
|
|
const fn = require('..');
|
|
const {client, getTtsVoices} = fn(opts, logger);
|
|
|
|
if (!process.env.GCP_FILE && !process.env.GCP_JSON_KEY) {
|
|
t.pass('skipping google speech synth tests since neither GCP_FILE nor GCP_JSON_KEY provided');
|
|
return t.end();
|
|
}
|
|
try {
|
|
const str = process.env.GCP_JSON_KEY || fs.readFileSync(process.env.GCP_FILE);
|
|
const credentials = JSON.parse(str);
|
|
const opts = {
|
|
vendor: 'google',
|
|
credentials
|
|
};
|
|
let result = await getTtsVoices(opts);
|
|
t.ok(result[0].voices.length > 0, `GetVoices: successfully retrieved ${result[0].voices.length} voices from Google`);
|
|
|
|
await client.flushall();
|
|
|
|
t.end();
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
t.end(err);
|
|
}
|
|
client.quit();
|
|
});
|
|
|
|
test('AWS tests', async(t) => {
|
|
const fn = require('..');
|
|
const {client, getTtsVoices} = fn(opts, logger);
|
|
|
|
if (!process.env.AWS_ACCESS_KEY_ID || !process.env.AWS_SECRET_ACCESS_KEY || !process.env.AWS_REGION) {
|
|
t.pass('skipping AWS speech synth tests since AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, or AWS_REGION not provided');
|
|
return t.end();
|
|
}
|
|
try {
|
|
const opts = {
|
|
vendor: 'aws',
|
|
credentials: {
|
|
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
region: process.env.AWS_REGION,
|
|
}
|
|
};
|
|
let result = await getTtsVoices(opts);
|
|
t.ok(result?.Voices?.length > 0, `GetVoices: successfully retrieved ${result.Voices.length} voices from AWS`);
|
|
|
|
await client.flushall();
|
|
|
|
t.end();
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
t.end(err);
|
|
}
|
|
client.quit();
|
|
});
|