よもやもダンプ

気が向いた時にアウトプットしておくところ

雑記#11

OPNAのトラッカーを作るのに動作を参考にするためいくつかトラッカーを使ってみた。
0CC-FamiTrackerはGUI部分が凝ってる印象だ。パターンエディタ内でマウスでも色々操作できるようになっていて作りこみが凄い。
対してDefleMaskはキーボードでの入力がメインな感じ。まあ自分は初めてのトラッカーがGoatTrackerだから別に苦にはならない。同じFM音源を扱うトラッカーなのでキーショートカットやユーザインターフェースはかなり参考にしている。
OpenMPTも少し触ってみて、他のトラッカーはこれのパターンコマンドをベースにしている感じだったのでそこは採り入れる予定。
あと最近度々Twitterで流れてくるSID-Wizardも少し見てみたけど、全体的にはGoatTrackerと同じ操作方法で動かせて、かつインストゥルメントをFamiTrackerみたいに別々に管理しているみたいで結構良さそうだ。C64実機で動くソフトなのでエミュレータを使うことになったけど使いやすそうなのでSIDでの作曲はコレに移ろうかなと思ったりした。
自作のトラッカーもオーダーリスト、パターンエディタの操作は基本的な操作ができるようになってきた。曲データの保存とかSSGの音色設定、FM・SSGのアルペジオとかの設定がまだできないので曲を作れるようになるのはまだまだ先になりそうだ。

雑記#10

暑すぎて昼間に頭が働かない
10時ごろから4時間ぶっ通しで外で作業していたら軽い熱中症になった
少し前にこれでもかというほど雨が降って、その反動でここ最近はずっと晴れが続いて干からびてしまっている
夜に活動しようとすると今度は寝る時間が少なくなって寝不足に陥るので、満足に作業が進まない

Ubuntuのデスクトップ環境をGNOME 3からCinnamonに変えた
自分はWindowsのようなタスクバーの方が慣れているのでMacみたいなドックを使うのは耐えられなかった
あと、デスクトップを2つに増やした
片方を縦に置くとソースコードだったりネットの情報などが多く見れるので超便利
ただ絶対首をどちらかの方向に向けておかないといけないので首が痛くなるのが難点

雑記#9

最近は色々忙しくて趣味の進捗があまりない
おまけにワールドカップがロシアで開幕してしまったのでそっちに時間を割きそうだ
正直日本代表には期待してない。ブラジル大会の前にブログで「雰囲気がドイツの時と似てて不安」と書いてて結果その通りになったので、今回は南アフリカのとき並に期待できなくて本番は結果出す。と思いたかったが前の監督の解任といいチームだけじゃなくて協会もゴタゴタなので素直にグループリーグ敗退を予想。
まあ悲観的に見てもワールドカップだしやっぱり勝ってほしいから応援する

正直最近は神戸のサッカーが見たい
去年ポドルスキが来た時もマジか、ってなったけど、まさか1年後にイニエスタが来るとは思ってなかった。良く取れたなぁ
今年の前半は神戸の試合を見に行けてないから、ワールドカップ明けに1度は見に行きたい
イニエスタがどこまでハマるかはわからないけど期待したい

MATLABでなんちゃってMML

研究の息抜きにMATALABで簡単なMMLを書けるようにした。
音色は正弦波、矩形波(デューティ比可変)、三角波、ノコギリ波で音長、ゲートオフ、オクターブ(相対・絶対)、テンポ、音量、ループ指定ができて音色のADSR、ポルタメントは指定できない。
Octaveでも動いた。

MATLABでMMLもどき

UbuntuでCtrlとCaps Lockを入れ替える

この春からUbuntuを触ることになっていろいろ設定した時の、JISキーボードのCtrlとCaps Lockの入れ替えについてのメモ。

テキストで設定を記述する方法もあったけど、今回はgnome-tweak-toolを使って設定してみた。ラジオボタンをポチポチ押すだけでUbuntuの設定ができて便利なアプリ。

$ sudo apt install gnome-tweak-tool

インストールした後ターミナルから

$ gnome-tweak-tool

で起動して、「タイピング」メニューを選択。
「Ctrlキーの位置」を「CtrlとCaps Lockを入れ替える」にチェックすると簡単に入れ替わる。
ただ、このままだとShift+Caps Lockが有効なままになってる。Emacsキーバインドに慣れてしまった自分にはCtrl+Shift+###みたいな操作ができないのは辛い。
そこで「Caps Lockキーの動作」を「Make Caps Lock an additional Ctrl」に設定するとCtrlだけがCaps Lockに割り当てられる。

2つ目の設定の方は色々調べてもあまり書かれていなかったりしたので適当に設定をポチポチして当てた。gnome-tweak-toolは他にもコピー、切り取り、貼り付けなどのキーバインドEmacs風に設定出来たり色々便利。

Qtで音声のリアルタイム再生をする

キーボードをピアノの鍵盤に見立ててキーを押すと音が鳴る簡単なシンセサイザーSDLで作った後、音色もいじれるようにしようとQtでGUI化した。
オーディオストリーミング部分を移植中にQt(5.10)で説明してるものがあまり見つからなかったのでここで自分のやり方をまとめておく。

続きを読む

windeployqt.exeでdllをコピーしてきても実行ファイルが動かない

WindowsでQtを勉強し始めて簡単なアプリができたので、とりあえずQt Creatorでreleaseビルドしたあとに生成されたexeファイルを実行しようとした。すると実行に必要なdllが見つからないよと怒られた。

WindowsでQtアプリの配布パッケージを作る(windeployqt.exeを使ってみた) - 理ろぐ

自分で探してくるのも面倒なので何かいいツールがないか探していると、windeployqt.exeというものが既に用意されているのを知った。開発環境はQt5.10.1 & MinGW5.3.0 32bitなのでC:Qt\5.10.1\mingw53_32\binにあったwindeployqt.exeを上のブログのように実行するとdllを自動でコピーしてきてくれた。
これでよし、と思って実行してみると、libwinpthread-1.dllがないよと怒られた。どうもこいつはMinGWサードパーティのライブラリはコピーしてきてくれないらしいので手動でwindeployqt.exeがあったところからdllをコピーした。
すると、今度は「プロシージャ エントリポイント *** がダイナミック リンク ライブラリ xxx から見つかりませんでした。」(xxxはdllだったりexeだったり)と警告された。不勉強なのでどういうことかと調べてみると、これはどうも間違ったdllをコピーしてきてますよ、ということらしい。
libwinpthread-1.dllと同じところからdllをコピーし直してみたけど、同じエラーが出続けた。C:Qt\Tools\QtCreator\binの方のデータをコピーしてきてもエラーが出続けるので、もう自分で必要なdllを全部コピーしようかと思っていたところ、Stack Overflowで自分と同じことを質問してる人がいた。

Cannot run Qt C++ release build. 'The procedure entry point could not be located' - Stack Overflow

ビルドしたexeファイルをC:Qt\5.10.1\mingw53_32\binに移動させて実行すると、問題なく動いた。こりゃwindeployqt.exeが間違ったdllをコピーしてるのが確実なので、windeployqt.exeで自動コピーしたdllを1つずつC:Qt\5.10.1\mingw53_32\binのものに置き換えていった。するとlibstdc++-6.dllを変えた途端アプリが実行できた。
windeployqt.exeについて調べてみると、いくつかdllが間違ってコピーされることがあるようで、信用しすぎるのは良くなさそうだ。