カテゴリー別アーカイブ: 雑記

C94には行く予定で

半年空いた末の話がこれですか…というものです。忙しすぎてWindowModePatchとかのプログラムに手をつけている暇もなければblogの記事を書く暇すらなかったところにこれを書きます。

 

今回は3日間とも…?

一応資金にめどが立ったので3日間ともの予定を組む予定(え?)としています。ちょっと今の活動が限界点に達しつつあるのでは…?ということも含めて来年度にはまた別の動きを見せる予定なので、それに備えていくつかのサークルさんに挨拶に伺いたいな~と言うことで考えています。その他情報収集が甘くなっていた部分を補うためにも情報を集めてきたいと思っています。

 

ついでにメインマシンも買い換える予定

今回の狙いは4Kディスプレイによる作業環境です。多少サイズが大きくても画面解像度が大きい方がプログラムを組んだり各種リソースの作業をするにも有利ですし、WindowModePatchを様々なプログラムに試すなら画面解像度が大きい方が試し甲斐があるからです。それに備えてメインマシンも一台組む予定で、H.265でのハードウェアエンコードやら最新のFPS系のゲームやら今はやりの暗号通貨のマイニングやらをやってみようかな~と思っています。後1,2ヶ月待てばCPUのRefresh版が出るとの話は出ているのでそれを待ちたいような気もするのですが…。この頃は何かの用事で東京に出向くタイミングで替えているので。

 

時間があれば、改良やら新たにいろいろとプログラムを作りたい

WindowModePatchの改良はもちろんですが、それ以外にもいろいろと自分が動けそうなネタを見聞きしてきたのでそちらに関してもPCのプログラムやらサーバープログラムやらスマートフォンのアプリやらで作っていきたいと考えているところ。どんなネタかはそのときになってみてのお楽しみ、ということで。

 

2018年の私はどうなるのかな…

というわけで太陽暦上は2018年になりましたのでちょっと2017年の動向も踏まえて少しだけ近況報告を雑記として書いておきたいと思います。なお、なぜかOSのアップデートの話やらWindowModePatchの開発状況についても書いておきます。

 

さすがにフルタイム勤務になるとその他ができなくなる

という状態になっているため、いろいろと更新が滞っている状態だったりします。なお、一応時間外労働がどれくらいかは見ていますが月によっては休日出勤等も大量にありかなりやばい時間になることも。この辺りは20代にフリープログラマとして活動していたためにフルタイムの経験がほとんどなく、また初めての仕事なので経験や資料の積み上げが全くない状態から始まっているので仕方がないというところでしょうか。同じ仕事が継続できればもう少し楽になるはずなのですが、どうなのでしょうかね。

 

MX ERGOは「それなりに」使えている

ということで新しく買ったLogicoolのトラックボールマウスについて少し経ったので使用感覚などを書いておきたいと思います。なお、MX ERGOの機能の一つであるEasy Switchは一切使っておらず、Bluetoothも使っていないのでほぼ純粋なトラックボールマウスとしての使用としての感想にであることに注意してください。

一言感想を言うならば

「M570tと使用感覚はほとんど変わらず。M570tから付加価値を見出せるのであればMX ERGOへの買い替えは勧められる。」

ですか。ホイールが左右に倒せることについても私の使用方法では一切その機能を使っていないですし、高解像度モードも結局使う場面を見いだせていないので良かったとしても手首の位置調整機能で多少楽になった、というところだったりします。

ちなみに、この20°の傾きですが単に磁石で底板をくっつけているだけなので左下方向に力をかけすぎると0°状態に移行してしまう、といったことも起こります。トラックボールの場合はマウスを動かさないので滅多に怒らないのですが使用を始めた当初はM570tの使用感覚でマウスを密着させるために少し押さえつけるようにしていたところこの現象が何回か発生していたので慣れるまでは気になる人もいると思います。いまでは力感覚もわかっているので手首の負荷軽減になっている感じはわかりますし、マウスを軽く使うデスクワーク用とならば20°を、ゲームなどで集中して使う場合は0°を、のように使うのもありなのかな~と考えています。パタパタ動かしすぎて回転軸になるプラスチックの出っ張りが壊れないか微妙な心配もありますが、そんな人はまれだと思いますのでとりあえず書いておくだけにしておきます。

 

