とらきす の ぐだログ

とらきすのぐだログ

ぐだぐだとなんかするブログ。

msiファイルのインストールをちょっぴり簡単にするソフトを作った

(しばらくムダ話が続きます。飛ばしたい方はこちらへ)


あなたは、.msiが好きですか?
私は、はっきり言ってキライだね!


なぜかってそりゃ、もちろん面倒だからです。

.exe形式のインストーラなら、右クリックしてコンテキストメニューから「管理者として実行」を選べば済みますよね。ほぼ手間なし。
熟練されたWindowsユーザーなら、インストーラをいきなりダブルクリックなんてしないはずです。アイコンに管理者権限のマークが付いていれば別ですが。この一連の操作が、クセになってしまっているはずなのです。
…私だけじゃないよね?


それなら、.msi形式はどうか?


  1. 管理者権限でコマンドプロンプトを実行する
  2. インストーラをShiftキー押しながら右クリックして「パスとしてコピー」を押す
  3. コマンドプロンプトにパスを貼り付けてEnterキーを押す




面倒すぎるわ!!!


初見じゃ絶対にわかりませんよ。

右クリックしても「管理者〜」ってのが出てきませんから、普通は「msi形式は管理者権限いらないのかな」と思います。
そしていざインストールを始めてみると、面白い事にエラーメッセージを吐きやがるのです。そしてそのエラーメッセージには、管理者なんて単語は一切入っていないんです。

わかるかこんなもん!!!

そして「msi インストール エラー」とかって検索をかけて、ようやく対処法を見つける… もはや通過儀礼といっても過言ではないでしょう。


慣れてしまえば確かに大した手間ではないのですけど、そうじゃないそうじゃないんですよ

msiexec.exeを起動するには、コンソールからインストーラのパスと一緒に呼び出してやる必要があります。
管理者権限のコマンドプロンプトから呼び出せば、自ずとmsiexec.exeも管理者権限になるという仕組みなのですが…

なんかこう、もっとスマートにできないものなんですかね?

Windows 10なら、スタートを右クリックすればすぐに管理者権限でコマンドプロンプト実行できるようになってますけど、Windows 7だとそれだけでも結構手間がかかるんですよ。

管理者としてインストール」みたいな気楽な感覚で使えたら、私も.msiと仲良くやっていけそうなのに…




EasyMsi

という訳で、EasyMsiというソフトを作ってみました。

どんなソフトかって言うのは、この画像を見てもらえばわかります。

f:id:trackiss:20180918021341p:plain


はい、これだけです。
.msiファイルのコンテキストメニューに「管理者としてインストール」を追加するだけ。

ただそれだけですが、個人的には大満足です。こういう細かいとこに手が届く系大好き。

ダウンロードはこちらからどうぞ。

ご安心ください。EasyMsiのインストーラは、.msi形式ではなく.exe形式です。ウイルスチェックも万全。
そのうちVector様に登録申請しますので、もし申請が通ったらこのリンクは消します。

動作を確認したのはWindows 10 (1803)のみですが、Windows Vista以降のOSであれば、正常に動作するかと思います。少なくとも、Windows XP以前のOSでは動作しません。

動作にはMicrosoft .NET Framework 4.6以降が必要です。Windows Updateを素直に受け取っていればまず問題はないはずです。

インストールに必要なディスク容量は700KB程度。
もしそんなにディスクスペースがないという方がおられましたら、自力でなんとかしてください。

現状、日本語英語に対応しています。インストール時に日本語を選べば「管理者としてインストール(A)」に、英語を選べば「Install as administrator」になります。
それ以外の言語は気が向いたら。



本当に、プログラム的には大した事してないんですよね。マジで数行だけ。
msiexecを管理者として呼び出して、同時にパスを渡してやるっていうシンプルこの上ないコードです。

それよりもむしろ、レジストリの操作とか、あとインストーラの作成に手間取りました。
今回はInno Setupを使ってみた訳ですが、言語によってレジストリ処理を変える方法でずっと詰まってた。結局、命令文にLanguage: xxxオプション付けるだけでした。

それじゃ、iOS 12のアップデートしてきますーノシ

(個人的)最強のプログラミング言語「Haxe」

プログラミング言語

まぁ、もはや宗教ですよね。こういうのって。
そら一長一短はあるでしょうけど、慣れてるものが一番なのは変わりませんよ。

という訳で、下記は「個人的な意見」ですのでね。参考程度にお読みください。


