diff --git a/.gitignore b/.gitignore index 4f4f3bc..2d97f5f 100644 --- a/.gitignore +++ b/.gitignore @@ -100,4 +100,5 @@ language_detection_model/* !language_detection_model/Where to get language detection model.txt .vscode/ package-lock.json -src/backend/loquendoBot_backend.exe \ No newline at end of file +src/backend/loquendoBot_backend.exe +src/sounds/tts/* \ No newline at end of file diff --git a/languages.txt b/languages.txt deleted file mode 100644 index 89df109..0000000 --- a/languages.txt +++ /dev/null @@ -1 +0,0 @@ -{'acehnese': {'IETF': 'ace-ID', 'ISO-639': 'ace'}, 'afrikaans': {'IETF': 'af-ZA', 'ISO-639': 'af'}, 'akan': {'IETF': 'ak-GH', 'ISO-639': 'ak'}, 'albanian': {'IETF': 'sq-AL', 'ISO-639': 'sq'}, 'amharic': {'IETF': 'am-ET', 'ISO-639': 'am'}, 'antigua and barbuda creole english': {'IETF': 'aig-AG', 'ISO-639': 'aig'}, 'arabic': {'IETF': 'ar-SA', 'ISO-639': 'ar'}, 'arabic egyptian': {'IETF': 'ar-EG', 'ISO-639': 'ar'}, 'aragonese': {'IETF': 'an-ES', 'ISO-639': 'an'}, 'armenian': {'IETF': 'hy-AM', 'ISO-639': 'hy'}, 'assamese': {'IETF': 'as-IN', 'ISO-639': 'as'}, 'asturian': {'IETF': 'ast-ES', 'ISO-639': 'ast'}, 'austrian german': {'IETF': 'de-AT', 'ISO-639': 'de'}, 'awadhi': {'IETF': 'awa-IN', 'ISO-639': 'awa'}, 'ayacucho quechua': {'IETF': 'quy-PE', 'ISO-639': 'quy'}, 'azerbaijani': {'IETF': 'az-AZ', 'ISO-639': 'az'}, 'bahamas creole english': {'IETF': 'bah-BS', 'ISO-639': 'bah'}, 'bajan': {'IETF': 'bjs-BB', 'ISO-639': 'bjs'}, 'balinese': {'IETF': 'ban-ID', 'ISO-639': 'ban'}, 'balkan gipsy': {'IETF': 'rm-RO', 'ISO-639': 'rm'}, 'bambara': {'IETF': 'bm-ML', 'ISO-639': 'bm'}, 'banjar': {'IETF': 'bjn-ID', 'ISO-639': 'bjn'}, 'bashkir': {'IETF': 'ba-RU', 'ISO-639': 'ba'}, 'basque': {'IETF': 'eu-ES', 'ISO-639': 'eu'}, 'belarusian': {'IETF': 'be-BY', 'ISO-639': 'be'}, 'belgian french': {'IETF': 'fr-BE', 'ISO-639': 'fr'}, 'bemba': {'IETF': 'bem-ZM', 'ISO-639': 'bem'}, 'bengali': {'IETF': 'bn-IN', 'ISO-639': 'bn'}, 'bhojpuri': {'IETF': 'bho-IN', 'ISO-639': 'bho'}, 'bihari': {'IETF': 'bh-IN', 'ISO-639': 'bh'}, 'bislama': {'IETF': 'bi-VU', 'ISO-639': 'bi'}, 'borana': {'IETF': 'gax-KE', 'ISO-639': 'gax'}, 'bosnian': {'IETF': 'bs-BA', 'ISO-639': 'bs'}, 'bosnian (cyrillic)': {'IETF': 'bs-Cyrl-BA', 'ISO-639': 'bs'}, 'breton': {'IETF': 'br-FR', 'ISO-639': 'br'}, 'buginese': {'IETF': 'bug-ID', 'ISO-639': 'bug'}, 'bulgarian': {'IETF': 'bg-BG', 'ISO-639': 'bg'}, 'burmese': {'IETF': 'my-MM', 'ISO-639': 'my'}, 'catalan': {'IETF': 'ca-ES', 'ISO-639': 'ca'}, 'catalan valencian': {'IETF': 'cav-ES', 'ISO-639': 'cav'}, 'cebuano': {'IETF': 'ceb-PH', 'ISO-639': 'ceb'}, 'central atlas tamazight': {'IETF': 'tzm-MA', 'ISO-639': 'tzm'}, 'central aymara': {'IETF': 'ayr-BO', 'ISO-639': 'ayr'}, 'central kanuri (latin script)': {'IETF': 'knc-NG', 'ISO-639': 'knc'}, 'chadian arabic': {'IETF': 'shu-TD', 'ISO-639': 'shu'}, 'chamorro': {'IETF': 'ch-GU', 'ISO-639': 'ch'}, 'cherokee': {'IETF': 'chr-US', 'ISO-639': 'chr'}, 'chhattisgarhi': {'IETF': 'hne-IN', 'ISO-639': 'hne'}, 'chinese simplified': {'IETF': 'zh-CN', 'ISO-639': 'zh'}, 'chinese trad. (hong kong)': {'IETF': 'zh-HK', 'ISO-639': 'zh'}, 'chinese traditional': {'IETF': 'zh-TW', 'ISO-639': 'zh'}, 'chinese traditional macau': {'IETF': 'zh-MO', 'ISO-639': 'zh'}, 'chittagonian': {'IETF': 'ctg-BD', 'ISO-639': 'ctg'}, 'chokwe': {'IETF': 'cjk-AO', 'ISO-639': 'cjk'}, 'classical greek': {'IETF': 'grc-GR', 'ISO-639': 'grc'}, 'comorian ngazidja': {'IETF': 'zdj-KM', 'ISO-639': 'zdj'}, 'coptic': {'IETF': 'cop-EG', 'ISO-639': 'cop'}, 'crimean tatar': {'IETF': 'crh-RU', 'ISO-639': 'crh'}, 'crioulo upper guinea': {'IETF': 'pov-GW', 'ISO-639': 'pov'}, 'croatian': {'IETF': 'hr-HR', 'ISO-639': 'hr'}, 'czech': {'IETF': 'cs-CZ', 'ISO-639': 'cs'}, 'danish': {'IETF': 'da-DK', 'ISO-639': 'da'}, 'dari': {'IETF': 'prs-AF', 'ISO-639': 'prs'}, 'dimli': {'IETF': 'diq-TR', 'ISO-639': 'diq'}, 'dutch': {'IETF': 'nl-NL', 'ISO-639': 'nl'}, 'dyula': {'IETF': 'dyu-CI', 'ISO-639': 'dyu'}, 'dzongkha': {'IETF': 'dz-BT', 'ISO-639': 'dz'}, 'eastern yiddish': {'IETF': 'ydd-US', 'ISO-639': 'ydd'}, 'emakhuwa': {'IETF': 'vmw-MZ', 'ISO-639': 'vmw'}, 'english': {'IETF': 'en-GB', 'ISO-639': 'en'}, 'english australia': {'IETF': 'en-AU', 'ISO-639': 'en'}, 'english canada': {'IETF': 'en-CA', 'ISO-639': 'en'}, 'english india': {'IETF': 'en-IN', 'ISO-639': 'en'}, 'english ireland': {'IETF': 'en-IE', 'ISO-639': 'en'}, 'english new zealand': {'IETF': 'en-NZ', 'ISO-639': 'en'}, 'english singapore': {'IETF': 'en-SG', 'ISO-639': 'en'}, 'english south africa': {'IETF': 'en-ZA', 'ISO-639': 'en'}, 'english us': {'IETF': 'en-US', 'ISO-639': 'en'}, 'esperanto': {'IETF': 'eo-EU', 'ISO-639': 'eo'}, 'estonian': {'IETF': 'et-EE', 'ISO-639': 'et'}, 'ewe': {'IETF': 'ee-GH', 'ISO-639': 'ee'}, 'fanagalo': {'IETF': 'fn-FNG', 'ISO-639': 'fn'}, 'faroese': {'IETF': 'fo-FO', 'ISO-639': 'fo'}, 'fijian': {'IETF': 'fj-FJ', 'ISO-639': 'fj'}, 'filipino': {'IETF': 'fil-PH', 'ISO-639': 'fil'}, 'finnish': {'IETF': 'fi-FI', 'ISO-639': 'fi'}, 'flemish': {'IETF': 'nl-BE', 'ISO-639': 'nl'}, 'fon': {'IETF': 'fon-BJ', 'ISO-639': 'fon'}, 'french': {'IETF': 'fr-FR', 'ISO-639': 'fr'}, 'french canada': {'IETF': 'fr-CA', 'ISO-639': 'fr'}, 'french swiss': {'IETF': 'fr-CH', 'ISO-639': 'fr'}, 'friulian': {'IETF': 'fur-IT', 'ISO-639': 'fur'}, 'fula': {'IETF': 'ff-FUL', 'ISO-639': 'ff'}, 'galician': {'IETF': 'gl-ES', 'ISO-639': 'gl'}, 'gamargu': {'IETF': 'mfi-NG', 'ISO-639': 'mfi'}, 'garo': {'IETF': 'grt-IN', 'ISO-639': 'grt'}, 'georgian': {'IETF': 'ka-GE', 'ISO-639': 'ka'}, 'german': {'IETF': 'de-DE', 'ISO-639': 'de'}, 'gilbertese': {'IETF': 'gil-KI', 'ISO-639': 'gil'}, 'glavda': {'IETF': 'glw-NG', 'ISO-639': 'glw'}, 'greek': {'IETF': 'el-GR', 'ISO-639': 'el'}, 'grenadian creole english': {'IETF': 'gcl-GD', 'ISO-639': 'gcl'}, 'guarani': {'IETF': 'gn-PY', 'ISO-639': 'gn'}, 'gujarati': {'IETF': 'gu-IN', 'ISO-639': 'gu'}, 'guyanese creole english': {'IETF': 'gyn-GY', 'ISO-639': 'gyn'}, 'haitian creole french': {'IETF': 'ht-HT', 'ISO-639': 'ht'}, 'halh mongolian': {'IETF': 'khk-MN', 'ISO-639': 'khk'}, 'hausa': {'IETF': 'ha-NE', 'ISO-639': 'ha'}, 'hawaiian': {'IETF': 'haw-US', 'ISO-639': 'haw'}, 'hebrew': {'IETF': 'he-IL', 'ISO-639': 'he'}, 'higi': {'IETF': 'hig-NG', 'ISO-639': 'hig'}, 'hiligaynon': {'IETF': 'hil-PH', 'ISO-639': 'hil'}, 'hill mari': {'IETF': 'mrj-RU', 'ISO-639': 'mrj'}, 'hindi': {'IETF': 'hi-IN', 'ISO-639': 'hi'}, 'hmong': {'IETF': 'hmn-CN', 'ISO-639': 'hmn'}, 'hungarian': {'IETF': 'hu-HU', 'ISO-639': 'hu'}, 'icelandic': {'IETF': 'is-IS', 'ISO-639': 'is'}, 'igbo ibo': {'IETF': 'ibo-NG', 'ISO-639': 'ibo'}, 'igbo ig': {'IETF': 'ig-NG', 'ISO-639': 'ig'}, 'ilocano': {'IETF': 'ilo-PH', 'ISO-639': 'ilo'}, 'indonesian': {'IETF': 'id-ID', 'ISO-639': 'id'}, 'inuktitut greenlandic': {'IETF': 'kl-GL', 'ISO-639': 'kl'}, 'irish gaelic': {'IETF': 'ga-IE', 'ISO-639': 'ga'}, 'italian': {'IETF': 'it-IT', 'ISO-639': 'it'}, 'italian swiss': {'IETF': 'it-CH', 'ISO-639': 'it'}, 'jamaican creole english': {'IETF': 'jam-JM', 'ISO-639': 'jam'}, 'japanese': {'IETF': 'ja-JP', 'ISO-639': 'ja'}, 'javanese': {'IETF': 'jv-ID', 'ISO-639': 'jv'}, 'jingpho': {'IETF': 'kac-MM', 'ISO-639': 'kac'}, "k'iche'": {'IETF': 'quc-GT', 'ISO-639': 'quc'}, 'kabiyè': {'IETF': 'kbp-TG', 'ISO-639': 'kbp'}, 'kabuverdianu': {'IETF': 'kea-CV', 'ISO-639': 'kea'}, 'kabylian': {'IETF': 'kab-DZ', 'ISO-639': 'kab'}, 'kalenjin': {'IETF': 'kln-KE', 'ISO-639': 'kln'}, 'kamba': {'IETF': 'kam-KE', 'ISO-639': 'kam'}, 'kannada': {'IETF': 'kn-IN', 'ISO-639': 'kn'}, 'kanuri': {'IETF': 'kr-KAU', 'ISO-639': 'kr'}, 'karen': {'IETF': 'kar-MM', 'ISO-639': 'kar'}, 'kashmiri (devanagari script)': {'IETF': 'ks-IN', 'ISO-639': 'ks'}, 'kashmiri (arabic script)': {'IETF': 'kas-IN', 'ISO-639': 'kas'}, 'kazakh': {'IETF': 'kk-KZ', 'ISO-639': 'kk'}, 'khasi': {'IETF': 'kha-IN', 'ISO-639': 'kha'}, 'khmer': {'IETF': 'km-KH', 'ISO-639': 'km'}, 'kikuyu kik': {'IETF': 'kik-KE', 'ISO-639': 'kik'}, 'kikuyu ki': {'IETF': 'ki-KE', 'ISO-639': 'ki'}, 'kimbundu': {'IETF': 'kmb-AO', 'ISO-639': 'kmb'}, 'kinyarwanda': {'IETF': 'rw-RW', 'ISO-639': 'rw'}, 'kirundi': {'IETF': 'rn-BI', 'ISO-639': 'rn'}, 'kisii': {'IETF': 'guz-KE', 'ISO-639': 'guz'}, 'kongo': {'IETF': 'kg-CG', 'ISO-639': 'kg'}, 'konkani': {'IETF': 'kok-IN', 'ISO-639': 'kok'}, 'korean': {'IETF': 'ko-KR', 'ISO-639': 'ko'}, 'northern kurdish': {'IETF': 'kmr-TR', 'ISO-639': 'kmr'}, 'kurdish sorani': {'IETF': 'ckb-IQ', 'ISO-639': 'ckb'}, 'kyrgyz': {'IETF': 'ky-KG', 'ISO-639': 'ky'}, 'lao': {'IETF': 'lo-LA', 'ISO-639': 'lo'}, 'latgalian': {'IETF': 'ltg-LV', 'ISO-639': 'ltg'}, 'latin': {'IETF': 'la-XN', 'ISO-639': 'la'}, 'latvian': {'IETF': 'lv-LV', 'ISO-639': 'lv'}, 'ligurian': {'IETF': 'lij-IT', 'ISO-639': 'lij'}, 'limburgish': {'IETF': 'li-NL', 'ISO-639': 'li'}, 'lingala': {'IETF': 'ln-LIN', 'ISO-639': 'ln'}, 'lithuanian': {'IETF': 'lt-LT', 'ISO-639': 'lt'}, 'lombard': {'IETF': 'lmo-IT', 'ISO-639': 'lmo'}, 'luba-kasai': {'IETF': 'lua-CD', 'ISO-639': 'lua'}, 'luganda': {'IETF': 'lg-UG', 'ISO-639': 'lg'}, 'luhya': {'IETF': 'luy-KE', 'ISO-639': 'luy'}, 'luo': {'IETF': 'luo-KE', 'ISO-639': 'luo'}, 'luxembourgish': {'IETF': 'lb-LU', 'ISO-639': 'lb'}, 'maa': {'IETF': 'mas-KE', 'ISO-639': 'mas'}, 'macedonian': {'IETF': 'mk-MK', 'ISO-639': 'mk'}, 'magahi': {'IETF': 'mag-IN', 'ISO-639': 'mag'}, 'maithili': {'IETF': 'mai-IN', 'ISO-639': 'mai'}, 'malagasy': {'IETF': 'mg-MG', 'ISO-639': 'mg'}, 'malay': {'IETF': 'ms-MY', 'ISO-639': 'ms'}, 'malayalam': {'IETF': 'ml-IN', 'ISO-639': 'ml'}, 'maldivian': {'IETF': 'dv-MV', 'ISO-639': 'dv'}, 'maltese': {'IETF': 'mt-MT', 'ISO-639': 'mt'}, 'mandara': {'IETF': 'mfi-CM', 'ISO-639': 'mfi'}, 'manipuri': {'IETF': 'mni-IN', 'ISO-639': 'mni'}, 'manx gaelic': {'IETF': 'gv-IM', 'ISO-639': 'gv'}, 'maori': {'IETF': 'mi-NZ', 'ISO-639': 'mi'}, 'marathi': {'IETF': 'mr-IN', 'ISO-639': 'mr'}, 'margi': {'IETF': 'mrt-NG', 'ISO-639': 'mrt'}, 'mari': {'IETF': 'mhr-RU', 'ISO-639': 'mhr'}, 'marshallese': {'IETF': 'mh-MH', 'ISO-639': 'mh'}, 'mende': {'IETF': 'men-SL', 'ISO-639': 'men'}, 'meru': {'IETF': 'mer-KE', 'ISO-639': 'mer'}, 'mijikenda': {'IETF': 'nyf-KE', 'ISO-639': 'nyf'}, 'minangkabau': {'IETF': 'min-ID', 'ISO-639': 'min'}, 'mizo': {'IETF': 'lus-IN', 'ISO-639': 'lus'}, 'mongolian': {'IETF': 'mn-MN', 'ISO-639': 'mn'}, 'montenegrin': {'IETF': 'sr-ME', 'ISO-639': 'sr'}, 'morisyen': {'IETF': 'mfe-MU', 'ISO-639': 'mfe'}, 'moroccan arabic': {'IETF': 'ar-MA', 'ISO-639': 'ar'}, 'mossi': {'IETF': 'mos-BF', 'ISO-639': 'mos'}, 'ndau': {'IETF': 'ndc-MZ', 'ISO-639': 'ndc'}, 'ndebele': {'IETF': 'nr-ZA', 'ISO-639': 'nr'}, 'nepali': {'IETF': 'ne-NP', 'ISO-639': 'ne'}, 'nigerian fulfulde': {'IETF': 'fuv-NG', 'ISO-639': 'fuv'}, 'niuean': {'IETF': 'niu-NU', 'ISO-639': 'niu'}, 'north azerbaijani': {'IETF': 'azj-AZ', 'ISO-639': 'azj'}, 'sesotho': {'IETF': 'nso-ZA', 'ISO-639': 'nso'}, 'northern uzbek': {'IETF': 'uzn-UZ', 'ISO-639': 'uzn'}, 'norwegian bokmål': {'IETF': 'nb-NO', 'ISO-639': 'nb'}, 'norwegian nynorsk': {'IETF': 'nn-NO', 'ISO-639': 'nn'}, 'nuer': {'IETF': 'nus-SS', 'ISO-639': 'nus'}, 'nyanja': {'IETF': 'ny-MW', 'ISO-639': 'ny'}, 'occitan': {'IETF': 'oc-FR', 'ISO-639': 'oc'}, 'occitan aran': {'IETF': 'oc-ES', 'ISO-639': 'oc'}, 'odia': {'IETF': 'or-IN', 'ISO-639': 'or'}, 'oriya': {'IETF': 'ory-IN', 'ISO-639': 'ory'}, 'urdu': {'IETF': 'ur-PK', 'ISO-639': 'ur'}, 'palauan': {'IETF': 'pau-PW', 'ISO-639': 'pau'}, 'pali': {'IETF': 'pi-IN', 'ISO-639': 'pi'}, 'pangasinan': {'IETF': 'pag-PH', 'ISO-639': 'pag'}, 'papiamentu': {'IETF': 'pap-CW', 'ISO-639': 'pap'}, 'pashto': {'IETF': 'ps-PK', 'ISO-639': 'ps'}, 'persian': {'IETF': 'fa-IR', 'ISO-639': 'fa'}, 'pijin': {'IETF': 'pis-SB', 'ISO-639': 'pis'}, 'plateau malagasy': {'IETF': 'plt-MG', 'ISO-639': 'plt'}, 'polish': {'IETF': 'pl-PL', 'ISO-639': 'pl'}, 'portuguese': {'IETF': 'pt-PT', 'ISO-639': 'pt'}, 'portuguese brazil': {'IETF': 'pt-BR', 'ISO-639': 'pt'}, 'potawatomi': {'IETF': 'pot-US', 'ISO-639': 'pot'}, 'punjabi': {'IETF': 'pa-IN', 'ISO-639': 'pa'}, 'punjabi (pakistan)': {'IETF': 'pnb-PK', 'ISO-639': 'pnb'}, 'quechua': {'IETF': 'qu-PE', 'ISO-639': 'qu'}, 'rohingya': {'IETF': 'rhg-MM', 'ISO-639': 'rhg'}, 'rohingyalish': {'IETF': 'rhl-MM', 'ISO-639': 'rhl'}, 'romanian': {'IETF': 'ro-RO', 'ISO-639': 'ro'}, 'romansh': {'IETF': 'roh-CH', 'ISO-639': 'roh'}, 'rundi': {'IETF': 'run-BI', 'ISO-639': 'run'}, 'russian': {'IETF': 'ru-RU', 'ISO-639': 'ru'}, 'saint lucian creole french': {'IETF': 'acf-LC', 'ISO-639': 'acf'}, 'samoan': {'IETF': 'sm-WS', 'ISO-639': 'sm'}, 'sango': {'IETF': 'sg-CF', 'ISO-639': 'sg'}, 'sanskrit': {'IETF': 'sa-IN', 'ISO-639': 'sa'}, 'santali': {'IETF': 'sat-IN', 'ISO-639': 'sat'}, 'sardinian': {'IETF': 'sc-IT', 'ISO-639': 'sc'}, 'scots gaelic': {'IETF': 'gd-GB', 'ISO-639': 'gd'}, 'sena': {'IETF': 'seh-ZW', 'ISO-639': 'seh'}, 'serbian cyrillic': {'IETF': 'sr-Cyrl-RS', 'ISO-639': 'sr'}, 'serbian latin': {'IETF': 'sr-Latn-RS', 'ISO-639': 'sr'}, 'seselwa creole french': {'IETF': 'crs-SC', 'ISO-639': 'crs'}, 'setswana (south africa)': {'IETF': 'tn-ZA', 'ISO-639': 'tn'}, 'shan': {'IETF': 'shn-MM', 'ISO-639': 'shn'}, 'shona': {'IETF': 'sn-ZW', 'ISO-639': 'sn'}, 'sicilian': {'IETF': 'scn-IT', 'ISO-639': 'scn'}, 'silesian': {'IETF': 'szl-PL', 'ISO-639': 'szl'}, 'sindhi snd': {'IETF': 'snd-PK', 'ISO-639': 'snd'}, 'sindhi sd': {'IETF': 'sd-PK', 'ISO-639': 'sd'}, 'sinhala': {'IETF': 'si-LK', 'ISO-639': 'si'}, 'slovak': {'IETF': 'sk-SK', 'ISO-639': 'sk'}, 'slovenian': {'IETF': 'sl-SI', 'ISO-639': 'sl'}, 'somali': {'IETF': 'so-SO', 'ISO-639': 'so'}, 'sotho southern': {'IETF': 'st-LS', 'ISO-639': 'st'}, 'south azerbaijani': {'IETF': 'azb-AZ', 'ISO-639': 'azb'}, 'southern pashto': {'IETF': 'pbt-PK', 'ISO-639': 'pbt'}, 'southwestern dinka': {'IETF': 'dik-SS', 'ISO-639': 'dik'}, 'spanish': {'IETF': 'es-ES', 'ISO-639': 'es'}, 'spanish argentina': {'IETF': 'es-AR', 'ISO-639': 'es'}, 'spanish colombia': {'IETF': 'es-CO', 'ISO-639': 'es'}, 'spanish latin america': {'IETF': 'es-419', 'ISO-639': 'es'}, 'spanish mexico': {'IETF': 'es-MX', 'ISO-639': 'es'}, 'spanish united states': {'IETF': 'es-US', 'ISO-639': 'es'}, 'sranan tongo': {'IETF': 'srn-SR', 'ISO-639': 'srn'}, 'standard latvian': {'IETF': 'lvs-LV', 'ISO-639': 'lvs'}, 'standard malay': {'IETF': 'zsm-MY', 'ISO-639': 'zsm'}, 'sundanese': {'IETF': 'su-ID', 'ISO-639': 'su'}, 'swahili': {'IETF': 'sw-KE', 'ISO-639': 'sw'}, 'swati': {'IETF': 'ss-SZ', 'ISO-639': 'ss'}, 'swedish': {'IETF': 'sv-SE', 'ISO-639': 'sv'}, 'swiss german': {'IETF': 'de-CH', 'ISO-639': 'de'}, 'syriac (aramaic)': {'IETF': 'syc-TR', 'ISO-639': 'syc'}, 'tagalog': {'IETF': 'tl-PH', 'ISO-639': 'tl'}, 'tahitian': {'IETF': 'ty-PF', 'ISO-639': 'ty'}, 'tajik': {'IETF': 'tg-TJ', 'ISO-639': 'tg'}, 'tamashek (tuareg)': {'IETF': 'tmh-DZ', 'ISO-639': 'tmh'}, 'tamasheq': {'IETF': 'taq-ML', 'ISO-639': 'taq'}, 'tamil india': {'IETF': 'ta-IN', 'ISO-639': 'ta'}, 'tamil sri lanka': {'IETF': 'ta-LK', 'ISO-639': 'ta'}, 'taroko': {'IETF': 'trv-TW', 'ISO-639': 'trv'}, 'tatar': {'IETF': 'tt-RU', 'ISO-639': 'tt'}, 'telugu': {'IETF': 'te-IN', 'ISO-639': 'te'}, 'tetum': {'IETF': 'tet-TL', 'ISO-639': 'tet'}, 'thai': {'IETF': 'th-TH', 'ISO-639': 'th'}, 'tibetan': {'IETF': 'bo-CN', 'ISO-639': 'bo'}, 'tigrinya': {'IETF': 'ti-ET', 'ISO-639': 'ti'}, 'tok pisin': {'IETF': 'tpi-PG', 'ISO-639': 'tpi'}, 'tokelauan': {'IETF': 'tkl-TK', 'ISO-639': 'tkl'}, 'tongan': {'IETF': 'to-TO', 'ISO-639': 'to'}, 'tosk albanian': {'IETF': 'als-AL', 'ISO-639': 'als'}, 'tsonga': {'IETF': 'ts-ZA', 'ISO-639': 'ts'}, 'tswa': {'IETF': 'tsc-MZ', 'ISO-639': 'tsc'}, 'tswana': {'IETF': 'tn-BW', 'ISO-639': 'tn'}, 'tumbuka': {'IETF': 'tum-MW', 'ISO-639': 'tum'}, 'turkish': {'IETF': 'tr-TR', 'ISO-639': 'tr'}, 'turkmen': {'IETF': 'tk-TM', 'ISO-639': 'tk'}, 'tuvaluan': {'IETF': 'tvl-TV', 'ISO-639': 'tvl'}, 'twi': {'IETF': 'tw-GH', 'ISO-639': 'tw'}, 'udmurt': {'IETF': 'udm-RU', 'ISO-639': 'udm'}, 'ukrainian': {'IETF': 'uk-UA', 'ISO-639': 'uk'}, 'uma': {'IETF': 'ppk-ID', 'ISO-639': 'ppk'}, 'umbundu': {'IETF': 'umb-AO', 'ISO-639': 'umb'}, 'uyghur uig': {'IETF': 'uig-CN', 'ISO-639': 'uig'}, 'uyghur ug': {'IETF': 'ug-CN', 'ISO-639': 'ug'}, 'uzbek': {'IETF': 'uz-UZ', 'ISO-639': 'uz'}, 'venetian': {'IETF': 'vec-IT', 'ISO-639': 'vec'}, 'vietnamese': {'IETF': 'vi-VN', 'ISO-639': 'vi'}, 'vincentian creole english': {'IETF': 'svc-VC', 'ISO-639': 'svc'}, 'virgin islands creole english': {'IETF': 'vic-US', 'ISO-639': 'vic'}, 'wallisian': {'IETF': 'wls-WF', 'ISO-639': 'wls'}, 'waray (philippines)': {'IETF': 'war-PH', 'ISO-639': 'war'}, 'welsh': {'IETF': 'cy-GB', 'ISO-639': 'cy'}, 'west central oromo': {'IETF': 'gaz-ET', 'ISO-639': 'gaz'}, 'western persian': {'IETF': 'pes-IR', 'ISO-639': 'pes'}, 'wolof': {'IETF': 'wo-SN', 'ISO-639': 'wo'}, 'xhosa': {'IETF': 'xh-ZA', 'ISO-639': 'xh'}, 'yiddish': {'IETF': 'yi-YD', 'ISO-639': 'yi'}, 'yoruba': {'IETF': 'yo-NG', 'ISO-639': 'yo'}, 'zulu': {'IETF': 'zu-ZA', 'ISO-639': 'zu'}} \ No newline at end of file diff --git a/package.json b/package.json index 2a69492..5713be1 100644 --- a/package.json +++ b/package.json @@ -21,22 +21,13 @@ "axios": "^1.4.0", "electron-squirrel-startup": "^1.0.0", "express": "^4.18.2", - "franc": "^6.1.0", - "i18next-electron-language-detector": "^0.0.10", - "iconv-lite": "^0.6.3", "ini": "^2.0.0", - "kill-port": "^2.0.1", - "langdetect": "^0.2.1", "node-google-tts-api": "^1.1.1", "querystring": "^0.2.1", - "request": "^2.88.2", - "say": "^0.16.0", "socket.io": "^4.7.1", "socket.io-client": "^4.7.1", - "sound-play": "^1.1.0", "tmi.js": "^1.8.5", "url": "^0.11.1", - "voice-recognition": "^1.0.6", "winston": "^3.10.0", "write-ini-file": "^4.0.1" }, diff --git a/src/js/backend.js b/src/js/backend.js index 2bac31c..5242da2 100644 --- a/src/js/backend.js +++ b/src/js/backend.js @@ -105,7 +105,6 @@ const createBackendServer = () => python = spawn(path.join(pythonPath, './loquendoBot_backend.exe'), [settingsPath, 'prod']); } else { python = spawn('python', ['-u', path.join(pythonPath, './loquendoBot_backend.py'), settingsPath, 'dev']); - // python = spawn(path.join(pythonPath, './loquendoBot_backend.exe'), [settingsPath, 'dev']); } // Capture the stdout of the Python process python.stdout.on('data', (data) => { @@ -140,7 +139,6 @@ async function initiateBackend() { } catch (error) { console.error('Error during backend initialization:', error); } - // setTimeout(getSTT, 3000); } initiateBackend(); diff --git a/src/js/chat.js b/src/js/chat.js index f6f1eff..21b3967 100644 --- a/src/js/chat.js +++ b/src/js/chat.js @@ -85,7 +85,6 @@ const displayPanel = (panelSelectorClass, panelSelectorID, btnSelectorID) => { el.classList.remove('show'); }); if (panel.classList.contains('show')) { - // panel.classList.remove('show'); } else { panel.classList.add('show'); } @@ -103,7 +102,6 @@ displayPanel('.OptionPanel', '#BrowsersourceVtuber', '#btnBrowsersourceVtuber'); displayPanel('.OptionPanel', '#Chat', '#btnChat'); displayPanel('.OptionPanel', '#ThemeCreator', '#btnThemeCreator'); displayPanel('.OptionPanel', '#ChatCreator', '#btnChatCreator'); -// displayPanel('.OptionPanel', '#Info', '#btnInfo'); // #endregion const displayPanelX = (panelSelectorClass, panelSelectorID, btnSelectorID) => { @@ -120,7 +118,6 @@ const displayPanelX = (panelSelectorClass, panelSelectorID, btnSelectorID) => { el.classList.remove('item-active'); }); if (panel.classList.contains('item-active')) { - // panel.classList.remove('item-active'); } else { panel.classList.add('item-active'); } diff --git a/src/js/logger.js b/src/js/logger.js index ff4c5a3..d7ea220 100644 --- a/src/js/logger.js +++ b/src/js/logger.js @@ -73,8 +73,6 @@ fetch(path.join(__dirname, '../logs/activity.log')) tableBody.appendChild(row); }); }) - .catch((error) => { - // console.error('Error fetching log file:', error); - }); + .catch((error) => {}); module.exports = logger; diff --git a/src/js/renderer.js b/src/js/renderer.js index cce849c..753e615 100644 --- a/src/js/renderer.js +++ b/src/js/renderer.js @@ -4,8 +4,6 @@ const path = require('path'); // get directory path const { ipcRenderer, shell } = require('electron'); // necessary electron libraries to send data to the app const say = require('say'); -const request = require('request'); -const langdetect = require('langdetect'); const io = require('socket.io-client'); const util = require('util'); @@ -15,7 +13,6 @@ const GoogleTTS = require('node-google-tts-api'); const tts = new GoogleTTS(); const { Socket } = require('socket.io-client'); -// const { languages } = require('./languages'); const main = ipcRenderer.sendSync('environment'); @@ -46,7 +43,6 @@ const messageTemplates = require(path.join(__dirname, './js/messageTemplates')); const languageObject = require(path.join(__dirname, './js/languages')); const logger = require(path.join(__dirname, './js/logger')); const sound = require(path.join(__dirname, './js/sound')); -const talk = require(path.join(__dirname, './js/voiceQueue')); // Voice queue system const config = require(path.join(__dirname, './js/settings')); const mediaDevices = require(path.join(__dirname, './js/mediaDevices')); @@ -77,7 +73,6 @@ config.getGeneralSettings(); const TTSVolume = 1; const notificationSoundVolume = 1; -// const slider = document.body.querySelector('#slider'); const StartDateAndTime = Date.now(); const speakButton = document.querySelector('#speakBtn'); @@ -124,7 +119,6 @@ fs.readdir(sttModels, (err, files) => { async function getAudioDevices() { if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) { - // logger.info('enumerateDevices() not supported.'); return; } @@ -149,8 +143,6 @@ function setLanguagesinSelect(languageSelector, setting) { for (const language in languageObject.languages) { if (languageObject.languages.hasOwnProperty(language)) { const iso639 = languageObject.languages[language]['ISO-639']; - // console.log(`${language}: ${iso639}`); - const option = document.createElement('option'); option.value = iso639; option.innerHTML = `${iso639} - ${language}`; @@ -207,11 +199,8 @@ function showChatMessage(article) { const usernameHtml = article.querySelector('.username'); var style = getComputedStyle(usernameHtml); var style2 = getComputedStyle(usernameHtml); - // console.log(style.getPropertyValue('width')); - // console.log(style.getPropertyValue('width') + style.getPropertyValue('width') + 10); const msg = article.querySelector('.msg-box'); - // msg.width = `${getComputedStyle(usernameHtml).width + getComputedStyle(usernameHtml).width / 10}px`; const messages = Array.from(document.body.querySelectorAll('.msg-container')); const lastMessage = messages[messages.length - 1]; diff --git a/src/js/server.js b/src/js/server.js index 8d9aa47..97d9ff8 100644 --- a/src/js/server.js +++ b/src/js/server.js @@ -63,7 +63,6 @@ localServer.listen(settings.GENERAL.PORT, () => { startChatBubbleModule(); if (settings.TTS.USE_TTS) { - // internalTTS.getInstalledVoices(); } }); diff --git a/src/js/sound.js b/src/js/sound.js index c627d27..679b2a3 100644 --- a/src/js/sound.js +++ b/src/js/sound.js @@ -77,7 +77,6 @@ async function playVoice(filteredMessage, logoUrl, username, message) { currentUsername = username; let textObject = { filtered: filteredMessage, formatted: message }; let voice; - const language = langdetect.detect(filteredMessage); textObject.filtered = `${username}: ${filteredMessage}`; // if ( diff --git a/src/js/twitch.js b/src/js/twitch.js index e9da6ab..f316931 100644 --- a/src/js/twitch.js +++ b/src/js/twitch.js @@ -1,6 +1,5 @@ const tmi = require('tmi.js'); const axios = require('axios'); -const { post } = require('request'); let client; diff --git a/src/js/voiceQueue.js b/src/js/voiceQueue.js deleted file mode 100644 index a767447..0000000 --- a/src/js/voiceQueue.js +++ /dev/null @@ -1,49 +0,0 @@ -var iconv = require('iconv-lite'); - -let SelectedVoice = ''; -let Encoding = ''; -let counter = 0; -// wrap in promise -const speak = (textObject) => - new Promise((resolve) => { - // say.setEncoding(Encoding); - counter += 1; - let savePath = path.join(resourcesPath, './sounds/tts/internal_audio_' + counter + '.mp3'); - - say.export(iconv.encode(textObject.filtered, 'ascii'), SelectedVoice, 1, savePath, (err) => { - if (err) { - console.error(err); - } else { - sound.playAudio({ path: savePath, message: textObject }); - sound.playNotificationSound(); - } - resolve('finished'); - }); - }); - -// queue system -class SayQueue { - constructor() { - this.messages = []; - this.status = 0; - } - - async shift() { - this.status = 1; - while (this.messages.length > 0) { - await speak(this.messages.shift(), SelectedVoice, 1); - } - this.status = 0; - } - - add(message, selectedVoice) { - this.messages.push(message); - SelectedVoice = selectedVoice; - if (this.status === 0) { - this.shift(); - } - } -} - -const sayQueue = new SayQueue(); -module.exports = sayQueue;