OSを最新世代へとアップデート

わざわざWindowsと書かなかったのはサーバー側もアップデートしたからです。というわけで両方とも解説。

Windows側はメイン機、NotePCともにWindows10 Fall Creators Updateへとアップデートしました。ちなみに以前にも書いたのですが、このアップデートはレジストリを経由する一部の設定はどうやっても引き継がれないのが個人的にはとても気になっていることで、具体的には無効化したはずのZipFolderの機能は元通りになっていますし、せっかくカスタマイズしたMediaFoundationおよびDirectShowの設定とWindowsMediaPlayerの設定もデフォルト状態に戻される、という現象が起こります。アップデートした直後にこれを戻すのが非常に面倒、というところでしょうか。まあ、レジストリを少し削除したり設定ツールで各種Codecのファイルを再生してみて正常に再生できるかどうかをチェックすればOKなのでまだましなのかもしれません。少し気になっているのはエクスプローラでの動画のサムネイル作成機能がうまく動かなくなっていること。特にMPEG-1形式の場合にうまく作成されないことがあるようです。私特有でしょうか?

 

そしてサーバー機もFedora25からFedora27へとアップデート、というより再インストール。実はもう少し早くインストールしてインストール日記を書くはずだったのですが、サーバー版のリリースが少し後になった影響で再インストールしたのが12月末になってしまったためこの記事で紹介しています。

個人的に一番変わったと感じた点がBtrfsがだいぶ安定したことでしょうか。Fedora25ではLVM上にXFSで各ファイルシステムを作成していたのですが今回はBoot領域のみ別確保であとはBtrfsを使って一括確保し、一部マウント先名前を付けた状態としてセットアップを行いました。LVMと異なりBtrfsの場合は一つのパーティションから切り出して名前を付けているだけになっているようで、varやusrやhomeもBtrfs上でパーティションが分かれているわけではないので領域が十分に使えるのが良いところでしょうか。ただ、ちゃんとroot領域やらに予備領域を作らないと何かあって領域がいっぱいになった時にログインすらできない、という問題は起こりそうなので設定が必要でしょうかね。それ以外だとSELinuxを有効にしていたのでSambaの設定に一苦労したくらいでしょうか。setseboolは-Pのオプションを付けないと永続化しない、ということを忘れていて再起動した後でファイルが見えなくなってあわてて調べなおしたので…。

 

WindowModePatchはただいまDirectX6世代のDirect3DをDirect3D9を使って実装中

2017年12月に実装を初めてまだこれです。時間が取れないものでデバッグにすらたどり着いていません。しかもおそらく一番大変な部分であるIDirect3DDevice系の実装に差し掛かっていてどうなることやら、というところです。幸いなのはDirectX7系のDirect3Dは簡易実装してあるのでそこから大部分のコードを流用できることですか。それでも実際に動かすまでには時間がかかりそうですし、今回のデバッグはもともとの問題となった部分が部分だけに大変だろうな~というところだったりします。気分転換ではないですが別のゲームでうまく動かない、とかを調べて簡単にバージョンアップできるネタがあればそちらを優先させてしまいそうな感じです。

 

はてさて、今年一年はどうなるのでしょうかね

個人的にはしばらくゲーム作りから離れていた影響なのかまた一本くらいは作りたいな~という思いがわいてきているところです。ただ今回はスクリプタやプログラマとしてではなく制作管理側として動いてみたいな~という感じに変わってきています。資金が十分にあれば同人・商業問わずチャレンジしてみたいところですね。その資金を手に入れるところから始まる、といったところでしょうか。

 

どうでもいいですが、2017年の頭にいくつかおみくじを引いて財布に入れていたのですが大吉などかなり良いものであったにもかかわらずそこまで良い思いができた年だったのか?と言われると沈黙するのですが…どうなのでしょうね。

 

とうとうマウスを交換することに

数年間愛用していたマウスですが、とうとう動作不良を起こし始めたので気になっていたあれに乗り換えてみることにしました。

 

