๋ด Google STT API ํค๋ฅผ ์ค์ ํ๋ ํ(mycroft ๊ณ์ ) ์์ด mycroft๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ํ ์ ํํ ์ค๋ช ์ ์ฐพ์ ์ ์์ต๋๋ค. ๋๋ ์งง์ ์ค๋ช hele์ ๋ฐ๋ผ ๊ทธ๊ฒ์ ํ ์ ์์ต๋๋ค: https://github.com/MycroftAI/mycroft-core#using-mycroft-without-home .
์ด๋์์ ๊ฐ์ด๋๋ฅผ ์ฐพ์ ์ ์์ต๋๊น?
๊ฐ์ฌ ํด์.
api.mycroft.ai์ ๋ํ ์ข ์์ฑ์ ๋นํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
1) ์ปค์คํ google_cloud stt API ํค๋ฅผ ์ค์ ํ์ต๋๋ค.
2) /home/mycroft/.mycroft/mycroft.conf์ "server.update": false๋ฅผ ์ค์ ํ์ต๋๋ค.
ํ์ง๋ง ์ฌ์ ํ ๋ก๊ทธ์ ๋ค์ ์ค์ด ์์ต๋๋ค.
~14:48:28.473 - requests.packages.urllib3.connectionpool - DEBUG - ๋์ด์ง ์ฐ๊ฒฐ ์ฌ์ค์ : api.mycroft.ai14:48:29.084 - requests.packages.urllib3.connectionpool - ๋๋ฒ๊ทธ - https://api.mycroft.ai :443 "GET /v1/device HTTP/1.1" 401 3814:48:29.104 - requests.packages.urllib3.connectionpool - DEBUG - ์ HTTPS ์ฐ๊ฒฐ ์์(1): api.mycroft.ai14:48:29.645 - requests.packages.urllib3.connectionpool - ๋๋ฒ๊ทธ - https://api.mycroft.ai :443 "GET /v1/auth/token HTTP/1.1" 401 38~
์์?
๋ถํํ๋ ๋๋ mycroft ๋ฌธ์๊ฐ ๊ณ ๊ธ ์ฌ์์ ์ํด ๋งค์ฐ ๋ถ์์ ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ํน์ ๊ตฌ์ฑ์ ๋ํ ์์ค ์ฝ๋๋ฅผ ๊ฒ์ฌํ๋ ๋ฐ ํ์ํฉ๋๋ค.
๊ทธ๊ฒ์ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ํ๋ก์ ํธ์ด๊ณ ๋๋ ๊ทธ๊ฒ์ ์ข์ํ์ง๋ง ๋ฌธ์๋ฅผ ๊ฐ์ ํ์ญ์์ค.
์๋ ํ์ธ์ @Josca ์ฐ๋ฆฌ๋ ๊ณ์ํด์ ๋ฌธ์ ์์ ์ ํ๊ณ ์์ง๋ง
google_cloud stt๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋๋ฉด mycroft์ ๋ํํ๊ณ ์๊ฐ๊ณผ ๊ฐ์ ๊ฒ์ ์์ฒญํ ์ ์์ต๋๋ค.
ํญ๋ชฉ์ ์ถ๊ฐํ์ฌ ๊ตฌ์ฑ์์ ํ์ด๋ง ๊ธฐ์ ๋ฐ ๊ตฌ์ฑ ๊ธฐ์ ์ ๋ธ๋๋ฆฌ์คํธ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
"skills" {
"blacklisted_skills": ["skill-media", "send_sms", "skill-wolfram-alpha", "skill-pairing", "skill-configuration"]
}
๊ธฐ์ ์ค์ ๊ณผ ๊ฐ์ ํญ๋ชฉ์์ mycroft ์๋ฒ์ ๋ํ ์ฐ๊ฒฐ ์คํจ๊ฐ ๊ณ์ ํ์๋ ์ ์์ต๋๋ค. ์ด๊ฒ๋ค์ ์์ง ์ ๋ฐ์ดํธ ๊ฐ์น๋ฅผ ์กด์คํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค, ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
์ฝ๋๋ฅผ ๋ณด๊ณ ๋ช ๊ฐ์ง ์ ์ฉํ ๊ฒ๋ค์ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ ์ํด ์ฌ๊ธฐ์ ๋ถ์ฌ๋ฃ์ต๋๋ค. ๋ฌธ์์ ํฌํจํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ก์ปฌ ๊ตฌ์ฑ /home/mycroft/.mycroft/mycroft.conf
์ ์ผ๋ถ ์์
~json..."stt": {"๋ชจ๋": "google_cloud","google_cloud": {"์๊ฒฉ ์ฆ๋ช
": {"json": {}}}},...~
mycroft mimic
ํจํค์ง ๋์ google tts๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด:
~json..."tts": {"๋ชจ๋": "๊ตฌ๊ธ","Google": {"lang": "en-us","๋๋ฆผ": ๊ฑฐ์ง}},...~
mycroft mimic
ํจํค์ง ๋์ espeak tts๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด:
ํ @KathyReid
Google TTS๊ฐ ๋ก์ปฌ์์ ์๋ํฉ๋๊น? ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๊น?
Google TTS๋ ๋ก์ปฌ์์ ์๋ํ์ง ์์ผ๋ฉฐ ์๊ฒฉ ์๋น์ค์ ๋๋ค. (๊ทธ๋ฌ๋ ๋น์ ์ ๊ทธ๊ฒ์ ์ํด mycroft-servers๊ฐ ํ์ํ์ง ์์ต๋๋ค)
@YogeshSingla , Google TTS๋ ์๊ฒฉ์ด์ง๋ง ๋ฌด๋ฃ ์๋น์ค์ ๋๋ค. ๋ฑ๋ก๋ ํ์ ์์ต๋๋ค. ํ์ง๋ง ์ด ์๋น์ค์ ์๋์ด ๋ณด์ฅ๋์ง๋ ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. Python gTTS ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค. Google ์์ฒด์์ ์ง์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ๋จํ๊ณ ์ง์ญ์ ์ธ ์๋ฃจ์ ์ผ๋ก espeak๋ฅผ ๊ถ์ฅํฉ๋๋ค. ํ์ง์ ํฌ์ง ์์ง๋ง ์ ๋ขฐํ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ espeak
ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
~sudo apt-get ์ค์น espeak~
๋ก์ปฌ์์ ์คํ๋๋ Mimic ๋์ ๋ก์ปฌ tts์ espeak๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค. ๋๋ ์์ ๋ก์ด ์ด์ ๋ฅผ ์๊ฐํ ์ ์์ต๋๋ค. ์์งํ ๋น์ ์ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
๋๋ ๋ํ ํ์ ํผํ๋ ์ด์ ์ ์ ์ฌํ๊ฒ ๊ด์ฌ์ด ์์ต๋๋ค. ๋ค์ ๋งํ์ง๋ง, ๋๋ ๋ช ๊ฐ์ง๋ฅผ ์๊ฐํ ์ ์์ง๋ง ๋น์ ์ด ๊ธฐ๊บผ์ด ๊ณต์ ํ ์ ์๋ค๋ฉด ๋น์ ์ ์๊ฐ์ ์๊ณ ์ถ์ต๋๋ค.
@penrods
Espeak๋ Mimic, Google TTS ๋ฑ์ ๋นํด ํ์ง์ด ์๋นํ ๋ฎ์ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค.
๋ง์ ์ฅ์ ์ด ์์ต๋๋ค:
๋ชจ๋ฐฉ์ ๊ธด ๋น๋๊ฐ ํ์ํฉ๋๋ค. ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ํจํค์ง๋ก Mimic์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋จํ ๊ฐ์ด๋๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค. mycroft-core ๋ฅผ ์ค์ ํ ๋ skip mimic
์ต์
( bash dev_setup.sh -sm
)์ ์ค์ ํฉ๋๋ค.
Espeak๋ ํ์ค ๋ฐ๋น์ ํจํค์ง์ด๋ฏ๋ก ์ค์น ๋ฐ ์ฌ์ฉ์ด ๋งค์ฐ ์ฝ์ต๋๋ค.
Espeak๋ ์ ๋ชจ๊ตญ์ด์ธ ์ฒด์ฝ์ด๋ฅผ ํฌํจํ ๋ง์ ์ธ์ด ๋ฅผ ์ง์ํฉ๋๋ค. Mimic์ ๋ฌธ์ ์์ ์ง์๋๋ ์ธ์ด ๋ชฉ๋ก์ ๋ณด์ง ๋ชปํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์์ด์ ๊ฐํ๊ฒ ์ด์ ์ ๋ง์ถ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(์ดํดํ ์ ์๋ ์ด์ ๋๋ฌธ์).
Espeak๋ ํนํ ๊ฐ๋ฐ ๋จ๊ณ์์ ๋งค์ฐ ๋์์ด ๋๋ ๊ฐ์ง๊ณ ์์ต๋๋ค. Mimics๋ ๊ทธ๋ ๊ฒ ํ ์ ์์ง๋ง ํ ์คํธํ์ง๋ ์์์ต๋๋ค.
์ด๋ฌํ ์ด์ ๋ก ๊ฐ๋ฐ ๋ชฉ์ ์ ์ํ ์ต์์ ์๋ฃจ์ ์ผ๋ก ๋ฐ๊ฒฌํ์ต๋๋ค.
picotts๋ ์ ์ฌํ๊ฒ ๋น ๋ฅด์ง๋ง ๋ด๊ฐ ์๋ ํ ๋ ๋์ ์ถ๋ ฅ ํ์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค(์ฒด์ฝ์ด์ ๋ํด์๋ ๋ชจ๋ฆ ๋๋ค) - ํ์ฌ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ Mycroft์ ํจ๊ป ์ฌ์ฉํ ์ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ํ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ์์กดํ์ง ์๋ ๋ ๋ฆฝ์ ์ธ Mycroft๊ฐ ์๋ํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ฐ๋ฆฌ์ ๋ชฉํ ์ค ํ๋๋ ์ด ๋ง์ ๋ถ๋ถ์ ๊ฐ๋ฅํ ํ "๋ก์ปฌ"๋ก ์ฎ๊ธฐ๋ ๊ฒ์ด์ง๋ง ์ ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์ธ์ด๋ฅผ ์ง์ํ๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๊ทธ ๋์ ์ฐ๋ฆฌ๋ ๋ํ ๋จ์ํ ์ฅ๋๊ฐ์ด ์๋ ์ค์ฉ์ ์ธ ์กฐ์๋ฅผ ๊ฐ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ ํ์ฌ ์ฐ๋ฆฌ๋ ์์ ํ ์คํ๋ผ์ธ ์ด์์ ๋ฌ์ฑํ๋ ๋ฐ ํ์ํ ๊ธฐ์ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ๋ฆฝ์ ์ผ๋ก ํํธ๋์ ํ๋ ฅํ๋ฉด์ ์ผ๋ถ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ฐ๋ผ์ ๊ทธ ๋์์๋ ์ด์ ์ธ๋ TTS ์์ง์ ์ด๋ฑํ ์ฌ์ฉ์ ๊ฒฝํ์ ์ง์ํ๊ธฐ ์ํด ๊ฐ๋ฐ ๋ฆฌ์์ค์ ์ง์คํ์ง ์์ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋ณด๊ณ ์ถ๋ค๋ฉด PR์ ์ ์ถํ๋ ๊ฒ์ _์ ๋__ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํต์ฌ ํ์ ์ฑ๋ฅ์์ ํํดํ๊ณ ๊ธฐ์ ์ด ์๋ ๊ธฐ์ ์ ๊ณจ๋ชฉ์ผ๋ก ๋ค์ด๊ฐ๋ ๊ฒ๋ณด๋ค DeepSpeech ๋ฐ Mimic/Mimic2์ ๊ฐ์ ๊ฐ๋ฐฉํ ๊ธฐ์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ต๋๋ค. ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ง์ํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
๋์ฒด TTS ์์ง์ ์ง์ํ๊ธฐ ์ํด dev_setup.sh ์คํฌ๋ฆฝํธ ๋๋ ๋ฌธ์์ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ถํ๊ณ ์ถ๋ค๋ฉด ๊ธฐ๊บผ์ด ์ ์ถํ๊ฒ ์ต๋๋ค. ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ํ ๋จ๊ณ ๋ ๋์๊ฐ๋ ๊ฒ์ผ๋ก ๋ณด์ง๋ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ๋ฌด์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์๊ฐ์ด ์ ํ๋์ด ์๊ณ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃฐ ๊ฒ์ ์ ํํด์ผ ํฉ๋๋ค.
@penrods ์ด๊ฒ์
ํผ์ฝง ๋ฑ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ง ์๋ ์ด์ ๋ฅผ ์ค๋ช ํ๋ฉด ์์ ํ ์ดํด๋ฉ๋๋ค! ๋๋ ๋ชจ๋ฐฉ์ด ์ค๋๋ ์คํ๋ผ์ธ TTS ์์ง์ผ๋ก ์๋ฒฝํ๊ฒ ์คํ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค(์, ๋น๋ํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉฐ ์ผํ์ฑ์ ๋๋ค). ์ฐ๋ฆฌ๋ "์คํ๋ผ์ธ" STT๋ฅผ ์ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์์ ์ ํ๊ณ ์์ต๋๋ค. ์ค์ ๋ก๋ ๊ฐ๊น์ด ์์ผ ๋ด์ "๊ฐ์ธ ํด๋ผ์ฐ๋" ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๊น์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ ๋ฃ๊ณ ์ฌํ๋ค. ์ ๋ ํ์ฌ ํด๋ผ์ฐ๋๋ฆฌ์ค ์ค๋งํธ ํ ์๋ฃจ์ ์ ์ฐ๊ตฌํ๊ณ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ค ์์ผ๋ก๋ ํด๋ผ์ฐ๋์ ์ฐ๊ฒฐํ์ง ์์ต๋๋ค.
MyCroft๊ฐ ์์ฑ ์ ์ด๋ฅผ ์ํ ์ข์ ์๋ฃจ์ ์ด ๋ ์ ์๋์ง ์ดํด๋ณด๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์น์ ํด๋ผ์ฐ๋ ์ฐ๊ฒฐ์ด ์์ด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด๊ฐ ์๋ํ ์ฒญ์ค์๊ฒ๋ ์ ์ด๋ ์์ง ๋จธ์ ๋ฌ๋ ํ๋์จ์ด๊ฐ ์ผ๋ฐํ๋ ๋๊น์ง๋ ์์ด๋ก๋ง ๋งํ๋ ์ ํ์ด ํ์ฉ๋๋ ์ ์ถฉ์์ ๋๋ค.
๋๋ ๋ํ MyCroft๊ฐ ์ค์ ๋ก Tacotron TTS ์์ง ๋ฒ์ ์ ๋ง๋ค์๋ค๋ ๊ฒ์ ์์์ฐจ๋ ธ์ต๋๋ค. ์์ฉ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๊น?
https://github.com/MycroftAI/mimic2
์ฝ๊ฐ์ ์ง์ ์ด ์์๊ณ ๊ฐ์ธ ๋ฐฑ์๋ ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ํ๋ก์ ํธ๋ ์ฌ์ ํ ๋งค์ฐ WIP์ด๋ฉฐ STT์ ๋ํด ์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ๋ก์ปฌ ๋คํธ์ํฌ์ ๊ฐ๋ ฅํ ์์คํ ์์ ์คํ๋๋ deepspeech์ ๋ก์ปฌ ์ธ์คํด์ค์ ํจ๊ป deepspeech_server ๋ฐฑ์๋์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํํธ Selene-Backend (home.mycroft.ai ๋ค์ ์๋ ์ํํธ์จ์ด ์คํ)๊ฐ ๋์ค์๊ฒ ๊ณต๊ฐ๋์์ต๋๋ค.
์ฌ๊ธฐ ์๋ ๋ชจ๋ ๊ตฌ์ฑ์ด ์ง๊ธ์ ๋ฌธ์์ ํฌํจ๋์ด ์์ง๋ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Selene์ด ๋ฆด๋ฆฌ์ค๋์๋ค๊ณ ์๊ฐํ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค, ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
์ฝ๋๋ฅผ ๋ณด๊ณ ๋ช ๊ฐ์ง ์ ์ฉํ ๊ฒ๋ค์ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ ์ํด ์ฌ๊ธฐ์ ๋ถ์ฌ๋ฃ์ต๋๋ค. ๋ฌธ์์ ํฌํจํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ก์ปฌ ๊ตฌ์ฑ
/home/mycroft/.mycroft/mycroft.conf
์ ์ผ๋ถ ์์ ~json..."stt": {"๋ชจ๋": "google_cloud","google_cloud": {"์๊ฒฉ ์ฆ๋ช ": {"json": {}}}},...~mycroft
mimic
ํจํค์ง ๋์ google tts๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด:~json..."tts": {"๋ชจ๋": "๊ตฌ๊ธ","Google": {"lang": "en-us","๋๋ฆผ": ๊ฑฐ์ง}},...~mycroft
mimic
ํจํค์ง ๋์ espeak tts๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด:~json..."tts": {"๋ชจ๋": "๋งํ๋ค","๋งํ๋ค": {"๋": "์"}},...~