たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

マイク(音声入力)でブログを書いてみた

iPhoneの音声入力でブログの記事を書いてみた

今は2時10分
これからブログを書き始める
実際に音声入力をしてみた事は以前に会って音声入力の精度が高い事はよく知っている
ただ考えながらしゃべる書きながら考えると言うのとは違う感じで喋りながら書くとどうなのか試したことがなかった
実際普段しゃべる時と同じように考えながらしゃべってるだけでまぁ何とかなってそうな気もするんだけどまぁとりあえず書いてみている
これを書き始めたきっかけはネットに同じような記事が堕ちてたから
どうもブラウザ経由で音声入力をできるものはあったみたいなんだけどもiPhoneSafariのブラウザでは動かなかったのでこちらの?ブログにiPhoneのしりの音声入力を使って入力をしている
ここまでで2時11分

書いていて思うのは箇条書きとかをしながら書いてるからまとまったのがいきなりかけるわけで喋りながら書いてると何を次喋ろうかっていうのはあんまりピンとこない
多分もともと思ってることを頭の外に出すと言う形で音声入力使うにはさそうだけどいろいろ考えたり調べながら私りしながら使うにはちょっと厳しそう
後窯内で入力するのが意外と難しそうな感じがするね
改行できないってのもちょっと辛い
まぁ後々に整形しなきゃいけないっての考えるとそうでもないのかな
何よりもブラインドタッチはできるけどスピードが普通犬と比べるとしゃべる方がやっぱり早いね

マハ新書について マハ新書の良いところはやっぱり発信したいと思った時に発信できることだと思う
頃増(※Goroman氏) が指摘した通りある意味で同時に指摘である強い雨釣りみたいなもんで売れてるところも強いんだろうけれども
止まらずにその情熱でものを書くためにはどうしても時間をかけないと言う工夫が必要
そこで音声入力です
Twitterでも見たんだけども音声入力で書くとアウトプットの時間は明らかに短くなる
実際このブログを書いてる時もものすごい短い
後はこれをどこまで圧縮するか、お金をつけて人に売ると言う意味でどこまでクオリティーを求めるか
まぁ自分を切り売りしてるようなものだから中途半端な中途半端ではいいのか人をがっかりさせるねん
違うか自分が許せるLINEを決めてそこまでどれくらい編集をするかって言う程度問題だと思う
私としてはブログに書き散らかしているものに評価をもらってワンボックスか何かで100円位もらえると嬉しいと言う感じではあるかな

........
以上は、改行 (と一箇所だけ注釈)を除いて無修正
所要時間は約3分、テクノロジーの進歩は凄いなぁ。

私を支援してくれ!!!!

てワンボックスか何かで100円位もらえると嬉しいと言う感じではあるかな

ワンボックスちゃう、FANBOXだ! 頑張れSiri!
というわけで、「お、良い記事だな。応援したろ」という方、Pixiv FANBOXでのご支援お待ちしてます
もっといい記事、もっとたくさん書くよ!
www.pixiv.net

オススメの記事

ここにたどり着きそうな人が興味ありげな記事

Oculus Go開発

tarepan.hatenablog.com

脳科学とVR、私は博士の卵なので

tarepan.hatenablog.com

コトバの語源

tarepan.hatenablog.com

f:id:tarepan5884:20180511025013p:plain

GmailからGoogle Calendarに予定を登録

Gmailへ決められた形式で予定のメールを送ると、Google Calendarにその予定が自動登録される.
その方法を調べてみた.

概要

仕組み

schema.orgが定める形式に則って予定をメールする。
メールはhtmlメール。JSON-LD等が形式として定められている。
Gmailサーバー側がschema.org対応しており、必要な情報を利用してGoogle Calendarを更新する。

Gmailが対応する Event Type

  • Event Reservation
  • Flight Reservation
  • Hotel Reservation
  • Restaurant Reservation

Google Calendar  |  Email Markup  |  Google Developers

Gmailから試してみたい!

ウェブのgmailから送っても駄目だよ (試したけどNG)
どうもhtmlタグを認識してくれないらしい.
Google Apps Script サーバーが簡単なのでそこでテスト用に送りましょう。

実装

まずはこれに従うことをお勧めする。
自力でやるとどはまる.
Apps Script Quickstart  |  Email Markup  |  Google Developers

google apps scriptについてよい記事
qiita.com

しかしapps scriptはES6未対応。なんてこった.

markup checker by Google
メール マークアップ テスター

注意事項

  • 本人からメールしないと最初はだめだよ. どはまったよ
  • LD-JSONでmarkupするところ、不要なコンマはだめだよ。はまったよ
  • endDateの更新には微妙なタイムラグがあるよ。ちょっと待ってね. はまった

私を支援してくれ!!!!

「お、良い記事だな。応援したろ」という方、Pixiv FANBOXでのご支援お待ちしてます
もっといい記事、もっとたくさん書くよ!
www.pixiv.net

電脳世界と"ココ"に名前を付ける

  • 身体界
  • 物理界

  • 電脳世界

物理