今まで使っていたマウスは…

というと、このblogでも何回か記事にしていますので過去の記事を遡ってもらえばわかると思いますが、

M570tです。かなり長い間愛用しておりまして、表面に書いてあるロゴの印刷が使っているうちにはげていってしまって何が書いてあるのかわからない状態となるほどでした。ちなみに動作不良というのは左ボタンのチャタリングです。いわゆる一回しか押していないのに二回以上入力が認識されてしまい勝手にダブルクリックや二回のクリックと見なされてしまう、という現象です。スイッチ部分を取り替えることができれば直せるのかもしれませんが…。

なお、通常どのマウスも使い込んでいくとボタン部分のチャタリングによるボタン認識問題は出てくるものなので私の使っているマウスの耐久性が悪かったわけではないと思います。ゲーム開発でかなり酷使していた時期もあったので…

 

ということで、これにしてみた

なんとなくわかると思いますが、

MX EGROです。いや~。発表されたときからかなり気になっていて、一度は使ってみようかと思っていたので思い切って買ってみました。しかしまあ今までの用途から考えるとどうやってもFlowは使わないしゲーム用のマウスでもないのにかなりの金額をするものだな、とは思ってはいましたが。

なお、購入金額についてはほぼ定価購入だと思います。購入したいのであれば通販で店を探した方が安いと思います。通常の家電量販店だと高すぎるのか扱っておらず販売している実店舗を探し出すのに少し苦労しました。

 

肝心の使い勝手は…

まだ使い始めたばかりなのでなんともいえません。が、前のマウスと違うところとして親指トラックボールのそばにあるボタンがデフォルトで「精密モード」というものに割り当てられていて、このボタンを押すと入力解像度を一時的に引き上げる?ものらしく、画像をPhotoShopやGIMPなどで加工する場合によく使えそうです。ただ逆に言うならマウスの移動量が減ってしまい、マウスの移動が遅くなります。それをどう生かすかは各自の考え方次第、というところでしょうか。個人的には精密モードがあるなら通常のマウスカーソルの移動量は多少大きくてもかまわないのでは?と考えて設定で少しあげています。それ以外はデフォルトのままで使っていきたいと思います。

あと最大の売り(だと思います)である手首の角度については、0度状態にするとM570tよりもマウスが大きいためか手首が浮いているように感じられ少し心許ないです。20度状態だとマウスの置き場所を間違えないのであれば使いやすい可能性が大きいかな、と感じる状態でした。というところでしばらくは20度の状態で試してみたいと思います。

最後にM570tは単三電池で動くのに対してMX ERGOは内蔵の充電池で動くタイプなのでこれがほぼ完全に充電されてから警告が出るまでどのくらい持つのか、が興味を引かれるポイントだと思います。これがよければもう一つ別の場所でもM570tを使っているのでそちらも交換してみたいかな~と思います。

もしかするとしばらくしてさらに追加で使い勝手について書くかもしれませんが…それはそのときということで。とりあえず暇な時間を見つけてはプログラムは書くようにしています。さすがにエミュレーションする部分が大きいので時間がかかっています。

 

WindowModePatchのページに英語版を追加してみた

でも書いている記事は日本語な訳ですが…。

 

日本語ができない人の訪問が増えたようなので英訳してみた

頑張ってみました…といいたいところですがこちらも簡易です。やり方は簡単で適当な長さで区切った日本語の文を翻訳サイトで一度英語に訳した後再度自分が日本語に翻訳したときにある程度正しいか?をチェックして正しいならばそのまま、間違っているならば自分の知識内で修正を行って翻訳サイトにて再度日本語に翻訳して文法的な誤りがないかをチェックする、という手順で行っています。この頃のGoogle翻訳などの翻訳サイトは本当に質が向上しているので致命的な誤りが出ることがほとんどない状態となってきました。逆に言うなら翻訳結果が微妙となった場合であれば自分の日本語表現を多少変えてやることでそれなりの英文が出てくる、ということでもあります。

