【VMWare Host Client】仮想マシンをコピーする方法
やりたいこと:
↓
LinuxにItamaeをインストールしてみた
Objective-CでReKognition使って顔認識する(ios7)
楽天カフェのハッカソンでReKognition(顔認識のWebAPI)を使っているチームがいくつかあったので、自分もiPhoneで顔認識させてみた。
orbe.us | ReKognition - Welcome to Rekognition.com
ReKognitionは単に画像から顔認識して顔情報(顔の部品の位置/年齢/表情/性別など)を取得できるだけじゃなくて,顔画像の学習とクラスタリングが可能.
なので,今回は「顔と名前」をReKognitionのサーバーに保存・学習させて,クラスタリングさせてみた.
おおざっぱな流れ:
- ReKognitionのSDKを導入する
- ReKognitionで「顔と名前」を追加・学習
- 実装(AVFoundationでカメラ起動・顔認識)
上記のサイトでSDKをダウンロード.
ダウンロードしたZIPを開くと,サンプルのXcodeプロジェクトがある.開く.
重要そうなコードはViewController.mのここ.緑のコードで画像をリクエストする.
レスポンスで受け取ったJSON文字列をパースすれば使えるようになる.
README.mdの中を見れば,他に使えるコードも書いてある.
サンプルプロジェクトにある以下のファイル集を
Xcodeに移せば,上記の緑コードが使える.
2.ReKognitionで「顔と名前」を追加・学習させる
まずアカウントを登録.
次に,Go to Face Control Panel に移動して「顔と名前」を追加登録.
Trainを押すと学習開始.顔認識の準備完了.
NameSpaceとUserIDは後の実装で使うので覚えておく.
3.実装
フレームワーク.いろいろ試行錯誤してたら,たくさん導入してた.
多分いくつか不必要なのがある.
ストーリーボード.
顔認識ボタンを押すと,表示中のImageViewで顔認識する.
認識して名前が取得できたら,名前を表示する.
コード.RekognitionSDK.m に API_Key と API_Secret を入力.
コード.ヘッダーファイルとメソッドファイル
顔のクラスタリングが出来たら,色々できそうですね.
Objective-Cで音声認識 (ios7)
Docomoさんがios7.0用に音声認識SDKを提供してくれているので使ってみた.
手順1:Docomoさんのページにログインする(初めてなら新規登録)
ログイン | docomo Developer support | NTTドコモ
手順2:アプリケーション利用申請をする
ログインして「マイページ」を選択するとAPIの申請が可能
申請の際には,アプリの名前や説明が必要.個人的に戸惑ったのは以下の2点.
iosのアプリに組み込むので「ネイティブ」を選択.
そして,コールバックURLは https://dummyでOKです.
後は適当に入力して申請OK.
そしたら,APIを利用するときに使う「api_key」がもらえます.
api_keyはこんな感じの数字と文字列の集まり.(一部隠しています)
手順3:SDKを導入するために,まずダウンロード
このページの「最新版をダウンロード(ZIP)」でダウンロードする.
API/ツールの概要 | docomo Developer support | NTTドコモ
以下のURLからも2014年11月の時点で最新版のSDKをダウンロードできます.
https://devsite-pro.s3.amazonaws.com/contents_file/SpeechRecSDK_iOS_v1.0.0.zip
ダウンロードしたら,ドキュメントに沿ってSDKの導入をします.
手順4:「Build Setting」 で設定
手順5:フレームワークを設定
手順6:以下の3つのファイルを自分のXcodeにドラッグ&ドロップする
・libSRClientHelper.a
・model_140319.dat
・SRClientHelper.h
このときにAdd to targetsにチェックをすること!
手順7:[重要] Build Setting で Other Linker Flags に -ObjC を記入
これをしないと,実行したとき 以下のエラーが出る.
[NSConcreteMutableData SR_stringByBase64Encoding] unrecognized selector sent to instance.
手順8:実装する
手順9:結果
起動後にボタンを押してから「やっほー」としゃべった結果がこちら.
GoogleSpeechAPIで音声をささっとテキスト化
音声をテキスト化するRESTのAPIって全然ない.
唯一GoogleSpeechAPIだけ見つかったので実装した.
その方法を紹介.
手順1:SpeechAPIの利用準備
SpeechAPIは特別なGoogleのAPI.もともと非公認なAPI(今も非公認?)だけあって,利用するまでの方法が他のGoogleのAPIと少し違う.
まず始めに,Chromium-devグループに加入します.加入には特に申請手続きは必要なく,簡単に登録できます.
https://console.developers.google.com/project?authuser=0
次に,GoogleConsoleを開いて,自分のプロジェクトの作成します.
そしたら,GoogleSpeechAPIの利用ON,公開キー(ブラウザ)を取得します.
手順2:Webの記事を参照する
以下の記事を参照しました.
mobilebiz: TwilioとGoogle Speech APIを使った音声変換について
個人的に一番参考になった記事.これをもとにTwilioの音声データをテキスト化しましたので,必要そうな情報が取得できました.ただ,この記事は2013年度のもので若干古め.実際,GoogleSpeechAPIは今はversion2だが,この記事はversion1である.
gillesdemey/google-speech-v2 · GitHub
最新のGoogleSpeechAPIのversion2のドキュメントが書いてある記事.コードは特にないので,コピペとかはできないが,仕様の参考にはできる.
How to convert .flac to .mp3 using PHP - Stack Overflow
GoogleSpeechAPIを使って音声ファイルをテキスト化にするには,音声ファイルの拡張子を flac にする必要があるみたい.なので,拡張子の変換の際に ffmpeg コマンドを利用した.別に ffmpegじゃなくて良い.
手順3:ちょいと実装
google_speech_api.php と wave_editor.php を二つ実装
PHPで音声結合や合成など加工するときに使えるサイト
PHPで録音した音声を結合したり,音声にBGMを付けたりできないかなと思ってGoogle先生に調べたら,いろいろでてきた.
このサイトは音声合成・結合・音程変更ができるPHPソースコードを唯一アップしているサイト.動作確認済みで,すごく便利!
ffmpegやmp3wrapコマンドをインストールして実行させる
フェード処理・ローパスやハイパスのフィルタができる.
もちろん結合とかもできる.持っていて損はないかもコマンド.
いろいろ音質操作できるっぽい
ffmpegをインストールから基本操作まで書いてある
http://linux-suomi.net/modules/sinyD0/index.php?id=18
ffmpeg で時間単位やフレーム単位でカットする方法 : ニコニコ動画研究所
音声から波形が作れるライブラリなど
http://www.ejeliot.com/pages/downloads-scripts
PHPでAITalkさんの音声合成APIを利用してみた
音声合成ソフトで自然な読み上げを実現【株式会社エーアイ(AI)】
以下手順.
1.DocomoさんのサイトでDeveloper登録をする
何故かDocomoさんで登録すると,エーアイさんの音声合成APIがすぐに利用できる.
API/ツールの概要 | docomo Developer support | NTTドコモ
2.RESTのAPIの使い方を把握する
リクエストを送る際のヘッダーやボディの仕様が予め決定されているので,確認する.
今回使う機能は「SSML」詳しくは以下のサイトを参照.
https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=71#tag01
3.実装した
途中で詰まった部分があったけど,OKWaveで質問したら素晴らしい方が回答してくれたおかげで,なんとか実装できました.ありがとうございました.
[PHP] AITalkの音声合成APIで困った#8782761 【OKWave】