physics, physical
ココの物理法則
物理: 物の理, rule of x

「Bullet世界の物理法則はUnity世界の物理法則と違うからねー」

魂の容れ物/化身: アバター
魂の器

アバターがタンパク質/脂質/炭水化物で構成されている世界
アバターが化合物で構成されている世界

電脳世界: アバターがbitで構成されている世界
bitをどんな化合物で表現するかは、手段であって本質ではない。パンチカードでもいいし、真空管でもいいし、CMOSゲートでもいいし

物理エンジンと物理シミュレーション プラットフォーム

重力や衝突を計算する物理エンジン、それを搭載した3D物理シミュレーションプラットフォームって色々ある。色々ありすぎる! 故にまとめた.

物理エンジン

  • Open Dynamics Engine (ODE)
  • Simbody
  • Dynamic Animation and Robotics Toolkit (DART)
  • Bullet
  • Havok
  • Physx

プラットフォーム

GazeboはODE, Bullet, Simbody, DART
Gazebo : Tutorial : Gazebo Architecture

Godotは3.0からBullet
Godot Engine - Godot 3.0 switches to Bullet for physics

UnityはPhysx

UEもPhysx
Physics Simulation

CG/GamingとRoboticsで随分と違う感じが
アカデミックではOSSが好まれそうなのもあるかな

物理シミュレーションと関節とコリジョン

関節を挟んだ2つの剛体は、物理シミュレーションで干渉し合うのか。
multibodyのシミュレーションには必須の知識だけど、プラットフォーム跨いだ知識がなかった故まとめた。

疑問

関節 (joint) を挟む2つの剛体 (rigidbody) は、物理シミュレーション中に衝突 (collision)しないのか。
いわゆるrig & skinned-mesh方式は明らかに衝突しないのだが、multibody & joint方式はそうと限らない。
むしろある種のシミュレーションでは、干渉が無いか確かめる用途に使うことだってできる。
はて、どっちなんだ?

調べてみた

対象プラットフォーム/物理エンジン:

Unity

設定あり!

Enable Collision
Configurable Joint - Unity マニュアル

Bullet & Godot

設定できるはずだが、バクがあるもよう?
github.com

知識0から始めるOculus Go開発

Oculus Go欲しい!買った!
…Oculus系のVR、開発したことないやん…。開発環境やプラットフォーム知らない…。
この記事は、そんな人がOculus Goアプリを0から開発した記録である。

早見表

about description
ストア Oculus Store (steam: ×)
基本環境 Android N
開発プラットフォーム Unity, Unreal, Oculus Mobile SDK(C++)
Web 標準搭載 (webVR-ready)
特別な機能 FFR, throttling, 72Hz mode

Store

Oculus Go (以下、OG)にはストアがあるのか? Steamとか使えるのか??

=> Oculus storeがあるよ。Steamは使えないかな

Oculus storeは、Oculusのハードウェア・ソフトウェアを売ってるサイト. (名前合ってるのか?)
OGもここから買えたよ

基本環境

OSはLinux? Android? 独自OS?
=> Android Nベースで1、OSレベルの最適化をかけたものってカーマック神が言ってた2.

開発プラットフォーム・開発環境

Unityは使える? (使えないはずないよな……?)

=> これらが開発プラットフォーム3

  • Unity
  • UE4
  • Oculus Mobile SDK
  • (WebVR) Oculus Mobile SDKC++とのこと。
    素直にUnity, UEを開発環境/プラットフォームとするのが良いかな Oculusのリストには入っていないけど、WebVRでの開発も熱い。Amazon Sumerianとか出てきてるし。

Webは?

ブラウジングは出来る? A-frameとかのwebVRは?

=> ブラウザは標準搭載だよ 4。webVRも使えるよ5

browser in Oculus
Youtubeを開いてみた

他のブラウザ

あるのかな?
=> ストアからは見つからんかった。まあ標準ブラウザ優秀そうだから!

特別な機能は?

なにか特別な機能があるのかな

=> あるよ!

  • Fixed Foveated Rendering : 領域ごとに解像度を変え、GPUを節約
  • Dynamic Throttling : 性能制限…だと思う
  • 72 Hz mode : 通常設定60Hzからブースト

Fixed Fove

固定 中心窩 レンダリング。そのまんまだね
人の目は、中心窩(Fovea)と呼ばれる中央領域で解像度良く見えるように設計されてる。
いわゆるFoveated Renderingは、eyeトラッキングを使って、中心窩へ映る画面を推定し、そこの解像度だけ上げよう、という技術。
Fixed Foveは、ユーザーの視点が決まってる(Fixed)と仮定して、アイトラッキングなしで解像度に差をつける仕組み.
ようは事前指定した領域ごとに解像度を変えるってことね
www.google.co.jp

実開発

公式ガイドが一番だが、それをまとめた概要を書く。概要つかんだら、各所に貼ってあるリンク先を読んで開発してね.
(最速初動開発はWebVR!!!)

めちゃくちゃ簡単.
ほぼbuild&run押して終わり

環境構築/初期設定