Haxe?何それ聞いた事ない!

Haxe(ヘックス)は、そこそこマイナーなオブジェクト指向+関数型プログラミング言語です。
とはいえ、「関数型よくわからん」って人は、別に関数型構文使わなくても問題ありません。

まずは世界にこんにちはしておきましょう。

// Main.hx

package;

class Main
{
  public static function main():Void
  {
    Sys.println("Hello World!");
  }
}

このコードからだけでも、Haxeの特徴が幾つか見えてくるかと思います。
Haxeシンタックスハイライトまで用意してくれているはてなさんホント神

  1. packageとかいう謎の構文
  2. とりあえず全部クラスで囲っとけ記法
  3. エントリーポイントはMain.hxのmain関数
  4. 型は名前の後に書く

ん、こんなもんでしょうか。
まぁ際立っておかしな部分はないですよね。

ただ、もしかしたらこの特徴を見てハッと思い当たるフシがある人もいるかも知れません。

実はこのHaxe、かの有名なAdobe Flashスクリプト言語であるActionScriptとほとんど同じ構文なのです。
というより、もともとActionScriptの代替として開発された言語だそうで。

また、HaxeはaltJSとしての一面も持ち合わせています。

altJSってのはつまり、JavaScriptがフリーダムすぎるから書きやすくしよーぜ、ってノリで開発された、いわばJavaScriptの亜種みたいなもんですね。
Microsoftが開発しているTypeScriptなんかが有名な例でしょう。

HaxeにもJavaScriptのコードを出力する機能が付いていますし、何ならHaxeから出力した方が10%程早く動作するそうで。
そもそも、Haxeの構文そのものがJavaScriptの標準化であるECMAScriptと似通っています。

というかですね。

Haxeが出力できる言語の一覧を見てみましょう。

多い…多くない?

その結果、Haxeがターゲットとしているプラットフォームの一覧が、こちら。


クッソ画質荒いやん、気が向いたら直しときます

いや…マジで多いって。

ここで重要なのが、ソースコードを出力するという点。つまり、ネイティブコードでのクロスプラットフォームが実現できるという事になります。

それじゃ、出力されたソースコードを元に、更にコンパイルの作業をしなきゃいけないの?それは面倒だよ…

一応、FlashとNeko、HashlinkについてはHaxe単体でのコンパイルが可能ですが、確かに面倒ですよね。

そこでLimeの出番です。

Limeは、ウィンドウ処理や入出力、音声処理などの低レイヤー層を管理するフレームワークです。しかも、ビルド機能付き。
WindowsならVisual C++macOSならXcode…といったように別途ソフトのインストールが必要ですが、シームレスに実行ファイルを作成できるようになります。


Haxeの言語機能

まず、Haxeは静的型付け言語です。
先ほども書きました通り、変数名やメソッド名の後に型を指定します。

// 32bit整数型
var i:Int = 5;

基本型はInt32(Int)、Int64、Float、Boolのみのようです。
Intは環境に関わらず32bitとなるようです。
Floatは倍精度、つまりはCにおけるdouble型ですね。
一応、符号なし整数型としてUInt型も定義されているようですが、非推奨となっています。

インスタンスの生成や、配列の作成時にも型を指定します。

// インスタンスの生成
var c:Test = new Test();

// 整数型配列の作成
var a:Array<Int> = new Array();

まぁ、でもいちいち書いてたら面倒ですよね。インスタンス作成時とか。

という訳で、もちろんあります型推論

var i = 5;
var c = new Test();
var a = [0];

メソッドの引数なんかにも型推論が使えますが、こちらはあまり推論の精度が良くないし、わかりにくくなるので使わない方が良いでしょう。

そして、Haxeだとこんな書き方ができちゃいます。

var a = [for(i in 0...10) i];

// [0,1,2,3,4,5,6,7,8,9]
Sys.println(a);

// Success
Sys.println(if(a.length == 10) "Success"; else "Failure";);

そう、Haxeではif文やfor文などが式として使えてしまうのです!
これがものすごく便利。
偶数だけを順に格納したければ、

var a = [for(i in 0...10) if(i % 2 == 0) i];

// [0,2,4,6,8]
Sys.println(a);

はたまた、

var a = [for(i in 0...4) i * 2];

// [0,2,4,6,8]
Sys.println(a);

と書けば良いのです。すごいっしょ?

ただ、Haxeだといわゆるforeach方式のfor文しか使う事ができません。逆順も不可能です。
つまりHaxeのfor文では、Cでいう所の

