Submit Search
Upload
つ部 2015 09 こわくないネイティブライブラリの使い方
•
Download as PPTX, PDF
•
0 likes
•
1,485 views
Daisuke Takai
Follow
つ部LT大会でしゃべったやつ
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 43
Download now
Recommended
もうすぐ12月ですね
もうすぐ12月ですね
Kazuya Matsubara
Somの分かり易い解説
Somの分かり易い解説
Daisuke Takai
Reinvent first-participation-report
Reinvent first-participation-report
j3miyake
伝わるプレゼン
伝わるプレゼン
Hideaki Miyake
Aizu Security Workshop #1
Aizu Security Workshop #1
Yukiya Nakagawa
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Yu Shibatsuji
SI屋目線のre:Invent2013ランキング
SI屋目線のre:Invent2013ランキング
Minoru Naito
機械学習のはじめかた
機械学習のはじめかた
Bus Hato
Recommended
もうすぐ12月ですね
もうすぐ12月ですね
Kazuya Matsubara
Somの分かり易い解説
Somの分かり易い解説
Daisuke Takai
Reinvent first-participation-report
Reinvent first-participation-report
j3miyake
伝わるプレゼン
伝わるプレゼン
Hideaki Miyake
Aizu Security Workshop #1
Aizu Security Workshop #1
Yukiya Nakagawa
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Yu Shibatsuji
SI屋目線のre:Invent2013ランキング
SI屋目線のre:Invent2013ランキング
Minoru Naito
機械学習のはじめかた
機械学習のはじめかた
Bus Hato
辛い開発を色々使って迂回した話
辛い開発を色々使って迂回した話
s2otsa
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
Go Sueyoshi (a.k.a sue445)
Koi::Bana〜恋に落ちたエンジニア〜
Koi::Bana〜恋に落ちたエンジニア〜
Munenori Sugimura
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
Satoshi KOBAYASHI
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
Atsushi Mizoue
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Yu Shibatsuji
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Yuya Tanaka
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
Shoot Morii
Osc2012tksplt
Osc2012tksplt
Takayuki MARUYAMA
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
Taku Yajima
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
TOC for Education, Japan Branch
20181212_amplfy_console
20181212_amplfy_console
Hisayuki Mori
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
虎の穴 開発室
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
Teppei Sato
More Related Content
Similar to つ部 2015 09 こわくないネイティブライブラリの使い方
辛い開発を色々使って迂回した話
辛い開発を色々使って迂回した話
s2otsa
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
Go Sueyoshi (a.k.a sue445)
Koi::Bana〜恋に落ちたエンジニア〜
Koi::Bana〜恋に落ちたエンジニア〜
Munenori Sugimura
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
Satoshi KOBAYASHI
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
Atsushi Mizoue
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Yu Shibatsuji
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Yuya Tanaka
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
Satoshi Yamada
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
Shoot Morii
Osc2012tksplt
Osc2012tksplt
Takayuki MARUYAMA
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
Taku Yajima
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
TOC for Education, Japan Branch
20181212_amplfy_console
20181212_amplfy_console
Hisayuki Mori
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
虎の穴 開発室
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
Teppei Sato
Similar to つ部 2015 09 こわくないネイティブライブラリの使い方
(16)
辛い開発を色々使って迂回した話
辛い開発を色々使って迂回した話
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
Koi::Bana〜恋に落ちたエンジニア〜
Koi::Bana〜恋に落ちたエンジニア〜
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
気の合う人達と社外で社内勉強会
気の合う人達と社外で社内勉強会
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Slack超入門 〜メッセージングアプリが変えるコラボレーションのかたち〜
Pythonで業務改善をしたときにあった問題(ライト版)
Pythonで業務改善をしたときにあった問題(ライト版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
Osc2012tksplt
Osc2012tksplt
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
30分でできる!「アウェイ」でTOCfEを広めるための「追体験アプローチ」_2014tTOCfEシンポジウム_06
20181212_amplfy_console
20181212_amplfy_console
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
goog.require()を手書きしていいのは小学生まで
goog.require()を手書きしていいのは小学生まで
つ部 2015 09 こわくないネイティブライブラリの使い方
1.
こわくない ネイティブライブラリの 使い方 つ部 Android勉強会 2015年9月
LT大会 で~ご@dego_96 2015/09/26
2.
はじめましての人は はじめまして
3.
お久しぶりの人は お久しぶりです
4.
そうでない人は ちわっす(。・ω・)ノ゙
5.
で~ごです
6.
自己紹介 名前 : で~ご
@dego_96 仕事 : なんちゃってSE
7.
自己紹介 名前 : で~ご
@dego_96 仕事 : なんちゃってSE
8.
自己紹介 名前 : で~ご
@dego_96 仕事 : なんちゃってSE
9.
自己紹介 名前 : で~ご
@dego_96 仕事 : なんちゃってSE
10.
今日のおはなし
11.
以前のつ部で…
12.
13.
14.
15.
16.
17.
18.
19.
20.
で、
21.
今は簡単に しゃべらせる方法が わかったので
22.
そのお話です。
23.
① OpenJTalkを使ってみる ② Android用にクロスコンパイル ③
Androidアプリへ組み込む 今回やったこと
24.
① OpenJTalkを使ってみる
25.
OpenJTalkとは 入力された日本語テキストに基づいて自由な音 声を生成するHMMテキスト音声合成システム 名古屋工業大学の徳田・李研究室で開発
26.
OpenJTalkのコンパイル ソースコード ・OpenJTalk v1.07 ・HTS_engine v1.08 コンパイル $
./configure $ make ※ コンパイル方法の詳細は省略
27.
OpenJTalkの実行 辞書や音声パラメータなどを指定して実行 実行コマンドの例 $ ./bin/open_jtalk -x ./open_jtalk_dic_utf_8-1.07 –m
./voice/mei_normal.htsvoice –ow out.wav ./test.txt ※ 詳細は省略
28.
② Android用に クロスコンパイル
29.
AndroidでCライブラリを使う方法 (1) Android.mkを書く (2) ソースコードを修正して 共有ライブラリ化 (3)
バイナリをそのままアプリに入れる
30.
AndroidでCライブラリを使う方法 (1) Android.mkを書く (2) ソースコードを修正して 共有ライブラリ化 (3)
バイナリをそのままアプリに入れる
31.
クロスコンパイルでやること (1) NDKを準備 (2) toolchainの設定 (3)
環境変数の設定(コンパイラのパスなど) (4) arm-linuxを指定して ./configure (5) make ※ OpenJTalkのMakefileは最後にバイナリ実行するため、 一時的にx86でビルドしたファイルをコピー
32.
② Android用に クロスコンパイル
33.
https://goo.gl/5HkQDR
34.
Androidアプリに組み込む assetsフォルダにOpenJTalk一式を入れる ⇒ 1Mを超えるサイズなのでzip圧縮 ⇒ 初回起動時に解凍
35.
Androidアプリに組み込む assetsフォルダにOpenJTalk一式を入れる ⇒ 1Mを超えるサイズなのでzip圧縮 ⇒ 初回起動時に解凍 解凍先は /data/data/パッケージ名/
36.
ここで予想外の事態が…
37.
Zipファイルのサイズ 25M
38.
解凍後のサイズ 82M
39.
トータルのアプリサイズ 110M
40.
でかい… orz
41.
Androidアプリに組み込む 解凍したバイナリをProcessBuilderで Javaから実行 コマンドの実験やテストはPCでできるので楽 ProcessBuilder processBuilder =
new ProcessBuilder(command); processBuilder.redirectErrorStream(); Process process = processBuilder.start(); ※ command はString配列
42.
動かしてみる
43.
致命的な問題ががが
Download now