{"id":21413195,"url":"https://github.com/github0013/google_tts_plugin","last_synced_at":"2026-03-03T21:31:13.986Z","repository":{"id":5667211,"uuid":"6876745","full_name":"github0013/google_tts_plugin","owner":"github0013","description":"this gem overrides `adhearsion#say` and use google tts to speak.","archived":false,"fork":false,"pushed_at":"2015-12-02T07:55:41.000Z","size":23,"stargazers_count":4,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-14T04:39:43.238Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/github0013.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-27T03:15:50.000Z","updated_at":"2014-10-09T14:17:17.000Z","dependencies_parsed_at":"2022-07-07T04:31:29.698Z","dependency_job_id":null,"html_url":"https://github.com/github0013/google_tts_plugin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/github0013/google_tts_plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github0013%2Fgoogle_tts_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github0013%2Fgoogle_tts_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github0013%2Fgoogle_tts_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github0013%2Fgoogle_tts_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github0013","download_url":"https://codeload.github.com/github0013/google_tts_plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github0013%2Fgoogle_tts_plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30062345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T18:17:29.382Z","updated_at":"2026-03-03T21:31:13.950Z","avatar_url":"https://github.com/github0013.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"GoogleTTSPlugin\n==========================\nthis gem overrides `adhearsion#say` and uses google tts to speak( [try](http://translate.google.com/translate_tts?tl=en\u0026q=this%20is%20a%20sample%20tts%20audio%20from%20google%20tts.) ).\n\nit can\n\n- speak in many languages \n- change speech speed\n- change speech volume\n- seed sln files from CSV\n\n``` ruby\n# languages\n{\"Afrikaans\"=\u003e\"af\", \"Albanian\"=\u003e\"sq\", \"Amharic\"=\u003e\"am\", \"Arabic\"=\u003e\"ar\", \"Armenian\"=\u003e\"hy\", \"Azerbaijani\"=\u003e\"az\", \"Basque\"=\u003e\"eu\", \"Belarusian\"=\u003e\"be\", \"Bengali\"=\u003e\"bn\", \"Bihari\"=\u003e\"bh\", \"Bosnian\"=\u003e\"bs\", \"Breton\"=\u003e\"br\", \"Bulgarian\"=\u003e\"bg\", \"Cambodian\"=\u003e\"km\", \"Catalan\"=\u003e\"ca\", \"Chinese (Simplified)\"=\u003e\"zh-CN\", \"Chinese (Traditional)\"=\u003e\"zh-TW\", \"Corsican\"=\u003e\"co\", \"Croatian\"=\u003e\"hr\", \"Czech\"=\u003e\"cs\", \"Danish\"=\u003e\"da\", \"Dutch\"=\u003e\"nl\", \"English\"=\u003e\"en\", \"Esperanto\"=\u003e\"eo\", \"Estonian\"=\u003e\"et\", \"Faroese\"=\u003e\"fo\", \"Filipino\"=\u003e\"tl\", \"Finnish\"=\u003e\"fi\", \"French\"=\u003e\"fr\", \"Frisian\"=\u003e\"fy\", \"Galician\"=\u003e\"gl\", \"Georgian\"=\u003e\"ka\", \"German\"=\u003e\"de\", \"Greek\"=\u003e\"el\", \"Guarani\"=\u003e\"gn\", \"Gujarati\"=\u003e\"gu\", \"Hacker\"=\u003e\"xx-hacker\", \"Hausa\"=\u003e\"ha\", \"Hebrew\"=\u003e\"iw\", \"Hindi\"=\u003e\"hi\", \"Hungarian\"=\u003e\"hu\", \"Icelandic\"=\u003e\"is\", \"Indonesian\"=\u003e\"id\", \"Interlingua\"=\u003e\"ia\", \"Irish\"=\u003e\"ga\", \"Italian\"=\u003e\"it\", \"Japanese\"=\u003e\"ja\", \"Javanese\"=\u003e\"jw\", \"Kannada\"=\u003e\"kn\", \"Kazakh\"=\u003e\"kk\", \"Kinyarwanda\"=\u003e\"rw\", \"Kirundi\"=\u003e\"rn\", \"Klingon\"=\u003e\"xx-klingon\", \"Korean\"=\u003e\"ko\", \"Kurdish\"=\u003e\"ku\", \"Kyrgyz\"=\u003e\"ky\", \"Laothian\"=\u003e\"lo\", \"Latin\"=\u003e\"la\", \"Latvian\"=\u003e\"lv\", \"Lingala\"=\u003e\"ln\", \"Lithuanian\"=\u003e\"lt\", \"Macedonian\"=\u003e\"mk\", \"Malagasy\"=\u003e\"mg\", \"Malay\"=\u003e\"ms\", \"Malayalam\"=\u003e\"ml\", \"Maltese\"=\u003e\"mt\", \"Maori\"=\u003e\"mi\", \"Marathi\"=\u003e\"mr\", \"Moldavian\"=\u003e\"mo\", \"Mongolian\"=\u003e\"mn\", \"Montenegrin\"=\u003e\"sr-ME\", \"Nepali\"=\u003e\"ne\", \"Norwegian\"=\u003e\"no\", \"Norwegian (Nynorsk)\"=\u003e\"nn\", \"Occitan\"=\u003e\"oc\", \"Oriya\"=\u003e\"or\", \"Oromo\"=\u003e\"om\", \"Pashto\"=\u003e\"ps\", \"Persian\"=\u003e\"fa\", \"Pirate\"=\u003e\"xx-pirate\", \"Polish\"=\u003e\"pl\", \"Portuguese (Brazil)\"=\u003e\"pt-BR\", \"Portuguese (Portugal)\"=\u003e\"pt-PT\", \"Portuguese\"=\u003e\"pt\", \"Punjabi\"=\u003e\"pa\", \"Quechua\"=\u003e\"qu\", \"Romanian\"=\u003e\"ro\", \"Romansh\"=\u003e\"rm\", \"Russian\"=\u003e\"ru\", \"Scots Gaelic\"=\u003e\"gd\", \"Serbian\"=\u003e\"sr\", \"Serbo-Croatian\"=\u003e\"sh\", \"Sesotho\"=\u003e\"st\", \"Shona\"=\u003e\"sn\", \"Sindhi\"=\u003e\"sd\", \"Sinhalese\"=\u003e\"si\", \"Slovak\"=\u003e\"sk\", \"Slovenian\"=\u003e\"sl\", \"Somali\"=\u003e\"so\", \"Spanish\"=\u003e\"es\", \"Sundanese\"=\u003e\"su\", \"Swahili\"=\u003e\"sw\", \"Swedish\"=\u003e\"sv\", \"Tajik\"=\u003e\"tg\", \"Tamil\"=\u003e\"ta\", \"Tatar\"=\u003e\"tt\", \"Telugu\"=\u003e\"te\", \"Thai\"=\u003e\"th\", \"Tigrinya\"=\u003e\"ti\", \"Tonga\"=\u003e\"to\", \"Turkish\"=\u003e\"tr\", \"Turkmen\"=\u003e\"tk\", \"Twi\"=\u003e\"tw\", \"Uighur\"=\u003e\"ug\", \"Ukrainian\"=\u003e\"uk\", \"Urdu\"=\u003e\"ur\", \"Uzbek\"=\u003e\"uz\", \"Vietnamese\"=\u003e\"vi\", \"Welsh\"=\u003e\"cy\", \"Xhosa\"=\u003e\"xh\", \"Yiddish\"=\u003e\"yi\", \"Yoruba\"=\u003e\"yo\", \"Zulu\"=\u003e\"zu\"}\n```\n\n## Installation\n\nMake sure you have `sox` installed (+ `mpg123` on centos - CentOS Prerequisite http://ofps.oreilly.com/titles/9780596517342/asterisk-Initial.html)\n\n    # centos\n    sudo yum install mpg123 # CentOS Prerequisite http://ofps.oreilly.com/titles/9780596517342/asterisk-Initial.html\n    sudo yum install sox\n\n    # ubuntu\n    sudo apt-get install sox libsox-fmt-all\n\n    # osx\n    brew install sox\n\nAdd this line to your adhearsion application's Gemfile:\n\n    gem 'google_tts_plugin', git: \"https://github.com/github0013/google_tts_plugin.git\"\n\nAnd then execute:\n\n    bundle\n\n## Usage\n\n``` ruby\n# config/adhearsion.rb\nAdhearsion.config.google_tts_plugin do |config|\n  config.save_to = \"/where/you/wanna/save/speech/files\" # make sure you have permissions write\n  config.language = \"ja\" \n  config.speed = \"120%\"\n  config.volume = \"130%\"\n  #config.google_tts = \"change here if google changes tts uri\" \n  config.mpg123_path = \"/usr/bin/mpg123\" # change it to your path or nil if not installed (but required on centos)\n  config.sox_path = \"/usr/bin/sox\"       # change it to your path\nend\n\n\n# your CallController\nclass SimonGame \u003c Adhearsion::CallController\n  # make sure you include this line\n  include GoogleTTSPlugin::ControllerMethods\n\n  def run\n    say \"世界の皆さんこんにちわ\" # \"ja\" set at config\n    say \"hello world!\", language: \"en\" # can change at runtime\n    say \"hello world!\", language: \"en\", speed: \"200%\", volume: \"200%\"\n  end\nend\n```\n\n# tasks\n\n`rake google_tts_plugin:seed[csv_file]`\nDownloads .mp3 from google, convert and save in .sln.\nSince **say** in your **CallController** will do this at run time, its initial call can delay and you can prevent it with this task.\n\n``` csv\ntext,language,speed,volume\nhello world,,,\n世界の皆さんこんにちわ,ja,50,80\n```\n*`text` is required  \nPlugin default values will be applied for blanks.\n\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub0013%2Fgoogle_tts_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub0013%2Fgoogle_tts_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub0013%2Fgoogle_tts_plugin/lists"}