{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":187364423,"defaultBranch":"master","name":"tts","ownerLogin":"chrisjp","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-05-18T13:58:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/448737?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1696312609.0","currentOid":""},"activityList":{"items":[{"before":"e41cdb960e85134cd93d7555f6c805ad288485b9","after":"998928b5f564b5799c4a2bb9b18f667750a7b7c2","ref":"refs/heads/master","pushedAt":"2024-01-27T17:04:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Remove paywalled Acapela voices\n\nRelated to #24 this removes 26 emotive voices all of which are now paywalled. The American voices Kenny and Nelly also no longer work, however other child voices seem to be working again.","shortMessageHtmlLink":"Remove paywalled Acapela voices"}},{"before":"8139fe457c711159151d1a3927386218b6d363da","after":"e41cdb960e85134cd93d7555f6c805ad288485b9","ref":"refs/heads/master","pushedAt":"2024-01-27T16:23:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Streamlabs now requires referer header. Fixes #35","shortMessageHtmlLink":"Streamlabs now requires referer header. Fixes #35"}},{"before":"2a8b0bdae4977217474dfb552a847e7c0733c9da","after":"8139fe457c711159151d1a3927386218b6d363da","ref":"refs/heads/master","pushedAt":"2023-12-11T16:39:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Corrected GingerChime flag/accent","shortMessageHtmlLink":"Corrected GingerChime flag/accent"}},{"before":"b1f87c2fe46deb1027d8cce185e1ff7b7909d667","after":"2a8b0bdae4977217474dfb552a847e7c0733c9da","ref":"refs/heads/master","pushedAt":"2023-12-11T16:34:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added 17 new TikTok voices\n\nen_female_amie - Billy, American English (child voice)\nen_male_jason - Captain, American English\nen_male_chris - Chris, American English\nen_male_miki - Comedian, American English\nen_male_whitney - Designer, American English\nen_female_doll - Doll, American English\nen_male_adam_elf - Elf\nen_male_adrian - Foodie, British English\nen_male_jomboy - Game On, American English\nen_female_ghost - Ghost, American English (normal female voice with a lot of reverb)\nen_male_david_gingerman - GingerChime, American English\nen_male_corey_santa - Santa\nen_male_maxwell - Stylist, American English\nen_female_erika - Victory, American English\nen_female_werewolf - Werewolf (this is actually a very deep male voice)\nen_female_witch - Witch\nen_female_zombie - Zombie (this is actually an old male voice slowed down)","shortMessageHtmlLink":"Added 17 new TikTok voices"}},{"before":"9ec63a27f0775fc0b04612889484253dd979a44c","after":"b1f87c2fe46deb1027d8cce185e1ff7b7909d667","ref":"refs/heads/master","pushedAt":"2023-12-11T15:33:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update TikTok API URL. Fixes #25","shortMessageHtmlLink":"Update TikTok API URL. Fixes #25"}},{"before":"b14f22de67ea0ca98bf61d865534475000c316bb","after":"9ec63a27f0775fc0b04612889484253dd979a44c","ref":"refs/heads/master","pushedAt":"2023-11-06T16:25:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Removed CereProc functionality\n\nAt the request of CereProc Ltd., functionality to generate TTS from their live demo website has been removed.\nA way to use their paid API _may_ be made available in the future as a replacement.","shortMessageHtmlLink":"Removed CereProc functionality"}},{"before":"8a671c6c040d58852e45b530e8437f869af8b061","after":"b14f22de67ea0ca98bf61d865534475000c316bb","ref":"refs/heads/master","pushedAt":"2023-11-05T14:27:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Updated cookie name for CereProc. Fixes #22","shortMessageHtmlLink":"Updated cookie name for CereProc. Fixes #22"}},{"before":"77e1e6b4bc5a5bc2f743e47a083e165484a526df","after":"8a671c6c040d58852e45b530e8437f869af8b061","ref":"refs/heads/master","pushedAt":"2023-11-05T14:23:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update voices.json (#21)\n\nAdded AT&T Natural from Oddcast + 2 Vocalware voices from Oddcast","shortMessageHtmlLink":"Update voices.json (#21)"}},{"before":"bd85a41eb6183db7042eef8d5c6060831d1e32fa","after":"77e1e6b4bc5a5bc2f743e47a083e165484a526df","ref":"refs/heads/master","pushedAt":"2023-10-03T06:01:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"use correct mime type for mp3 data URIs","shortMessageHtmlLink":"use correct mime type for mp3 data URIs"}},{"before":"5bdd848180ba06828a1f4fa78f565450fb1cd317","after":"bd85a41eb6183db7042eef8d5c6060831d1e32fa","ref":"refs/heads/master","pushedAt":"2023-10-03T05:58:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Re-add iSpeech voices (#19)\n\n* Added iSpeech voices again\r\n\r\nThese were previous removed due to the public demo site no longer being functional. Re-added now using their API which is still functional.\r\n\r\n* Updated readme and footer","shortMessageHtmlLink":"Re-add iSpeech voices (#19)"}},{"before":null,"after":"f293fb8af1712a089691e46f9ba2d70c2bac4ddb","ref":"refs/heads/ispeech","pushedAt":"2023-10-03T05:56:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Updated readme and footer","shortMessageHtmlLink":"Updated readme and footer"}},{"before":"c38d349986554f16891ab5d84d9d6636cd252976","after":"5bdd848180ba06828a1f4fa78f565450fb1cd317","ref":"refs/heads/master","pushedAt":"2023-10-03T02:05:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added voices from Cerence (#18)\n\n* Added voices from Cerence\r\n\r\n* Update README.md\r\n\r\n* Update footer.php","shortMessageHtmlLink":"Added voices from Cerence (#18)"}},{"before":null,"after":"6059966a06a629b50f303c39221c71d28b8e0fe9","ref":"refs/heads/cerence","pushedAt":"2023-10-03T02:04:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update footer.php","shortMessageHtmlLink":"Update footer.php"}},{"before":"7eef665a1155dafcc4b8defa709c31fbcd3cf4be","after":"c38d349986554f16891ab5d84d9d6636cd252976","ref":"refs/heads/master","pushedAt":"2023-10-01T23:59:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"a869527a7a6ed61761741fbff9604cdf5cb43b42","after":"7eef665a1155dafcc4b8defa709c31fbcd3cf4be","ref":"refs/heads/master","pushedAt":"2023-10-01T23:58:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Add Cepstral voices (#17)\n\n* Adds Cepstral voices\r\n\r\nAll voices are functional. Restrictive rate-limiting is in place on their servers.\r\n\r\n* Update footer.php\r\n\r\n* Update README.md","shortMessageHtmlLink":"Add Cepstral voices (#17)"}},{"before":"4d98213bbd2eaf5b715df92f2bf60a8ef4dcac4e","after":"c36f474030da26d470de576e90164859713b0e99","ref":"refs/heads/cepstral","pushedAt":"2023-10-01T23:56:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":null,"after":"4d98213bbd2eaf5b715df92f2bf60a8ef4dcac4e","ref":"refs/heads/cepstral","pushedAt":"2023-10-01T23:53:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update footer.php","shortMessageHtmlLink":"Update footer.php"}},{"before":"a045f96ed8c8d60c7522ec6a91f6698a8eeec329","after":"a869527a7a6ed61761741fbff9604cdf5cb43b42","ref":"refs/heads/master","pushedAt":"2023-10-01T22:21:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Add Voiceforge voices (#16)\n\n* adds VoiceForge voices\r\n\r\nAdded 26 functional voices.\r\nBased on my testing, character limit seemed to be arbitrary, always somewhere between 540-550 characters in length. I've set the limit to 540.\r\nOne voice resulted in timeouts which has been added to issue #13\r\n\r\n* Update footer.php","shortMessageHtmlLink":"Add Voiceforge voices (#16)"}},{"before":null,"after":"9e459f9b9c6209d61a8ed8f1430d3db6a48d6663","ref":"refs/heads/voiceforge","pushedAt":"2023-10-01T22:18:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Update footer.php","shortMessageHtmlLink":"Update footer.php"}},{"before":"04656114c7b212ced35bb7a89f30a283e937cdf7","after":"a045f96ed8c8d60c7522ec6a91f6698a8eeec329","ref":"refs/heads/master","pushedAt":"2023-08-20T17:14:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Two new TikTok voices added\n\n* Adds Ash Magic's and Olantekkers' voices\n* Changes Lord Cringe designation to American because despite the voice ID suggesting UK, this voice always uses American pronunciations of words in my testing.","shortMessageHtmlLink":"Two new TikTok voices added"}},{"before":"3c40212c44dd42a0e17e0f81ff76e232cd1cd7b8","after":"04656114c7b212ced35bb7a89f30a283e937cdf7","ref":"refs/heads/master","pushedAt":"2023-07-19T14:41:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Acapela no longer adds background noise","shortMessageHtmlLink":"Acapela no longer adds background noise"}},{"before":"c6ff4c2b421b1f5ac66c7ea91a57546edf29bc2a","after":"3c40212c44dd42a0e17e0f81ff76e232cd1cd7b8","ref":"refs/heads/master","pushedAt":"2023-07-16T17:39:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added missing Italian Male voice for TikTok","shortMessageHtmlLink":"Added missing Italian Male voice for TikTok"}},{"before":"4020f14337721255309ddfb422a488f8bb994f75","after":"c6ff4c2b421b1f5ac66c7ea91a57546edf29bc2a","ref":"refs/heads/master","pushedAt":"2023-07-14T19:08:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Differentiated names","shortMessageHtmlLink":"Differentiated names"}},{"before":"d8853da685efc82d80e6f7927436bb9f1d9cd427","after":"4020f14337721255309ddfb422a488f8bb994f75","ref":"refs/heads/master","pushedAt":"2023-07-14T19:02:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added more non-English TikTok voices\n\nalso updates some previously unnamed voices, and adds alternate names for those listed differently in some regions.","shortMessageHtmlLink":"Added more non-English TikTok voices"}},{"before":"08dcbaab4ff0bdcc4949b0ffa8177f0e08e072c1","after":"d8853da685efc82d80e6f7927436bb9f1d9cd427","ref":"refs/heads/master","pushedAt":"2023-07-14T17:02:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Add all missing English TikTok voices","shortMessageHtmlLink":"Add all missing English TikTok voices"}},{"before":"6cae7268c38d7c3ddcce22c88465dd62def3fe7b","after":"08dcbaab4ff0bdcc4949b0ffa8177f0e08e072c1","ref":"refs/heads/master","pushedAt":"2023-07-07T16:25:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Named GTranslate voices with their language\n\nnaming all voices means unset voiceName logic is no longer necessary","shortMessageHtmlLink":"Named GTranslate voices with their language"}},{"before":"71f0a334f600e3dad6534e17f3510c32c1ab61c1","after":"6cae7268c38d7c3ddcce22c88465dd62def3fe7b","ref":"refs/heads/master","pushedAt":"2023-07-07T01:31:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added TikTok Cupid voice","shortMessageHtmlLink":"Added TikTok Cupid voice"}},{"before":"e5a5c0e45b03247d312cd6c0b8a145aa7057fd12","after":"71f0a334f600e3dad6534e17f3510c32c1ab61c1","ref":"refs/heads/master","pushedAt":"2023-07-06T18:56:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Added 6 more TikTok voices\n\nSanta + 5 Spanish language ones","shortMessageHtmlLink":"Added 6 more TikTok voices"}},{"before":"6c0fc36402bb124dbc45a7d5ce0ee4429d7edaa0","after":"e5a5c0e45b03247d312cd6c0b8a145aa7057fd12","ref":"refs/heads/master","pushedAt":"2023-07-06T17:40:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Major refactor of PHP code + improvements and bug fixes (#12)\n\n* Ignore vendor directory\r\n\r\n* Big refactoring of all the PHP code\r\n\r\nEverything had become a bit unwieldy after this project grew to have way more than a single small block of PHP code. Now it's done properly.\r\n\r\n* Add composer files\r\n\r\n* make use of newly refactored PHP\r\n\r\n* sex -> gender\r\n\r\nAlso renames the Novelty filter to Other, now that some services are offering non-binary voices. May want to add a separate filter for NB at a later date.\r\n\r\n* updated comments\r\n\r\n`config.php` is now a requirement but composer handles this for us now\r\n\r\n* add docker compose file\r\n\r\n* header/footer includes\r\n\r\nNo point using a full templating system. This'll do.\r\n\r\n* Fixed/Added support for conversations\r\n\r\n* Fixed playlist display & trying to load null value\r\n\r\n* Add isValidPOSTRequest() + better error msgs\r\n\r\n* Moved playlist functions to their own class\r\n\r\nalso improved js handling of playlist JSON\r\n\r\n* attempt to mkdir(AUDIO_DIR) if !exist\r\n\r\nalso handle potential warnings if it doesn't exist and we can't fix\r\n\r\n* Have composer attempt to mkdir(AUDIO_DIR)\r\n\r\n* Move voices data to its own JSON file\r\n\r\n* Added some new TikTok voices\r\n\r\nAlso renamed existing ones to match the names used in the app\r\n\r\n* Fix path issues\r\n\r\n* request_scheme logic moved to a function\r\n\r\n* methods for setting full path to AUDIO_DIR\r\n\r\n* Fixes for on* events not working with js modules\r\n\r\nThe JS is in dire need of a refactor now\r\n\r\n* loadPlaylist() already handles this bit\r\n\r\n* Consolidated and updated JavaScript\r\n\r\n* More js fixes\r\n\r\n* Fixed emoji flag display\r\n\r\n* Fixed dark mode toggle\r\n\r\n* Imagine making a typo in a comment\r\n\r\n* Separated math in parentheses for easier reading\r\n\r\n* Add a basic stats page\r\n\r\n* Sort stats by usage\r\n\r\n* Fixed display issues at certain resolutions\r\n\r\n* Ensure all Chinese variants are under one grouping\r\n\r\n* updating docblocks and comments\r\n\r\n* var -> let\r\n\r\n* Ensure we don't add 'undefined' as a value\r\n\r\n* triple equals\r\n\r\n* Fix getSelected*() functions not falling back correctly\r\n\r\n* xhr.status is a number not a string\r\n\r\n* lang-selection centered\r\n\r\n* Renamed Gaelic languages\r\n\r\n* Add Bing Translator voices + update readme\r\n\r\n* Renamed Polly to Streamlabs\r\n\r\n* Add StreamElements and made it default\r\n\r\nbecause they have more voices than Streamlabs and less restrictive text limits\r\n\r\n* Update README.md\r\n\r\n* Update demo site words\r\n\r\n* Tabulate stats and add show/hide toggle\r\n\r\n* Conversations don't use shortName\r\n\r\n* Update playlist page\r\n\r\nAlso fixed bug where newlines weren't being respected\r\n\r\n* call addDialogueBox when at least 1 voice chosen\r\n\r\n* Minor code cleanup\r\n\r\n* Save transcript as JSON not raw text file\r\n\r\n* Update README.md\r\n\r\n* Update README.md\r\n\r\n* Code cleanup\r\n\r\nsingle quotes for consistency with my own JS\r\nchanged `let`s to `const`s where applicable\r\n\r\n* This one was supposed to be a let\r\n\r\n* PHP code clean up\r\n\r\n* Removed empty constructors\r\n\r\n* Host speaker icon locally\r\n\r\n* Fixed empty dialogue box being added sometimes\r\n\r\n* Moved playlist save/load logic to own file\r\n\r\n* Fixed playlist share URL","shortMessageHtmlLink":"Major refactor of PHP code + improvements and bug fixes (#12)"}},{"before":"bc86a6fdec8edfd45bb294e8ff156fb03ae8a62f","after":"515de2b74c1b2a1c334ed254825750f8c0e224cd","ref":"refs/heads/refactor","pushedAt":"2023-07-06T17:18:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisjp","name":"Chris Phillips","path":"/chrisjp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/448737?s=80&v=4"},"commit":{"message":"Fixed playlist share URL","shortMessageHtmlLink":"Fixed playlist share URL"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD6qmo_AA","startCursor":null,"endCursor":null}},"title":"Activity ยท chrisjp/tts"}