UNPKG

@andresaya/n8n-nodes-edgetts

Version:

n8n node for Edge TTS - Text-to-Speech using Microsoft Edge capabilities

67 lines 2.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listAll = listAll; exports.filterByLanguage = filterByLanguage; exports.filterByGender = filterByGender; const n8n_workflow_1 = require("n8n-workflow"); const edge_tts_1 = require("@andresaya/edge-tts"); async function listAll(itemIndex) { const options = this.getNodeParameter('options', itemIndex, {}); const limit = options.limit; try { const tts = new edge_tts_1.EdgeTTS(); let voices = await tts.getVoices(); if (limit && limit > 0) { voices = voices.slice(0, limit); } return voices.map((voice) => ({ json: voice, })); } catch (error) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to get voices: ${error.message}`); } } async function filterByLanguage(itemIndex) { const language = this.getNodeParameter('language', itemIndex); const options = this.getNodeParameter('options', itemIndex, {}); const limit = options.limit; if (!language) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Language is required'); } try { const tts = new edge_tts_1.EdgeTTS(); let voices = await tts.getVoicesByLanguage(language); if (limit && limit > 0) { voices = voices.slice(0, limit); } return voices.map((voice) => ({ json: voice, })); } catch (error) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to get voices for language "${language}": ${error.message}`); } } async function filterByGender(itemIndex) { const gender = this.getNodeParameter('gender', itemIndex); const options = this.getNodeParameter('options', itemIndex, {}); const limit = options.limit; if (!gender) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Gender is required'); } try { const tts = new edge_tts_1.EdgeTTS(); let voices = await tts.getVoicesByGender(gender); if (limit && limit > 0) { voices = voices.slice(0, limit); } return voices.map((voice) => ({ json: voice, })); } catch (error) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to get voices for gender "${gender}": ${error.message}`); } } //# sourceMappingURL=voiceOperations.js.map