読者です 読者をやめる 読者になる 読者になる

こんにちはマイコン制御

May FORTH be with you.

Sonic Pi関連追記

SonicPi楽しいです。SuperColliderの音をRubyの文法でいじれるのはステキ。
www.youtube.com

SonicPiでシンセをゼロから書くにはClojureSuperColliderで書かなくてはいけないみたいだけれど、結構シンセの種類はあるし、サンプルも扱えるので、今はそこまで考えなくても良いような気がする。

SonicPiはRubyやらSuperColliderやらClojureやら色々な言語環境を組み合わせて構成されているけれど、曲を書く限りではRubyだけで良いし、データ構造がほぼRubyそのままだから、Rubyに慣れるのには良さそう。実際、そういう意図でも使われているらしい。

資料関係見ていたら、Processingからoscでコントロールする例が出ていて有難かった。勉強になりそう。

あとSonicPiじゃないけれどJavaのサウンドライブラリであるMinimの作者が David OReilyの作ったゲームのプログラム担当としってビックリ。へー。
www.youtube.com

David OReily氏の作品を初めてみたのはPlease Say Somethingで、衝撃を受けたのだった。
vimeo.com

JavaRuby(そのものではないけど)で音楽やれるというのは趣味と実益を兼ねてていい感じです。

音楽制作系メモ

  • プログラムの勉強も宅録も全然できていませんが、ネットをぶらついててこんなのを見つけた。

www.gizmo-music.com

  • PureDataを動かせる単体シンセ。自分で作ったパッチも入れられる!
  • おお!こりゃ面白そう!と思って久しぶりにPureDataのページとか見に行ったりした。
    • ちょっと今の自分には高いけど手に入れて気合入れて曲作るか!とか一瞬盛り上がり。
    • けど、待て待て、これならラズベリーパイとかで自作した方が安くないかと思いとどまった。
  • 少し冷静になって音楽制作環境に安く手軽に新鮮さを導入したいなーと思って何がしたいか何ができるか考えてみた。
    • Organelle見て盛り上がったようにハード触りたいな~とは思っているのだけれど、実際もうすでに曲を作るに十分なハードは手元にあるのだから、無いから作らないというのは言い訳だな、と思う。
      • RenoiseでACID作るのはとても楽しいし実際ぼちぼちスケッチ作っているのだけど、何か作品としてまとめるベクトルは今自分の中に無いようだ。
    • もう一つ、ハード指向で考えていたのはライブって考えていたのだが、バンドやってたころから人前で音楽やるのはすげー緊張してしまうので、本当にやりたいのか?って話もある。
      • とは言いつつ、今の音楽環境(作ったり発表したり)を変えたいと思っているのは確かだったりする。
    • 基本スタイルはRenoiseで曲作ってSoundCloudにアップだけれどこれに変化を出したい、ってことなのだろう、自分に必要なのは。
      • ヨロズレーベルのnifty活動時に書かせて頂いていた実験日誌のように、やっぱり実験的なことはしたいのだった。
  • 取りあえずすぐライブやる何の当てもないので、動画作れる音楽制作過程があると楽しそうだとは思った。
    • あと、プログラムもやんなくちゃならないので、それも加味できればなおいい。
  • とりあえず思いついたのはProcessingを使う事。
    • 簡単Java文法なのでJavaやる前哨戦としては良いのではないか。
      • それと調べてたらProcessingで使えるBearsやminimというライブラリはJavaでも使えるので、勉強の橋渡しにちょうど良さそう。
    • あとProcessingだと動画が作れるし、インタラクティブなことがやりやすい。
      • 単体アプリで配布しても良いしp5.jsでサイトに置いても良い。
  • あとライブコーディングとかも調べてみた。
    • 以前ライブコーディングってことだとChuckとか(fluxus)とかを触ってみたことがあった。
    • ラズベリーパイで動かした実績のあるものを調べていたらSonic-Piというのを知った。
      • 早速ダウンロードしてみたら、チュートリアルとカ日本語化されているし結構いい音がする。
      • とても良いかも。
    • 出音が良いというのは良いです。
      • Renoiseでの音作りにちょっと壁を感じてきていたのは最終的なマスタリングが自分で納得いかなくて、かつ、そこに悩むのは本質的でないかとも思っていたから。
    • あとUbuntuリポジトリみたらSonic-PiはrubySuperCollider動かしてるっぽかった。音が良いわけだ。SuperColliderの音はMAX/MSPより好き。

