diff --git a/.editorconfig b/.editorconfig index 8ce12dd..31e16e6 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,7 +6,7 @@ end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true -[*.{js,json,yml}] +[*.{js,json,ts,yml}] indent_style = space indent_size = 2 max_line_length = 79 diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..ccf0322 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,221 @@ +export interface OddcastLanguage { + name: string; + id: number; + code: string; +} + +export interface OddcastVoice { + name: string; + dialect?: string; + id: number; + engine: number; + language: OddcastLanguage; + gender: 'M' | 'F'; +} + +export function buildHash(text: string, voice: OddcastVoice): string; +export function buildUrl(text: string, voice: OddcastVoice, hash?: string): string; + +export interface AllOddcastLanguages { + ar: OddcastVoice; + eu: OddcastVoice; + ca: OddcastVoice; + zh: OddcastVoice; + cs: OddcastVoice; + da: OddcastVoice; + nl: OddcastVoice; + en: OddcastVoice; + eo: OddcastVoice; + fi: OddcastVoice; + fr: OddcastVoice; + gl: OddcastVoice; + de: OddcastVoice; + el: OddcastVoice; + hi: OddcastVoice; + hu: OddcastVoice; + id: OddcastVoice; + it: OddcastVoice; + ja: OddcastVoice; + ko: OddcastVoice; + no: OddcastVoice; + pl: OddcastVoice; + pt: OddcastVoice; + ro: OddcastVoice; + ru: OddcastVoice; + es: OddcastVoice; + sv: OddcastVoice; + th: OddcastVoice; + tr: OddcastVoice; +} + +export interface AllOddcastVoices { + alan: OddcastVoice; + allison: OddcastVoice; + ashley: OddcastVoice; + beth: OddcastVoice; + bridget: OddcastVoice; + catherine: OddcastVoice; + daniel: OddcastVoice; + dave: OddcastVoice; + elizabeth: OddcastVoice; + fiona: OddcastVoice; + grace: OddcastVoice; + hugh: OddcastVoice; + james: OddcastVoice; + jill: OddcastVoice; + julie: OddcastVoice; + karen: OddcastVoice; + kate: OddcastVoice; + lee: OddcastVoice; + moira: OddcastVoice; + paul: OddcastVoice; + samantha: OddcastVoice; + sangeeta: OddcastVoice; + serena: OddcastVoice; + simon: OddcastVoice; + steven: OddcastVoice; + susan: OddcastVoice; + tessa: OddcastVoice; + tom: OddcastVoice; + veena: OddcastVoice; + carlos: OddcastVoice; + carmen: OddcastVoice; + diego: OddcastVoice; + duardo: OddcastVoice; + esperanza: OddcastVoice; + francisca: OddcastVoice; + francisco: OddcastVoice; + gloria: OddcastVoice; + javier: OddcastVoice; + jorge: OddcastVoice; + juan: OddcastVoice; + leonor: OddcastVoice; + lola: OddcastVoice; + manuel: OddcastVoice; + monica: OddcastVoice; + paulina: OddcastVoice; + soledad: OddcastVoice; + violeta: OddcastVoice; + ximena: OddcastVoice; + anna: OddcastVoice; + katrin: OddcastVoice; + lena: OddcastVoice; + stefan: OddcastVoice; + steffi: OddcastVoice; + tim: OddcastVoice; + yannick: OddcastVoice; + bernard: OddcastVoice; + charlotte: OddcastVoice; + chloe: OddcastVoice; + felix: OddcastVoice; + florence: OddcastVoice; + jolie: OddcastVoice; + leo: OddcastVoice; + louis: OddcastVoice; + olivier: OddcastVoice; + roxane: OddcastVoice; + sebastien: OddcastVoice; + thomas: OddcastVoice; + virginie: OddcastVoice; + empar: OddcastVoice; + jordi: OddcastVoice; + montserrat: OddcastVoice; + nuria: OddcastVoice; + amalia: OddcastVoice; + eusebio: OddcastVoice; + helena: OddcastVoice; + joana: OddcastVoice; + rafael: OddcastVoice; + raquel: OddcastVoice; + elisa: OddcastVoice; + federica: OddcastVoice; + giulia: OddcastVoice; + luca: OddcastVoice; + marcello: OddcastVoice; + matteo: OddcastVoice; + paola: OddcastVoice; + paolo: OddcastVoice; + roberto: OddcastVoice; + silvana: OddcastVoice; + silvia: OddcastVoice; + valentina: OddcastVoice; + afroditi: OddcastVoice; + alexandros: OddcastVoice; + nikos: OddcastVoice; + alva: OddcastVoice; + annika: OddcastVoice; + oskar: OddcastVoice; + sven: OddcastVoice; + hui: OddcastVoice; + kaho: OddcastVoice; + kayan: OddcastVoice; + kiang: OddcastVoice; + liang: OddcastVoice; + linlin: OddcastVoice; + lisheng: OddcastVoice; + sinji: OddcastVoice; + tingting: OddcastVoice; + yaling: OddcastVoice; + yafang: OddcastVoice; + claire: OddcastVoice; + ellen: OddcastVoice; + laura: OddcastVoice; + saskia: OddcastVoice; + willem: OddcastVoice; + xander: OddcastVoice; + haruka: OddcastVoice; + hikari: OddcastVoice; + kyoko: OddcastVoice; + misaki: OddcastVoice; + ryo: OddcastVoice; + sayaka: OddcastVoice; + show: OddcastVoice; + takeru: OddcastVoice; + dayoung: OddcastVoice; + hyeryun: OddcastVoice; + hyuna: OddcastVoice; + jihun: OddcastVoice; + jimin: OddcastVoice; + junwoo: OddcastVoice; + narae: OddcastVoice; + sena: OddcastVoice; + yumi: OddcastVoice; + yura: OddcastVoice; + agata: OddcastVoice; + krzysztof: OddcastVoice; + zosia: OddcastVoice; + carmela: OddcastVoice; + aylin: OddcastVoice; + kerem: OddcastVoice; + selin: OddcastVoice; + zeynep: OddcastVoice; + zuzana: OddcastVoice; + frida: OddcastVoice; + ida: OddcastVoice; + magnus: OddcastVoice; + henrik: OddcastVoice; + stine: OddcastVoice; + vilde: OddcastVoice; + dmitri: OddcastVoice; + milena: OddcastVoice; + olga: OddcastVoice; + arantxa: OddcastVoice; + marko: OddcastVoice; + mikko: OddcastVoice; + milla: OddcastVoice; + lekha: OddcastVoice; + narisa: OddcastVoice; + sarawut: OddcastVoice; + somsi: OddcastVoice; + laila: OddcastVoice; + maged: OddcastVoice; + tarik: OddcastVoice; + damayanti: OddcastVoice; + eszter: OddcastVoice; + ioana: OddcastVoice; + simona: OddcastVoice; + ludoviko: OddcastVoice; +} + +export const languages: AllOddcastLanguages; +export const voices: AllOddcastVoices; diff --git a/package.json b/package.json index 7b0b2f2..4fee972 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,17 @@ "version": "1.0.0", "description": "Text-to-speech using oddcast.com's TTS demo.", "main": "./lib/index.js", + "types": "./index.d.ts", "author": "Rauli Laine ", + "homepage": "https://github.com/RauliL/oddcast-tts-demo", "license": "MIT", + "repository": { + "type": "git", + "url": "git@github.com:RauliL/oddcast-tts-demo.git" + }, + "bugs": { + "url": "https://github.com/RauliL/oddcast-tts-demo/issues" + }, "engines": { "node": ">=8.0.0" },