// C
for(int i = 10; i > 0; i--) {}

みたいな事ができないという事になります。


…forがないなら、whileを使えばいいじゃない!

var i = 10;
var a = [while(i > 0) i--];

// [10,9,8,7,6,5,4,3,2,1]
Sys.println(a)

いや、でもこれだと別に変数用意しなきゃなんでちょっと良くないですね。他になんか良い方法ないんやろか。

それと、新しい言語を習得するときにかなりのネックとなる多次元配列。これ、言語によってかなりバラつきありますからね。構文も概念も。

まず、Haxeには多次元配列という概念はありません。
その代わり、配列の中に配列を入れる事が可能です。JavaScriptと同じですね。わかりやすくて実に良い。

また、連想配列を作る事も可能です。

var a =
[
  [0, 1, 2],
  [for(i in 0...3) i],
  [
    "ぜろ" => 0,
    "いち" => 1,
    "に" => 2
  ]
];

// 全て 2
Sys.println(a[0][2]);
Sys.println(a[1][2]);
Sys.println(a[2]["に"]);

正確には、連想配列はMapオブジェクトとして実装されています。上記のは省略記法。

まぁ、他にも色々と便利な機能がてんこ盛りです。すげぇっすよ。


言語独自の機能があるって聞いたけど

Haxeには、どんな言語に出力しても使えるHaxe標準ライブラリのほか、言語独自のライブラリも幾つか含まれています。
C++なら標準ライブラリが移植されていますし、JavaScriptならjQueryが移植されています。当然、他の言語に出力する時には使えません。

特に、Haxeの唯一のマルチメディア機能と言っても過言ではないFlash API。これも、Flashでしか使えない機能となっております。残念。


が…あるッ…
OpenFLッ…


何それ

OpenFLは、Flash APIHaxeに移植するフレームワークです。Limeを下敷きに動作します。

…というか、Limeのリンク踏んでくれた方なら気づいたと思いますが、そもそもLimeはOpenFLの一環で作られたものです。

しっかし、Flash APIならマルチメディア系で出来ない事ほとんどないですよ。ゲームだってどんとかむです。

例えば、OpenFLを使って作られた有名なゲームにPapers, Pleaseがあります。
入国審査をするゲームですね。
どうやら映画化が決定しているらしく、Wikipediaに個別記事まである。そんなに売れてたんだあのゲーム。

それと…こちらはややマイナーですが、Evolandというゲーム。
初めは2Dのピクセルに始まり、次第に3Dポリゴンへと変わっていくというかなり特殊なゲームですね。
続編のほかモバイル版もリリースされており、まさにHaxeフル活用って感じです。

まぁ、デベロッパであるShiro Gamesの創立者の一人は、Haxe開発者であるNicolas Cannasse氏ですので、当然と言えば当然ですけどね。

また、OpenFLを使った2DゲームエンジンHaxeFlixel(ヘックスフリクセル)があります。

Flash向けのゲームライブラリであったFlixelを、Haxeに移植・改変したフレームワークですね。
今はまだあまり有名なゲームはないようですが、結構な数のゲームが作られています。見たところ、モバイル端末向けのゲームが多いようです。これもHaxeだから成せる技。


Haxeの開発環境

現状では、FlashDevelopVisual Studio Codeがベストな選択肢かと思います。

FlashDevelopの場合は標準でHaxeをサポートしていて、新規プロジェクトの作成も簡単に出来ます。
ただ、私が普段使い慣れていない為か使いにくかったです…申し訳ない。

Visual Studio Codeの場合、vshaxeというサードパーティの拡張プラグインを使う事になります。
しかしサードパーティとは言え、頻繁に更新されていてかなり信頼性は高いです。シンタックスハイライトやオートコンプリート、エラー診断、コンパイルなどなど、一通りの機能は揃っています。
というか、Haxeコンパイラそのものに構文を解析したりオートコンプリートしたりという機能が備わっていますので、それを利用している形になっています。C#のRoslynとVisual C#の関係性みたいなもんですかね。ですので、精度で他に劣るという事はないでしょう。

Limeのプラグインも別途公開されていますので、VSCodeから直接 実行ファイルの作成まで出来てしまいます。
vshaxe単体でも、JavaScriptだったりNekoだったりならコンパイルは可能ですが。