The Beads Project - Realtime Audio for Java and Processing
Minim | Compartmental
chuck.cs.princeton.edu
(fluxus)
sonic-pi.net

gawk偉い

  • なんかこの2か月ちょっと色々有り過ぎ。
    • 地震以降人生不安定すぎる。
  • 今更Javaをいま一番勉強すべきなのだけど出来てない。
    • 仕事に使うことになりそうなので。
  • 個人的にはJavaScript(p5.jsとWebAudioAPIとTree.js)やりたいのとRubyもちょっとやりたくなってきた。
    • まだ「やりたい」だけだけど。
  • JavaJavaScriptRubyならこれが良いかなと思ってNetBeans使ってるけど良いです。
  • 仕事で厚生労働省のHPから100万行分のHTML読んできて2万件強のデータ取り出す作業をしました。
    • もっとあったみたい。300万行くらい?
    • 最初かなり自動化できるんじゃないかと思ったけれど、ページの作りが変で、複数ページにわたるデータを手でダウンロードしなくてはならなかった。
      • 更にデータはテーブル形式でまとめてあるのだけれど、1セル内に複数データが入ってたり入ってなかったりとこれまた変。
  • 最初エクセルでマクロ組んで処理してって言われたんだけどエクセルじゃ重いし面倒くさかったのでgawkワンライナー書き飛ばしつつ最終的にCSVでエクセルで整形、でなんとか実質1日で作業終了しました。
  • gawk速いし軽いしWindowsでも問題ないし偉い。
    • この1年で書いたプログラムの中で生産性高いのってawkワンライナーばっかりではないだろうか。


Thundercat - Drunk (FULL ALBUM)

新年の抱負

  • 年末、諸他の事情で全然更新してなかったけれども、年も明けたのでちょっと書いてみる。
    • プログラムは色々フラフラしてますが、とりあえず今年はJavaScript中心にWeb系をやることになると思う。
      • p5.js触るのとGameMakerも使いたい。
    • 音楽はちょっとハード回帰してみようと思います。
      • volcaを少しずつ買い集めていきたい。その前にコンパクトミキサーかな。

ちょこっとメモ

Lua Webアプリ
  • はてなブログ経由で知ったPICO-8がLuaで動く仮想ゲームマシンコンソールで素敵。同じ人ので3D版もある。
    • この箱庭感。制約があるのも良い。お値段手ごろ。
    • Teenage EngineeringのPOシリーズっぽい感じ。

PICO-8: FANTASY CONSOLE
Voxatron

  • お値段手ごろつながりでって言っても本当はお手頃価格ではないんだけれど、チャリティーセールでディベロッパー版+HTML5エクスポート+アンドロイドエクスポートで7万円弱のところ1500円で買えたのでsteam経由でClicktema Fusionを衝動的に買って放置してたんですが、ちょっといじってみようと思って、チュートリアルやってWindows実行ファイルとHTML5でビルドしてみました。良いですねこれ。
    • 個人でゲーム系Webアプリ作るならこれは手軽で良いかも。フリー版だとHTML5出力だけだけれど出来るようだ。

www.clickteam.jp

  • LÖVEやりだしてドット絵打ちたくなってゲーム業界いた時の資料みたりネット漁ったりしています。
    • 超精密なのよりロービットの美学が素敵。
    • Amazonの中古でこんな本も買った。

ドット絵講座

ドット絵講座

LÖVEのライブラリとデータフォーマット周り

LÖVE Lua
  • LÖVEは標準でも色々なデータフォーマットに対応しているけれど、色々なデータを扱えるようになるライブラリを有志の方々が作ってます。
    • この人のつくるライブラリはツボに入った。

landonmanning.com

  • それで上のブログのLandon ManningさんのライブラリSTIとか他にもライブラリがあるんだけれど、Tiledというマップデータを扱うライブラリでTiled本体を知りました。