以上だけで初期設定は完了! (実機で確認なう 2018-06-01)
あとはUnityなりなんなりで好き放題開発.

Android開発環境の準備

下の概要読んだらこの公式読みながら環境構築してね

まずは最新版のAndroid Studioをインストール.
次に、Android Studio中のSDK Managerから以下のソフトを指定されたバージョンでインストール.
最新版が自動インストール済みのソフトは、指定バージョンを追加でインストールすること.

そしたら、これらのソフトがAndroid Studioから使われるように環境変数 (Path含む) の設定.

OculusGo開発環境の準備

基本的には上記の"Go実機デプロイの準備"のとおり。
この公式見ながらやればおk

Oculus Go ADB Driverのインストール

Win機の場合、これが必要.

Unityのセットアップ

Unityそのもののセットアップはほかに任せる。まあほぼインストーラーで自動だけど。
そのうえで、Go開発のためのセットアップがいくつか必要。
これ公式ドキュメント

adb / Android Debug Bridgeの利用

開発機からOGへデプロイする際に、adbを利用する.
adb利用にはDeveloper Modeをオンにする必要があり、さらにそのためにOculus Developer DashboardでのOrganization作成が必要 (作成は任意の名前入れてNDAに合意するだけ)6

osig / Oculus Signature Fileは不要

モバイル開発ページにはosigが要ると書いてある7が、Goには不要8
ストア提出時には消す必要もある9し、むしろ無いべき

アプリ開発とデプロイ

with Unity

Unityなら標準のデプロイ (ほぼbuild&runおすだけ) developer.oculus.com

デバッグと撮影

adbのpathを通したうえで、
adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG
するだけ。簡単!
撮影は
adb shell screenrecord /sdcard/hoge.mp4
で録画、
adb pull /sdcard/hoge.mp4
でGoから取り出すだけ。簡単!!

WebVR

Amazon Sumerian環境での開発、A-frameでの手書きともにチェック済み。OculusのブラウザからサックとVR-mode入れるのでとても楽.
なんとかここの章を充実させたい (充実させて独立させたい) 所存.

有機能の利用

実用時のtips

自動スリープ・自動起動

Oculus Goは額位置にあるセンサーで判断される自動スリープがある。
またセンサーが暗くなったことを自動で感知して起動する仕組みもある。
が、展示目的だと何かと不便。
設定画面からこれらの自動機能を切れるようになった。 「ないが…?」という方はOSがちょっと古い

links

私を支援してくれ!!!!

「お、良い記事だな。応援したろ」という方、Pixiv FANBOXでのご支援お待ちしてます
もっといい記事、もっとたくさん書くよ!
www.pixiv.net

change log

v0.1.0 : 2018-05-02T06:00+09:00 早起きしたらF8で発売発表されたので、ノリでGoを注文、何もわからんので記事を書いた
v0.2.0 : 2018-05-02T09:00+09:00 実開発の手順を追記
v0.3.0 : 2018-05-02T17:00+09:00 PixivFANBOX始めてみた
v0.3.1 : 2018-05-02T17:00+09:00 参考文献の脚注行き、早見表の追加
v0.4.0 : 2018-05-04T10:00+09:00 ブラウザ標準搭載に訂正
v0.5.0 : 2018-05-05T11:30+09:00 webVR対応を自機で検証、web関係整理
v0.6.0 : 2018-05-05T12:30+09:00 実開発の整理
v0.6.1 : 2018-06-01T01:00+09:00 Android環境のリンク修正
change logはsem. ver. (X.Y.Z)で、Xを記事全体のリライト, Yを個別節のリライト, Zを内容を変更しないリライトとしています。
v0.7.0 : 2018-06-01T01:02+09:00 WebVR開発を新規追加
v0.8.0 : 2018-06-01T02:00+09:00 Android開発環境の追記 (自環境でのチェック)
v0.9.0 : 2018-07-02T22:02+09:00 録画・デバッグ方法
v.0.10.0: 2019-03-16T15:53+09:00 自動起動/スリープの制御を追記

unimportant info

Oculus Browser

Oculus StoreにもwebVR対応10Oculus Browserがある. しかし、OG非対応…11? まあ標準ブラウザ使おう


  1. > We recommend developing for Oculus Go and Gear VR with the following tools. Everything You Need to Know To Develop for Oculus Go | Oculus

  2. 自機でA-frame(webVR)含め検証済み

  3. > However, turning on access to adb to push application builds to an Oculus Go device requires “Developer Mode” be turned on, which in turn requires that you have created an Organization on the Oculus Developer Dashboard.

  4. > Your application must include an Oculus Signature File or osig. Build and Upload Android Applications

  5. > We recommend removing your Oculus Signature File before building your application for submission. Build and Upload Android Applications

  6. > Note that Oculus Go applications do not require “osig” files to run on retail devices. Everything You Need to Know To Develop for Oculus Go | Oculus

  7. > Enjoy super sharp text, images, and videos of existing 2D websites, as well as amazing performance of new 3D WebVR content.

  8. > Unsupported Device: Oculus Go Oculus Browser | Oculus