| @@ 8-45 (lines=38) @@ | ||
| 5 | ||
| 6 | use TTS\Helper\SplitterText; |
|
| 7 | ||
| 8 | class Google extends AbstractAdapter |
|
| 9 | { |
|
| 10 | protected $name = 'Google'; |
|
| 11 | protected $voice = 'famale'; |
|
| 12 | ||
| 13 | protected $languageMap = [ |
|
| 14 | 'en_GB' => 'en', |
|
| 15 | 'en_EN' => 'en', |
|
| 16 | 'ru_RU' => 'ru' |
|
| 17 | ]; |
|
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | public function make($text, $fileName) |
|
| 22 | { |
|
| 23 | $sp = new SplitterText(); |
|
| 24 | $text = iconv('UTF-8', 'UTF-8', $text); |
|
| 25 | ||
| 26 | $lines = $sp->split($text, 100); |
|
| 27 | $content = ''; |
|
| 28 | foreach ($lines as $line) { |
|
| 29 | $query = [ |
|
| 30 | 'tl' => $this->getLanguage(), |
|
| 31 | 'ttsspeed' => $this->getSpeed(), |
|
| 32 | 'q' => $line, |
|
| 33 | 'ie' => 'UTF-8', |
|
| 34 | 'client' => 't' |
|
| 35 | ]; |
|
| 36 | $content .= $this->reguestGet($query); |
|
| 37 | } |
|
| 38 | return $content; |
|
| 39 | } |
|
| 40 | ||
| 41 | public function getUri() |
|
| 42 | { |
|
| 43 | return 'https://translate.google.ru/translate_tts'; |
|
| 44 | } |
|
| 45 | } |
|
| 46 | ||
| @@ 15-51 (lines=37) @@ | ||
| 12 | ||
| 13 | use TTS\Helper\SplitterText; |
|
| 14 | ||
| 15 | class iSpeech extends AbstractAdapter |
|
| 16 | { |
|
| 17 | protected $name = 'iSpeech'; |
|
| 18 | protected $voice = 'male'; |
|
| 19 | ||
| 20 | protected $speed = 0; |
|
| 21 | ||
| 22 | protected $languageMap = [ |
|
| 23 | 'en_GB' => 'en', |
|
| 24 | 'en_EN' => 'en', |
|
| 25 | 'ru_RU' => 'rurussianmale' |
|
| 26 | ]; |
|
| 27 | ||
| 28 | public function getUri() |
|
| 29 | { |
|
| 30 | return 'http://www.ispeech.org/p/generic/getaudio'; |
|
| 31 | } |
|
| 32 | ||
| 33 | public function make($text, $fileName) |
|
| 34 | { |
|
| 35 | $sp = new SplitterText(); |
|
| 36 | $text = iconv('UTF-8', 'UTF-8', $text); |
|
| 37 | ||
| 38 | $lines = $sp->split($text, 100); |
|
| 39 | $content = ''; |
|
| 40 | foreach ($lines as $line) { |
|
| 41 | $query = [ |
|
| 42 | 'voice' => $this->getLanguage(), |
|
| 43 | 'speed' => $this->getSpeed(), |
|
| 44 | 'text' => $line, |
|
| 45 | 'action' => 'convert' |
|
| 46 | ]; |
|
| 47 | $content .= $this->reguestGet($query); |
|
| 48 | } |
|
| 49 | return $content; |
|
| 50 | } |
|
| 51 | } |
|
| 52 | ||