Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VoiceText Web APIでのGolang利用事例のご紹介
Search
tmaeda
January 21, 2015
Technology
2
2.1k
VoiceText Web APIでのGolang利用事例のご紹介
Golang meetup in Sapporo 2015/01/21 #sapgolang
tmaeda
January 21, 2015
Tweet
Share
More Decks by tmaeda
See All by tmaeda
アクターモデルの話
tmaedax
7
1.7k
Jupyter(主にnotebook)のご紹介
tmaedax
1
1.3k
それ NArray でできるよ
tmaedax
18
11k
AngularJSのご紹介
tmaedax
12
6.4k
静的型付き関数型言語のススメ
tmaedax
3
1.3k
Other Decks in Technology
See All in Technology
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
190
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
160
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
17
4.5k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
130
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
490
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
13k
Why Our Code Smells
bkeepers
PRO
335
57k
Gamification - CAS2011
davidbonilla
80
5.1k
Speed Design
sergeychernyshev
25
670
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Embracing the Ebb and Flow
colly
84
4.5k
Site-Speed That Sticks
csswizardry
2
190
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Transcript
7PJDF5FYU8FC"1* Ͱͷ(PMBOHར༻ࣄྫ ͷ͝հ !UNBFEB͑ʹ͠ςοΫ (PMBOHNFFUVQJO4BQQPSP
!UNBFEB w ג ͑ʹ͠ςοΫͰΤϯδχΞΛ͍ͯ͠·͢ɻ w3VCZͷࣄ͕ଟ͍Ͱ͢ɻ w࠷ۙ5ZQF4DSJQUͱ͔3FBDUͱ͔ JQZUIPO QBOEBTͱ͔ʹڵຯ͕͋Γ·͢ɻ wԑ͋ͬͯɺ͙͜͜Β͍গ͚ͩ͠(P͍ͬͯ ·͢ɻ
ຊͷ͓ w7PJDF5FYU8FC"1*ͷ͝հ w(PΛͬͯΈͯͷײ
7PJDF5FYU8FC"1* w)0:"αʔϏεגࣜձ༷͕ࣾӡӦ͍ͯ͠Δߴ ࣭Ի߹αʔϏεͰ͢ɻ w8FC"1*ͷΠϯλʔϑΣʔε෦ฐࣾͰ։ൃ ͷ͓ख͍Λ͖ͤͯ͞·ͨ͠ɻ
7PJDF5FYU8FC"1* curl "https://api.voicetext.jp/v1/tts" \ -o "test.wav" \ -u "YOUR_API_KEY:" \
-d "text=͓Α͏͍͟͝·͢" \ -d “speaker=hikari" \ -d “emotion=happiness” \ -d “emotion_level=2”
7PJDF5FYU8FC"1*ͷߏ Portal(Rails) Wrapper (Go)! ར༻ऀ VoiceText Engine Ի߹αʔόʔ Heroku Postgre!
SQL ɾϩά ɾϢʔβʔ ೝূɺϩάॻࠐ Ϣʔβʔ! ొ Ϣʔβʔొ LoadBalancer APIར༻
গ͠ͷؒɺσϞ͔ͶͯɺVoiceText Ͱ͠·͢ɻ showͰ͢ɻςϨϏ౦ژܥྻʮϞϠ ϞϠ͞·͊ʙͣ2ʯͱ͍͏൪ͷφ ϨʔγϣϯΛ୲͍ͯ͠·͢ɻ
ͳͥ(Pʁ wͱฒྻੑ w$ͷϥΠϒϥϦͱͷੑ w։ൃޮ hikariͰ͢ɻ
ͳͥ(Pʁ wͱฒྻੑ w$ͷϥΠϒϥϦͱͷੑ w։ൃޮ takeruͰ͢ɻ
ͳͥ(Pʁ wͱฒྻੑ w$ͷϥΠϒϥϦͱͷੑ w։ൃޮ harukaͰ͢ɻ
ͳͥ(Pʁ wͱฒྻੑ w$ͷϥΠϒϥϦͱͷੑ w։ൃޮ bearͰ͢ɻ
σϞ͓͠·͍ santaͰ͢ɻ
ྑ͔ͬͨͱ͜Ζ GoΛͬͯΈͯ
࣮ߦ w$΄ͲϝϞϦཧϙΠϯλͷཧʹؾΛΘ ͳͯ͘ࡁΉ͕ɺ$ͱಉఔͷ͕ͰΔɻ wHPSPVUJOFͱDIBOOFMΛར༻ͯ͠ɺൺֱత؆୯ʹ ϚϧνίΞΛ׆͔͢ฒྻϓϩάϥϛϯά͕Ͱ͖ Δɻ
$ͱͷੑ wඞཁ࠷খݶͷखଓ͖ Ͱɺ$Ͱॻ͔Εͨ֎ ෦ϥΠϒϥϦͷؔ Λݺͼग़ͤΔɻ package rand ! /* #include
<stdlib.h> */ import "C" ! func Random() int { // Cͷੈքͷrandom()ؔΛݺͼग़ͯ͠ // ݁ՌΛgoͷੈքͷintʹมͯ͠ฦ͢ return int(C.random()) } ! func Seed(i int) { // goͷੈքͷintܕͷiΛCͷੈքͷuintʹมͯ͠ɺ // CͷੈքͷsrandomؔʹҾͱͯ͢͠ C.srandom(C.uint(i)) }
੩తνΣοΫ wίϯύΠϧ࣌ʹ੩తܕνΣοΫ͕ಇ͘ͷͰɺ ͠ΐʔͳ͍ϛείϯύΠϧ࣌ʹ͛Δɻ wͦͷଞɺએݴͨ͠ͷʹͬͯͳ͍มͱ͔ɺͬ ͯͳ͍ύοέʔδͱ͔ࢦఠͯ͘͠Εͯɺ݁ߏ ɻ
ॆ࣮ͷϥΠϒϥϦ wඞཁ࠷ݶͷϥΠϒϥϦඪ४Ͱଗ͍ͬͯΔɻ wɺจࣈྻɺਖ਼نදݱɺྻNBQͳͲͷ ίϯςφɺ࣌ؒɺύʔαʔɺ04ɺωοτϫʔ Ϋɺ҉߸ɺѹॖɺϩάͳͲͳͲɻ wΦʔϓϯιʔεͷϥΠϒϥϦ͍Ζ͍Ζ͋Δɻ
γϯϓϧͳݴޠ༷ wΫϥεͳ͍͚ͲɺܕʹϝιουΛੜͤΔͷͰ ࠔΒͳ͍ɻ wྫ֎ॲཧػೳͳ͍͚ͲɺෳฦΓͰͦΜͳʹ ࠔΒͳ͍ɻ w(FOFSJDTͳ͍͚ͲɺྻͱNBQͰཁૉͷܕΛ ࢦఆͰ͖ΔͷͰɺଟ͘ͷέʔεͰࠔΒͳ͍ɻ
HPGNU wݴޠඪ४ͷίʔσΟϯάن͕͋ͬͯɺHPGNUί ϚϯυΛ͏ͱܗͰ͖ΔͷͰɺίʔσΟϯά نʹ·ͭΘΔफڭઓ૪͕ى͖Δස͕গͳ͍ɻ
ݴޠ༷͕҆ఆ w݁ߏසൟʹ(PͷόʔδϣϯΞοϓ͕ߦΘΕΔ ͕ɺେ͖͘ڍಈ͕มΘͬͯޓੑͷ͕ى͖ Δɺͱ͍͏͜ͱ͕͋·Γͳ͔ͬͨʢগͳ͘ͱ ͜Ε·Ͱʣɻ
ͪΐͬͱෆຬͳͱ͜Ζ
දݱྗ͕গͳΊ w(FOFSJDTཉ͍͠ wతσʔλܕͱύλʔϯϚονཉ͍͠
ϥΠϒϥϦͷػೳ࣭ w͍ظؒɺଟ͘ͷਓʹ͍ࠐ·Εͨڥ +BWBͱ ͔3VCZͱ͔ ͱൺֱ͢ΔͱɺϥΠϒϥϦͷػೳ ࣭͕·ͩख़͍ͯ͠ͳ͍ײ͡ɻ wࣗಈςετڥ wจࣈίʔυมʢ͍ΘΏΔʮμογϡʯ ͱ͔ʣ wGPSL
FYFDඇޮ
·ͱΊ
·ͱΊ wଟগͷෆຬ͋Δͷͷɺશମతʹඇৗʹ όϥϯεͷऔΕͨྑ͍ݴޠɾڥͰେม࣮༻త ͳͷͰେม͓͢͢ΊͰ͖·͢ɻ w7PJDF5FYU8FC"1*ΛͲ͏ͧ͝ርʹɻ ͬͯgolang