2020年4月2日木曜日

スマホからテスト

メインブログに雑言を書くのもどうかなーと思い、bloggerにダラダラ書いていこうということで。

相変わらず書き始めで詰まるんですが、最近は体の歪みを少しでもとっていこうと一人でちまちまストレッチなどをしています。矯正したいのはO脚、外反母趾、内反小趾あたり(整体に行くべきなんだけど、時間に余裕のあった頃でもお店に入る勇気が出なかったので…コミュ障を先に治すべきでは)。

O脚は通常、若干膝下気味、つま先、かかとをくっつけたときに膝の皿が内側を向くので構造的ではなく機能的なもの→ストレッチで多少はなんとかなるだろうというとても甘い考え。
愛され脚をつくる2習慣レシピ という本に書いてあるとおりに実行中。4日目で特に変化はなし。


外反母趾、内反小趾は昨日気づいたので特にまだ調べてない。寝指(小指が横を向いている)もあった。

親指しんどい_(:3 」∠ )_


2018年3月22日木曜日

GCPの感情解析

かなーり前に作成したもので、自分でも存在を忘れていたので、完全に忘却しないように。

ニコ生等のコメントを対象に感情解析をかけてます。得られる情報は、そのコメントがポジティブなのかネガティブなのか、その強さ。
他のメーカーの感情解析はもっと詳細な情報を得られるものもあります(喜怒哀楽と4つのパラメーターがあるもの等)。Googleの感情解析も進化しないかな(他のエンジンは使うのが(個人的に)面倒くさい)

2018年2月28日水曜日

Unityを初めて触った時のメモ

なんかゲーム作ってみたいよね、ということで少しだけ触ってみました。

