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.2k
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.5k
静的型付き関数型言語のススメ
tmaedax
3
1.4k
Other Decks in Technology
See All in Technology
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
330
OPENLOGI Company Profile
hr01
0
67k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
160
Claude Code に プロジェクト管理やらせたみた
unson
6
3.7k
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.1k
OPENLOGI Company Profile for engineer
hr01
1
34k
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
300
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
6.8k
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
430
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
270
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
9
3.9k
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Optimizing for Happiness
mojombo
379
70k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Six Lessons from altMBA
skipperchong
28
3.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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