もちろん、この方法を使うためにはある程度自分に英語から日本語への翻訳ができる、という条件が必要です。一応英語の技術文書であればMSDNなどのプログラムのヘルプで読み込んでいるので単語の意味が調べられるのであれば問題ないレベルにはなっています。もちろんこの力がないと翻訳サイトを二回使う、という状態となりチェックが微妙になるのでは?と思います。さすがに二回の翻訳を行うと原文と離れた文となることも多くなるのでその辺はうまくやりましょう。

 

WindowModePatchで別方向の進展がありそうな感じ

忙しい合間を縫って動いています。まあ、これのために英語版のサイトを作ってみたというのが実情だったりします。一応ゲームの対象は日本語だけではないですし、WindowModePatchのフロントエンド側には日本語版のWindows以外で起動した場合には英語でメニューなどを表示するように仕掛けがしてあるのでいろいろな人と協力してやっていくのにはこういうことが必要になるのでしょうね。あとはトップページとか更新履歴なんかも英語になればもっといろいろな人に広がるなど情報が得られるのではないか?とも考えています。

また、Twitterやニコニコ動画などからのリンクがあったりといくつか確認している限りではWindowModePatchはある程度役には立っているようですのでうれしいです。こちらの方向も進展していくと面白いと考えています。忙しいので更新は難しいかもしれませんが動作情報などは受け付けていますので。

 

JOYSOUND MAXの採点を試してみた

JOYSOUND MAXの導入が開始されてからいったいどれだけかかったことか…。今回JOYSOUND MAXでの採点を試す機会があったのでいろいろな曲で採点の状態を試していました。アップデートなどによって状態が異なるかもしれませんのでこの記事を書いている日付前後の話としてください。他の人の考察などは一切読まないで独自考察になっていますのでそのあたりも前提にして下さい。

 

JOYSOUND F1の採点と全然違う…

正直にこれが第一の感想でした。前回JOYSOUND F1で採点したのが記憶が正しければ数ヶ月前という状態なのでもしかするとアップデートで採点の方式がまた変わったのかもしれませんが…。この後でも考察しますがおそらくJOYSOUND MAXで採点した方が得点が高い曲とJOYSOUND F1で採点した方が高い曲とかそういう状態があると思います。さすがに差分を調べるのはかなり難しいですが簡単にわかるものも含めてこれから書いていきます。

ちなみに面倒なので以下でMAXと表記すればJOYSOUND MAXを、F1と表記すればJOYSOUND F1を指すものとしてください。

 

音階判定表示は基本的に二小節分が表示される

F1までだと中央にバーがあってどんな曲でも一定速度でスライドしていったのですがMAXでは「基本的に」二小節分を表示して更新していく感じになったようです。音階一致判定もこの二小節単位でどのくらいだったかを画面左上に表示してくれるので個人的にはスライドより見やすいことからこれに関してはMAXが有利…かと思いきや、曲によってはこれが不利になることもあります。その例として

  • 音の先頭が小節の先頭位置と一致しているため発声すべき音階がその直前まで画面上に表示されない(画面外には表示されている)
  • 曲の内部データによって「二小節」の意味が異なるため曲によってひどく切り替わりが多い曲が存在する

があります。特にこの後者が非常にやっかいです。内部的に「二小節」なので3/4拍子の曲は4/4拍子の曲より移動速度が速くなりますし、体感的にはBPMが似たような曲でも楽譜に起こしたときに半分と見なしている(たとえば180BPMに感じる曲でも内部の楽譜データでは90BPMの曲としている場合がある)ことがあり、この場合体感として四小節表示されているのと同じ状態となります。曲のBPMが変化している場合でも体感的に速くなっているからと言って内部データも速くなるとは限らないのが難しいところです。(実際、遅くなった曲がありました)これがこの後採点で微妙な混乱を起こします。

 

曲の加点要素が一つ増えている

F1まではしゃくりとビブラートだけでしたがMAXではそれにこぶしが追加されたようです。DAM系ではそれにフォールが加わるのですがそれは置いておいて。これのおかげでF1より加点されやすくなっていると考えられます。実際、私が歌った中でも音階評価と安定度評価を除いて上限に張り付いた、という曲がありましたのでこれは入れるのではないか、と思います。加点要素の判定基準は不明ですが…。

 