目標もなしにダラダラすると十中八九何も得られないままやめてしまうので、適当に目標を設定しました(設定しても挫折s

大きな目標
 ■音楽ゲームを作る。

中くらいの目標
 ■音ズレ対策

小さな目標
 ■タップ判定を取得(シングル、マルチ)
 ■音楽を鳴らす(BGM、SE)
 ■タイトル、シーン遷移を行う
 ■セーブデータの読み書き
 ■タップエフェクト(パーティクルもしくは普通のオブジェクト)
 ■音符の生成
 ■解像度に応じた画面サイズの調整
 ■当たり判定周り
 ■同時押し、フリック、長押しの処理
 ■
 ■
 ■…(いっぱい)

その他雑記
 ■なぜUnityにしたのか。
→単純に日本語の情報が多そうだったから。
シンプルな2Dゲームを作ろうとしていたので大体どのゲームエンジンでも問題ないかなと思いましたが、今までいくつかのソフトを作った時、コードを手当たり次第コピペすることが非常に多く、コードが多そうなものを(この辺りはドキュメントを基準に作っていく等して重度のコピペマン病からほんの少しでも脱却したい)
 1つのゲームエンジン固執するのは良くなさそうなので、もし余裕ができればUE4やDefoid等も触ってみたい、かも。


今までやったこと
・本を買う(買ったもの:Unityの教科書 Unity2017完全対応版)
・Unityのダウンロード、インストール
・↑のスクリプト部分までを写経する(ここで既に混乱。ゲームエンジンではないし比較対象にすらならないけど、VB.Netのお手軽さに涙)
・↑のサンプルゲーム(ルーレット)を作る。
 四苦八苦しつつプレビューで何とか動き、Build&Runをしようとするとエラー。
 Buildだけをしてapkファイルを移そう→ビルドエラー。
 どうもJDKのバージョンが悪かったらしく、jdk1.8.0_162を入れたらビルドできた。
・サンプルゲーム2つ目を作成途中。
・寄り道してタップ情報の取得を試みる→なんとかできた。
・ヒエラルキー内の文字の色の違いはなんだろう。
・VS2017の補完機能が使えない…とりあえずMonodevelopを使用。でも使いにくい…
2018-02-28

メモURL
【Unity】複数カメラを使ってみてつまづいたこと。分かったこと。
http://naichilab.blogspot.jp/2013/07/unity.html

Unityでメインカメラとサブカメラを同時に画面表示
https://qiita.com/WassyPG/items/a53889dc00b01999d47a

unityで音ゲーのモックを作りました
http://developer-ryo.hatenablog.com/entry/2015/11/11/232205

2018年1月20日土曜日

ニコ生ミラー補助ツール

n番煎じですが、作ってみたかったので作ってみました。
ニコ生だけでなく、Twitch、Youtube、Mixerも同一ウィンドウ内に表示できます(埋め込みコードの取得が必要)
音声ON/OFF、ラベルの添付も。要するにRTAのミラーに特化?した?ツールです。対応プラットフォームが上記のみなのもそういうことです。



こういうの作ったよっていう報告記事なので、適当ですがこれくらいで。

2018年1月11日木曜日

OCR精度確認

OCRソフトの認識精度チェック

使用したソフト
・Capture2Text
・GT Text
・Panasonic 読取革命 15
・Google Cloud Platform - VisionAPI Text Detection
・Office Lens(字幕のみ)

検証方法
様々なフォントで書かれた文字、ゲームの字幕を各OCRソフトで認識させる。
前者は単純な認識精度、後者は背景が単色ではない場合の認識精度を見る。

フォントの種類:207種類
フォントサイズ:8,12,16pt
文字列:ABCDE FGHIJ KLMNO PQRST UVWXYZ 12345 67890

連結させた画像を読み取る。
利用させていただいたサイト:全標準フォント一覧 / フォントシミュレーター
http://dekasu.net/fonts/

































ゲーム一覧
Ori and the Blind Forest
Crypt of the NecroDancer
Rabi-Ribi
Getting Over it
ICEY

連結させた画像を読み取る。


















結果:

概要

8pt12pt16pt
読取革命1.964.524.96
Capture2Text4.145.315.54
GT text2.594.975.30
GCP5.946.606.74
※スペースで区切られた文字がそれぞれ正確に認識されているか。
スコアは各0~7。全てのフォントに対するスコアの平均を表に示している。


フォントに関してはGoogle Cloud Platform 1強、字幕に関してはGCP、Office Lensが抜きん出ている。全体的にGCPがより優秀。

Capture2Text、GT Textについては余白を限りなく減らせば多少認識精度が上がったが、上記ソフトには及ばない。

使い勝手諸々を考慮すると、今回検証した中ではCapture2Textが良さそう。
GCPはプログラムを組む必要がある、一定以上の利用は有料の為、少し頑張らないといけない。リアルタイムで使用する必要がなければ、Googleドキュメントに画像を読み込ませれば同様のことが可能。

(今回GCPのプログラムは以下のようにした(サンプルコードをVB.netに書き換えただけ))

 Dim image As Image = Image.FromFile("ファイルパス")
        Dim client As ImageAnnotatorClient = ImageAnnotatorClient.Create
        Dim response = client.DetectDocumentText(image)
        Dim count As Integer = 0

        For Each page In response.Text
            If count = 0 Then
                Textbox1.AppendText(response.Text)
                count = 1
            End If

        Next







2017年12月23日土曜日

html5コメジェネで、配信プラットフォーム毎にスキンを切り替えて表示

経緯
・[目的]多重配信において、各配信サイトでのコメントをまとめて表示したい。
・kilinさん作html5コメントジェネレータがマルチプラットフォーム対応してる(凄い)
・はなげさんがコメントの投稿元をコメジェネに追記出来るように改造する方法を公開
 →どの配信サイトからのコメントなのか一目瞭然!

…経緯を書いていたら目的が既に達成されていることに気づいてしまいましたが…まぁ、あれです。プラットフォーム毎にスキンを変えられたらもうちょっと見栄えを良くすることが出来るんじゃないかなと。

てわけで適当に弄ってたらなんか上手くいったので、備忘録として残しておきます。

(初期設定は済ませ、正常にコメジェネが作動している、をスタート地点とします。)


1. コメジェネ内のskinsフォルダを開き、画像ファイル名を以下のように変更します。
skins_00_basic.png
skins_01_nico.png [ニコ生]
skins_02_youtube.png [Youtube live]
skins_03_twitch.png [Twitch]
skins_04_fresh.png [FRESH!]
skins_05_abemafresh.png [Abemafresh]
skins_06_openrec.png [OPENREC]

画像の中身は適切なものに変更して下さい。
通し番号の後ろは自分が判別できる名前であれば結構ですが、コメジェネ側でアルファベット順に読み込まれるので、通し番号は付けて下さい。



2. hcg_settingを開き、スキンの設定を「ランダム」にします。フォルダのパスは、コメジェネのフォルダ内にある「skins」にしておいて下さい。


3. CommentGenerator_multi.htmlを開きます。メモ帳で開くと体裁がかなり崩れるので、高機能なエディタ(VSCode、Mery等)を使用することをおすすめします。


4. 109行目辺り(以下のような記述がある所)
if(xml[i].getAttributeNode("service").value == "nicolive") {
handle = "【ニコ生】" + handle;
~
を、
//ここから
var num_plat = 0;


if(xml[i].getAttributeNode("service").value == "nicolive") {
 handle = "【ニコ生】" + handle;
 num_plat =1
} else if(xml[i].getAttributeNode("service").value == "youtubelive") {
 handle = "【YouTube】" + handle;
 num_plat =2
} else if(xml[i].getAttributeNode("service").value == "twitch") {
 handle = "【twitch】" + handle;
 num_plat =3
} else if(xml[i].getAttributeNode("service").value == "FRESH") {
 handle = "【FRESH!】" + handle;
 num_plat =4
} else if(xml[i].getAttributeNode("service").value == "AbemaFresh") {
 handle = "【FRESH!】" + handle;
 num_plat =5
} else if(xml[i].getAttributeNode("service").value == "OPENREC") {
 handle = "【OPENREC】" + handle;
 num_plat =6
}
//ここまでを追記しただけ

に、その下の
var CGen = new CommentGenerator(handle, fixComment(xml[i].firstChild.nodeValue), HcgFormat, TxtFormat);

を、
var CGen = new CommentGenerator(handle, fixComment(xml[i].firstChild.nodeValue), HcgFormat, TxtFormat, num_plat);

に書き換え、上書き保存します。


5. CommentGenerator.jsを開き、最初の方にある
function CommentGenerator(Handle, Comment, hcgFormat, txtFormat)

を、
function CommentGenerator(Handle, Comment, hcgFormat, txtFormat, num_plat)

に書き換え、118行目辺り
var filename = xml.getElementsByTagName('skin')[
Math.floor(Math.random() * xml.getElementsByTagName('skin').length)
].firstChild.nodeValue;

を、
var filename = xml.getElementsByTagName('skin')[num_plat].firstChild.nodeValue;

に書き換え、上書き保存します。


以上です。上手くいけば↓のようになると思います 。


文字の位置調整は、CommentGenerator.jsを開いて、
"「"や"」"で検索すると出てくる場所(this.textcomment = new createjs.Text(~~)
にスペースを入れると簡単に調整できます(雑)。

2017年10月29日日曜日

読み上げのちょっとしたメモ

Limechatの読み上げで、日本語と英語でTTS変更
(文章中に日本語が含まれていたら日本語エンジン使用)

・Limechat2のダウンロード、インストール
・マクロ設定で棒読みちゃんを指定。
  ユーザー:%me|*
  コマンド:Privmsg
  チャンネル:#チャンネル名
  メッセージ:
  自分の状態:なし
  送信者の状態:なし

  動作:ExecuteMinimize
  動作の情報:"...\RemoteTalk.exe" /T "%m"

  チェック無し

・棒読みちゃんの設定(配信者向け機能True)
 辞書登録
  正規表現
   優先度:100
   正規表現:^(.*[ぁ-ん亜-黑].*)*$
   置換後:(Voice 1)$1

_______________________________________

スマホからテスト

メインブログに雑言を書くのもどうかなーと思い、bloggerにダラダラ書いていこうということで。 相変わらず書き始めで詰まるんですが、最近は体の歪みを少しでもとっていこうと一人でちまちまストレッチなどをしています。矯正したいのはO脚、外反母趾、内反小趾あたり(整体に行くべきなんだ...