VSCodeは(一応)テキストエディタなので比較的動作も軽く、他の言語をササッと書く時にも便利です。
HTML/CSSに関してのみはBracketsの方が良いと思いますが、それ以外で専用IDEがない言語なら、だいたいVSCodeで間に合います。JSONとかね。

それに知ってる方も多いとは思いますが、ついこの間にGithubMicrosoftに買収されましたよね。VSCodeには以前からもGit連携機能が搭載されていましたが、今後はよりGithubに密接した機能が追加される事でしょう。期待です。

そして何より、VSCodeWindows/macOS/Linuxに対応しています。アレです、最近流行りのElectron製アプリです。
FlashDevelopはWindows専用なのが一番の難点と言えましょう。


Nekoって?

Nekoは、2005年あたりに登場した比較的若い言語です。

一応は言語仕様を持っており、中間言語に変換して、Windows/macOS/Linuxで動作するVM上で実行するタイプの言語なのですが、Haxeから変換して踏み台として使用される事が多いと思います。
そもそもNekoの開発者はNicolas Cannasse氏(また出た!Haxeの開発者)ですし。

しかしそのお陰とあって、PC向けのソフトウェアを作るのならNekoを選択しておけば間違いはないでしょう。


Hashlinkって?

Hashlinkは、2年前くらいに突如として登場した言語です。

というか、Haxe Foundationがお送りするHaxe専用VMですまたかよ

Neko VMと何が違うのかと言いますと、まずこちらはiOSAndroidにも対応しているらしいという点。
そして描画にSDL2を使用しており、独自のUIライブラリも将来的に提供されるそうです。
また、静的型付けになった事でよりHaxeとの親和性が向上していたり。

しかし、新参といってもなかなか侮れません。既にHashlinkで作られたゲームが幾つかリリースされています。

まず、お馴染みShiro GamesのNorthgard。すげー3D。かなり売れているようですね。
そしてDead Cells。ドットのハクスラですかね?こっちもなかなかの高評価。

ただね…情報が少なすぎる!!
日本語の情報がとかじゃなくて、英語の情報も超少ない。公式サイトとかGithub関連除いたら、ほぼ皆無と言って良いと思います。
Githubの方も、ドキュメントはたった数ページ。チュートリアルはありませんので、何を書けば良いのかわからない状態。

ドキュメントが充実していけば、かなり今後に期待できそうですね。


とまぁ色々と書いてきましたが、私自身もまだまだ勉強中です。
マクロとか、ほとんど理解してません。
結構厳格な言語ですので慣れるまで大変かもしれませんが、それを含めても素晴らしい言語ですよ。使おう!

そんな訳で、ざっくりとHaxeの紹介でした。


Haxeフレームワークメモ

(個人的)最強のWindows向け高音質音楽プレイヤー「Dopamine」【+日本語化パッチ配布】


ver 2.xのPreview版は、はじめから日本語に対応しています。
ただ、GitHubにプルリクを投げてから反映されるまでには時間がかかりますので、そういう場合はこのページで日本語化ファイルを公開します。


更新が途絶えてはや3かg…

さ、3ヶ月!? マジかよ、そんなに経ってたとは思わなかった。

えー、あのですね。私がブログをやっているのは、時々湧き上がってくる文章書きたい欲を解消する為なんです。
でも、とある超大型記事の準備やらSCP財団の執筆活動やらで、文章書く機会が最近多くてですね。私の中で、かなり満足してしまっていたんですよ。
それにしたって、そんなに放置してたとは…反省。

でも多分、今後もこんな感じだよ。許せ。

というわけでお茶を濁す為に、最近(今日)見つけたWindowsの音楽プレイヤーをご紹介します。
かなり良いソフトなんですけど、国内じゃあんまり知られていないようで。こうなったら布教するっきゃないって事です。


PCの音楽プレイヤーソフト。
かつて、私もいろいろと探してまいりました。

iPhoneの音楽プレイヤーアプリを探していた時期もありましたが、今の私のiPhoneは16GBしかないので曲など入れられる訳もなく。
ちなみに、私はRadsone使ってます。純正のミュージックアプリも悪くないのですが、謎に重いんですよねあれ。

私は、PCの音楽プレイヤーとして、結構長い期間iTunesを使っていました。
これが、わりかし使いやすかったんですよね。特にiPhoneユーザーだと。
勝手に変なジャケット拾ってきてふざけんなってなった事もあったりでちょいちょい不満は持っていたんですが、ビジュアライザが綺麗だったのであまり気になってませんでした。