ロングトーンの判定が変わった様子

というか、どうも音階表示される部分が二小節と決められていることで元々一小節を超えるような判定となっていた音符についてその場合は2拍くらいでカットする、という条件が追加されているようです。それ以外にも表示的には音階表示されていない場所は判定対象に入らないように見えるようになっています。加点要素については範囲外でも判定されたような表示がされていましたが…。

で、これのおかげで何が良くなったか?というと電波ソングなどで妙なラップがある曲、台詞が入っている曲で無理矢理音階判定が入っている場合があったのですがその範囲が大幅に狭くなったわけです。F1まではその変な音階を台詞などを無視して「あ~」と言わないと減点対象となるようですがMAXではその心配がだいぶ減りました。というわけでその手の曲で低い得点となることがだいぶ避けられるようになります。

 

内部データ的に低速の曲の方が得点が出しやすい?

これが今回一番確定できなかった部分です。というのも、逆に今回テストした曲だと内部データが高速な曲で得点が低く出ているケースが多々あったことや、画面表示ではカラオケで歌う場合の判定遅延(通常カラオケでは「曲を聴く」=>「リズムに合わせて声を出す(微妙に遅れる)」=>「マイクで音をとる」=>「音階判定の演算を行う(微妙に遅れる)」というシーケンスのため音階の開始タイミングと発声を処理するタイミングが微妙にずれるのが普通であり、それをカバーする必要があることが多い)が行われていないような感じで高速曲の場合音の出だしで音が出ていないと判断されていた様子がうかがえたからです。これが正しいとするとちょっと難しいことになるのですが、画面表示を無視して歌った場合でそれなりの得点を出しているパターンもあったことから今現在は保留の状態です。

ちなみにあくまで「内部データ的に低速の曲」です。これが実は「基本的に二小節単位」にかかっていて、自分が感じているBPMではなく曲データ上のBPMに依存します。今回歌った中で一番その差がひどかった曲が<Asphodelus>という曲です。とある場所では名曲といわれていますが…(私もかなりいい曲だと思っています)。この曲ですが私の感覚では6/8拍子160BPM(つまりカラオケ表示で3/4拍子換算だと80BPM)だと思っているのですがJOYSOUNDの内部データ的には3/4拍子160BPMという扱いらしく、カラオケ表示では4/4拍子の曲換算で213(=160/3×4)BPMという超高速曲扱いになる大変な曲と化しています。こうなると音階表示を見ながらだとかなりきついです。

もう一つ比較としては<Hφwling Sφul><HE∀ting Sφul>があります。この二曲は曲が似通っている(元々のゲームとしても)ので今回例として出します。前者が通常の体感なら4/4拍子180BPM、後者が4/4拍子182BPMのはずなのですが、内部データ上では後者はそのままですが前者が4/4拍子90BPMの扱いらしく、前者が低速曲扱いになります。こちらは音階表示をみながらだと歌いやすくなっているので両方の曲を知っている場合はチェックしてみると面白いかもしれません。

 

採点後に音域表示がされるようになった

これはありがたい要素です。いままでDAM系列でしか音域がわからなかったのですがJOYSOUND系でもわかるようになったのでいろいろと確認していっています。ただし歌った自分の音域は音名まで書いてあるのでわかるのですが曲側の音域が鍵盤への色づけだけで音名が表示されていないので自分の音域と曲側の音域がずれているときに確認が難しいこと気になるところでしょうか。

ちなみにこのときに(おそらく同一歌手の曲で)音域が似ている曲を表示するという機能があるのですが、文字が小さすぎるために意義がほとんど感じられません。メモをとるための時間もほぼないですしね。

 

電波ソング系の採点はJOYSOUND MAXが有利なのは確定ですが、それ以外は難しい

今回危うく90点に達する曲が一つもないまま店を後にする、という事態が起こりかねなかったのですがそれはなんとか回避しました。また、電波ソング系の得点が良くなったことでデータ全体の標準偏差を計算してみたところ今までの記録で2番目に低い値を出しました。つまりばらけ方がだいぶ下がった訳ですね。それがいいのか悪いのか…。