f:id:SenjiNiban:20161029120311p:plain

  • Tiledはスクリーンショットの通り2Dゲームのマップを編集するソフト。マップ画像だけでなく、オブジェクトとかも配置できる。WindowsMacLinuxに対応。
  • 面白いのがデータのエクスポートで、CSVはもちろんなんですが、json形式、JavaScriptファイル、Luaファイルにエキスポート出来る。
  • あと、Landon Manningさんは前回紹介したlove3dも作っているんだけれど、これを作るために数学計算用ライブラリcpmlとか3Dモデル読み込みライブラリiqmとかも作ってる。
    • iqmはFPSQuake発祥のモデルを読み込める。
  • 最後にリンクまとめ張り

github.com
github.com
github.com
Tiled Map Editor
MakeHuman | Open source tool for making 3d characters
Inter-Quake Model (IQM) Format

  • The IQM development kitが正式に対応しているのはblenderの2.64まで

http://download.blender.org/release/

Windows10の大規模アップデートの対応とか

  • 前にも書きましたが自分の家のPC環境はノートPCでWindwos10とLinuxMintのデュアルブートで、今はLinux使うことが多い。
  • なぜならば、Windows10の大きなアップデートがあったわけですが、それが上手くできてなかったんですね。
    • Windows10だと自動更新の設定オプションとか見えにくく判り難くなってるので、基本おまかせでやってるんですがそれだと今回の大規模アップデートの際に、なんかビデオのコーデックのライブラリかなんだかがレガシーで、アップデートすると動かなくなる可能性があるので更新できませんでした、となって終了してしまうのでした。
      • これが結構な頻度で発生するので、段々起動とか動作が重くなってきた。
  • 前のWindowsの時、XPとか7の時もこのアップデート関連で段々重くなってきて、それが嫌でLinuxにシフトしていたこともあるんですが、Windows10になって、そこら辺が解消されて良い感じに動くようになり、ソフトウェア資産の多さ(音楽用VSTはやっぱりWIndowsの方が楽)でWindowsに戻ってきてたのですが、こんな調子になってきて、やだなーと思ってちょっとLinuxに避難していたという状況。
  • そんな状況だったのですが、おまかせで更新するのじゃなくて、更新用のアプリをダウンロードして、じっくり更新させたら(ほんとうにじっくりで30分以上掛かってる)ビデオコーデック問題も片付いて、無事大規模アップデートに対応することに成功しました。
    • 更新中何度か再起動するんだけどデュアルブートLinux優先にしているもんだから、ちょいと面倒臭かった。
  • このノリで次回大規模アップデートも上手く対応できて、予告されてるHMDとかこの安ノートPCでも対応できたりしたら良いなあ
    • そうしたらUnityとか頑張っちゃうんだが

www.gizmodo.jp

  • LÖVEの方は本当にやったりやらなかったりでボチボチ
  • シーケンサーの方は奥さんも使ってみたいというリクエストを貰ったので、まずプチコンmkIIとかにもあるような簡単シーケンサーを完成させる事にしました。
    • サウンドエンジンは出来て、ビートに合わせてシーケンスだけじゃなくて背景とか細かく動かすとかは出来た。

f:id:SenjiNiban:20161027195833p:plain

  • あと、シーケンサーとは別にやっぱり3D出来たら嬉しいな、と思ってフォーラムでLove3Dライブラリ見て、デモをダウンロードしたけど動かなくて、ソース読んで直して動かす、ってところまでは来ました。

f:id:SenjiNiban:20161027195853p:plain
ライブラリ作者のデモムービー
www.youtube.com

  • LÖVEとLuaに段々慣れてきてるような気がするが、もう少し自分に開発スピードが欲しいなあ。
    • でも本当にLÖVEは取っ付き易いフレームワークだと思う。オッサンが趣味でやるのにはとても良い。
    • Luaはテーブルが本当に便利。
      • Luaにはswitch文が無いけれど、テーブルに関数を入れられるので、それで対応するとか。
    • コルーチンとかガンガン使いこなせるようになりたい。