んで、ある日音楽ファイルの整理をしていて、MPC-BEで再生したり色々していましたら。

あれ、iTunes音質悪くね?

って気づいた訳です(遅
MPC-BEはASIOに対応していて、それで聴いてみたら全然音が違ってビックリ。
しばらくの間使ってたせいで、iTunesの音質に毒されてしまっていたんですね。

そんなこんなで次に使い始めたのが、TuneBrowserです。
ASIO対応なので音質は申し分なかったですし、見た目も気に入っていました。
ただ、途轍もなく重かった。
使いながらネットサーフィンとかしてるとしょっちゅうノイズ入ったりするんです。何というか、うちのPCでは使い物にならんレベルだった。
それと、シェアウェアですし…いや、学生にとっては、決してはした金じゃありませんからね。
ちゃんとしたソフトウェアにはお金を払いたいですけれど、同じ事が無料でできるならそっちを使いたい派。中途半端かよ。まぁ、そんなもんですよね。

そんな経緯で、今回の本題。

Digimezzo様のフリーソフト(しかもOSS)「Dopamine」の紹介です。

029_dopamine_01

029_dopamine_02

まず、見ての通りインターフェースが綺麗です。
最近、ソニーが何やらハイレゾ対応の音楽プレイヤーソフトをリリースしていたようですが、やっぱりUIがものすごい時代遅れ感あるんです。すごく安っぽい。
一方こちらは、ここらで流行りのフラットデザイン。スッキリとしたインターフェースで、超クールです。
まぁ、まさにWPFアプリですよと言わんばかりのUIなんですけどね。だが、それがいい

029_dopamine_03

029_dopamine_04

このように、iTunes風のアートワークプレイヤー表示も可能。

さらにさらに、

029_dopamine_05

こういうマイクロプレイヤーの他、

029_dopamine_06

こんな小さなナノプレイヤーもあります。あまり画面を占有したくない時に便利ですね。

029_dopamine_07

なんと10バンドイコライザも内蔵。しゅごい。

029_dopamine_08

設定も、結構細かい所までできちゃいます。アートワークに応じてテーマカラーを変える機能とか、オシャレで良いじゃないですか。あまり精度は良くないみたいですが…

その他、オンラインで歌詞やアーティスト情報、アートワークを取得する事もできます。Last.fmとの連携も可能。

音質面で言うと、DopamineはWASAPI排他モードに対応しています。
WASAPIってのは、最近のWindows(確かVista以降)でのみ使えるオーディオドライバです。
これを排他モードで使用すると、他のアプリケーションの音が一切聴こえなくなる代わりにミキサーを通さなくなるので、音質が向上するのです。
そこらの音楽プレイヤーソフトよりは格段に高音質と言えるでしょう。


いやぁ、ちょっと駆け足になってしまいましたね。
今テスト期間中なんで、許しておくれ。

えー、さてここからが本題です(ぇ

このソフトウェアは、2018年06月06日現在、日本語に対応しておりません。

あれれ? ちょっと待ってよ!
このブログに載っている画像だと、確かにUIが日本語で書かれているよ! これは、何かがおかしいに違いない!



はい。
というわけで、日本語訳しましたこちらにver 1.xの日本語化ファイルを置いてあります。インストールフォルダのLanguageフォルダにぶち込んでください。


ただ、今はver 2.xのPreview版がリリースされています! そして、そちらは最初から日本語に対応しています
Preview 2は若干ゃ不安定だったのですが、最新のPreview 6はかなり安定しています。私もこちらを使っています。
最近、Previewのリリース頻度が早いですね。正式版リリースも近いかもしれません。

追記: おま環かもしれませんが、Preview 2~を使っていると、「プレイリストが勝手にソートされる」「一部の曲が再生できない」などの現象に遭遇しています…
今はPreview 1を使って安定しています。

2.xの日本語化データの更新をしているのは私ですので、もしかしたら… というか、多分、更新が遅れる事もあるかと思います。
そういうときは、気長に待ってやってください。なんなら、勝手に更新してくださって全然構いません(笑
GitHubにプルリクを送るだけの簡単なお仕事ですよ。

それじゃ、またいつか。


宣伝: このDopamineを含む.msi形式のインストーラをちょっぴり使いやすくするソフトを作ってみましたので、よろしければどうぞ

trackiss.hateblo.jp


追記:
篠DさんにMusicBeeについて教えて頂きました。

いや、もちろんMusicBeeの存在は知ってたんですよ?
かつてはWindowsの音楽プレイヤーと言えばコレ、みたいな立ち位置でしたからね。
ただ私の中で、そのMusicBeeは数年前で止まっていたのです。

今になって使ってみたら、かなりモダンな見た目に変わっていてビックリ。機能面にしても、ASIO対応してますし… 確かに、音が鮮明に聴こえてきます。

ただ、個人的にはやっぱりDopamineのデザインが好き。"The WPF"な感じのデザイン。良いと思いません?
あと、WASAPIの方が音に丸みがあって聴き疲れしなさそうなので、ガチで音楽鑑賞する時はMusicBee、そうじゃない時は… みたいな感じで、その辺は上手く使い分けていこうかと思います。

個人的メモ: 描画関連の処理系・ライブラリ

あくまで個人的なメモみたいなものだよ。
需要?知らんな…

そんでもって多分どこかしら間違ってるよ。やったね。


まずDirectXってなにさ

化け物(Microsoft)が作った化け物。要はマッチポンプ
基本的にWindows向けで、それでなければXboxとか。これが地産地消ってやつか(違

要約すると、高品質な2D / 3D描画に加え、音声処理等のマルチメディア機能、その他入出力なんかをごっそり包括する巨大API

このうちDirect3Dが3D描画のフレームワークで、OpenGLと主に競合するのはこの部分。

んじゃOpenGLはなんなの

純粋に描画機能のみをサポートするマルチプラットフォームAPI
Javaはこれに頼りっきり。macOSもだいたいコレ。勿論Windowsでも動く。

そしてAndroid向けアプリはだいたいJavaで書かれてる訳で、つまりはこれもOpenGL
でも、デスクトップ向けのOpenGLをそのまま使うのは無理があるので、モバイル向け実装のOpenGL ESが使われる。iOSもたいていコレ。

んでもってJavaScriptと組み合わせて使うWebGLというブラウザ向けの実装もある。やべーなこいつ。

結局どっちが良いの?

どっちでもいいれす(^q^)

強いて言うならば、Windowsオンリーでいいなら断然DirectX。まぁ仕方ないね。

でも、そもそもDirectXOpenGLもそのままだと複雑すぎて扱いにくいので、普通はライブラリなんかを仲介する訳で。
そんで今の時代はもうワンソース / マルチプラットフォームが当たり前になってきている訳で。

つまり、DirectXだのOpenGLだのはそんなに気にしなくてもおk。動きゃいいんだ、動きゃ。

長い。3行で。

Windows = DirectX or OpenGL
macOS, Linux = OpenGL
iOS, Android = OpenGL ES


DXライブラリ

動作環境:

開発言語:

Windows版はDirectXAndroid版はOpenGL ESのラッパー。
どちらかと言うと2D向け。でも3Dもイケる。 Windows版に限り、C#向けに変換したパッケージもある(ただし一部の機能が制限される)。
基本的な機能のみを揃えるローレベルな設計方針により、めちゃくちゃ処理速度が速い。
下手にゲームエンジンを使うよりかは断然速い。はず。

あと、PS4/PS Vita向けのソフトウェアも作れるらしい。


SDL

動作環境:

開発言語:

  • C++
  • and so on...

Direct3D / OpenGL (ES)のラッパー。WindowsでもOpenGLが使用できるらしく、アンチMicrosoft派の人でも大丈夫(ぇ
設計方針としてはDXライブラリと同じくローレベル。
また、音声や入出力なんかを扱う為の補助ライブラリもある。

数多くのバインドが存在。現状ではAda、C#、D、Go、LuaOCamlPascalPython、Rust向けにバインドされている。
あくまで公式ではないので更新具合に注意。


Hot Soup Processor

動作環境:

開発言語:

BASIC風のHSP言語を使い、簡単に、手軽にソフトを作る事のできるツール。
基本的にはWindowsのみ対応。
一通りの2D / 3D描画、音声処理等を内包する。
独自のIDEを持つが、そもそもの言語仕様含めて評判はあまり良くない。
でも、ネイティブのGUIを何故か簡単に書けてしまう。Win32APIも比較的簡単に叩ける。やろうと思えば何でもできる。

実行時にはHSP Dishというランタイム上で動作する。
このランタイムはLinuxiOSAndroidWebGL向けに移植されている為、各環境にて実行が可能。

また、Javaアプレットのプログラムに変換するHSPLetというコンバータも付属する。


Processing

動作環境:

開発言語:

大御所。別名「Proce55ing」。
スケッチ感覚で手軽に書ける専用IDEが特徴。
Processing言語なるその実態は、あれこれ手を加えたJavaのライブラリ群。Javaって事はつまりOpenGLって訳だ。

JavaScript向けのバインドも存在する。


openFrameworks

動作環境:

開発言語:

OpenGL等の名だたる著名ライブラリ達のラッパー。
あくまで各ライブラリをグルー(接続)したり使いやすくする為のもの。
用途としてはアートや教育等、Processingに近いものがあるが、専用IDEがない分こちらの方が上級者向け。

マルチプラットフォームは一応できるけどかなり面倒。openFrameworks自体を自分でリビルドしないといけないらしく、ビルドターゲットを弄ったりあれこれ試してみたが、エラーの嵐でビルドできなかった。


Cinder

動作環境:

開発言語:

openFrameworksと同じ方向性のライブラリ。
でもCinderはどちらかというと芸術目的で使用される事が多いらしい。あとiOS対応。

ただ、日本語の情報が圧倒的に少ない。


Siv3D

動作環境:

開発言語:

なんでもアリのゲーム/アート向け多機能ライブラリ。
DXライブラリやopenFrameworks等の比較的ローレベルなラッパーとは異なり、少ないコードで色々作れるようにするというのがコンセプトらしい。
このライブラリ自体も比較的モダンな実装となっている(私見)。
日本語の情報も比較的豊富。


OpenFL

動作環境:

開発言語:

ほぼFlashActionScript風の言語仕様を持つHaxeを使う上、APIFlashソックリ仕様。
でも、HTML5だのAIRだのを使った似非マルチプラットフォームではなく、きちんとネイティブコードで吐き出してくれるところがミソ。
んでもって、やっぱりAIR(要はFlash)でも書き出せる。しかもその状態で各OSネイティブのGUI使える。何でもアリかよ。

多分、WindowsではDirectX(場合に応じてOpenGL?)を、macOSLinuxではOpenGLを用いている。また、内部的にSDLを使用しているらしい。
iOSではObjective-Cに、AndroidではJavaに変換しているとの事。

これにHaxeUIというライブラリ(Adobe Flexに心なしか似ている)のOpenFL対応版を組み合わせると、ネイティブのGUIだって作れちゃう。
2Dゲームに特化したHaxeFlixelもある。あのそこそこ有名な3DエンジンのAway3DもOpenFL版アリ。

ただ、日本語の情報が致命的に少ない。多分Cinderより少ない。
あと、基本的に日本語入力ができない。HaxeUI使えば、FlashAIRあたりでできる。当然HTMLも。他は知らん。

東方Projectの音源サンプル 改

※ この記事は暫定版です。追加の音源・解説等はそのうち追記していきます。

東方音源を聴く場所です。しばらく放置していましたし、直したいものもいくつかあったので、新規に作り直す事にしました。
今回は、ある程度音作りもしてあります。

例に従って、耳コピの精度に関しては許してあげてください。あ、間違いあればご指摘願います。

各音源の詳細はこちらへどうぞ。


SD-90

今回は収録にSD-80を使用しています。音に違いはありません。

Bright FM EP

あなたの町の怪事件 (ダブルスポイラー)

イコライザ、コンプレッサを使用しています。

Full Stops

芥川龍之介の河童 〜 Candid Friend (風神録)

イコライザ、リバーブを使用しています。

St.ChoirAahs

スカイルーイン (星蓮船)

イコライザ、リバーブ、ステレオイメージャ、コンプレッサを使用しています。

Romantic Tp

芥川龍之介の河童 〜 Candid Friend (風神録)

VGEE Delay、イコライザ、リバーブ、コンプレッサを使用しています。

St.Brass

あなたの町の怪事件 (ダブルスポイラー)

バーブ、コンプレッサを使用しています。


Virtual Guitarist

Sixteen

スカイルーイン (星蓮船)

イコライザ、リバーブを使用しています。


Virtual Guitarist Electric Edition

Rock - Modern

芥川龍之介の河童 〜 Candid Friend (風神録)

イコライザ、VGEE Chorus、リバーブ、コンプレッサを使用しています。


LM-4 MarkII

Gator Kit

ハートフェルトファンシー (地霊殿)

イコライザ、リバーブ、コンプレッサを使用しています。

スカイルーイン (星蓮船)

イコライザ、リバーブ、コンプレッサを使用しています。

Loop Kit

春色小径 ~ Colorful Path (花映塚)

VGEE Reverb、VGEE Chorus、イコライザ、ステレオイメージャ、コンプレッサを使用しています。

Reso Kit

懐かしき東方の血 ~ Old World (永夜抄)

イコライザ、VGEE Reverb、VGEE Chorus、ディエッサ、コンプレッサを使用しています。

Big Arena Kit

青空の影 (星蓮船)

イコライザを使用しています。


Groove Agent 3

今回は収録にGroove Agent 2を使用しています。音に違いはありません。

House

あなたの町の怪事件 (ダブルスポイラー)

イコライザ、リバーブを使用しています。


Real Guitar 3

今回は収録にReal Guitar 5 CLASSICを使用しています。音に違いはありません。

日本中の不思議を集めて (伊弉諾物質)

イコライザを使用しています。

The Grand 3を手に入れた

お久しぶりです。
1ヶ月とちょっとぶりですね。

いやはや、どうにも書く事がない。MQubeの方ではちょくちょく活動してたんですけども。「春の湊に」とかやってましたよ。

つーか、耳コピとかしてると、記事書く暇がないのよね。私は、講義中とか、そういう暇な時に書く事が多いので…

この感じ、ふあん亭さん風に書くと(書くな)、

☆1ヶ月無更新は朝飯前…!

みたいな。

うん。そんだけ。


The Grand 3。

ようやっと、手に入れました。
もうセールとかやらなさそうだったんでね。

一応、検討もしたんですよ?同価格ならHALion Sonic 3の方が良いんじゃないか、とか(アカデミック価格だとTG3と同じくらいなのです)。
いやいやSymphonic Orchestraの方が、とか。

念の為、両方とも試用してみましたが…
うーん、こんなもんかという感じ。

まあ用途が用途なのでね。仕方ない!

いやむしろ、この前の唐突なセールは、TG4発表の前座なんじゃないか説も浮上してます。私の中で。Steinbergのフォーラムでもそんな感じの事を言っていましたし。

とりあえず、これで何か新しい耳コピでもやってみますか。

うん、ネメシスが良いかな。
…難しそう

The Grand 3を手に入れた…?

当ブログも20記事突破!やりぃ!

え?
半年にしては少ないって?

ご冗談www











すみません。
もっと更新できるよう頑張りますんで…

ちなみに、現在の記事数は22記事となっていますが、東方音源まとめは1記事としてカウントしてます。ただの分割なのでね。


表題通り。
50%OFFセールやってたんで、The Grand 3を手に入れました。




嘘です。

買おうとしたら、もうセール終わってたんですよ…
Vプリカ用意してたのに…(´・ω・`)

もう暫くは50%OFFセールなんてないでしょうし、また機会があった時にという事に致しましょう。今の環境でも全然困らないですしね。


とてつもなく今更ですが、Twitterを始めました。

ここ数日、おそるおそるやってみてはみるのですが、SNSってどんな感じで接していけばいいのか、よくわからないのですよね…まあ始めたばかりだというのもあるかと思いますが…

リプライだの引用リツイートだの、Twitter用語が、まだイマイチ覚えられていないのです。FF外がどうのとかってのもよくわからん…

実のところ、マストドンの方は、少し前からやってたんですよ。
とは言っても、某DTPインスタンスでのんびりしてる程度ですので、SNSの練習とはならなかったようですが…

Twitter、良かったらフォローしてね!

…うむ。こんなテキストリンクではどうにも格好がつきませんな。
後でSNS関連のボタンを付けておこう。

覚えてたらね。

それと、ついでに(と言ったら運営の方に悪いかもしれませんが)MQubeも始めました。
MQubeは、Twitterとの連携がウリの音楽共有サイトです。年内のサービス終了を予定しているTmBoxの後継サイトとのこと。

とりあえず、The Grand 3の購入に備えて、そして、テスト期間中の現実逃避として作った死霊の夜桜の耳コピをアップロードしてあります。例の如く未完成です。
The Grand 3の代わりに、SONiVOXのEighty Eight Ensemble 2.5を使っているのですが、音色は結構似せられたかな、と思ってます(後悔はしていないっ…)。

今迄耳コピした曲(の断片)もこっちに上げておこうかな。


さて、明日でテストも終わり。
学校も終わりです。

夏休みは何をしよう…

とりあえず、先述の耳コピよろしくテストの逃避として始めたGameMaker Studio 2の日本語訳作業を頑張る事にします。