I’m loser, baby.

So why don't you kill me?

メモ

  • JavaScriptで音やるとして、もしかしてnode.jsをローカルで実行してなんかできるんじゃないかと思って調べてみたんですが、公式にWebAudioAPIが実装されているとかではなく、なんかみんな色々やっていて、これ!っていうのがある訳ではないみたい。
    • しばらくはあんまり奇をてらわず、基礎を学んでおいた方が良さそう。
  • Processingはいじると思うけど、線形予測とForthの実装、ってことで言うとProcessingは回り道になっちゃう。
    • 結局それで何をやりたいかってことに焦点を当てる必要があるよね。
    • 技術を身につけたい、というレイヤーと物を作りたい、というレイヤーを意識的に分けて考えないとごっちゃになりそう。
      • Processingは簡単JavaとしてはJavaを学ぶ方法としては良いと思う。(技術習得)
      • それと簡単Androidアプリ作りにも良い。(モノづくり)
      • p5.jsはJavaScript学ぶ、というよりはProcessingを学ぶのに良い。(技術取得)
      • そして簡単AudioWebアプリを作るのにも良いだろう。(モノづくり)
      • そうすると今欠けているのはJavaScriptを学ぶこと(技術習得)と線形予測によるエフェクタの実装とJavaScriptによるForthの実装になる。
      • で、ここで問題になるのは線形予測によるエフェクタの実装とJavaScriptによるForthの実装でこれは技術習得なのかモノづくりなのかって事ですね。
    • そうすると、この2つで実現しようとしているAudioWebアプリは何なのか、それは自分にとってどういう意味があるのか、もっと考えるべきって事かもしれない。
  • 取りあえず音回りで漠然と理想像としてあるものを羅列してみる。
    • インターフェース周りの本も買ったことだし、もうちょっと考えてみよう。

Kyma Sound Design Environment – kyma
MetaSynth 5
KeyKit
Dr T's KCS AND TIGER CUB

フレームワークまわりライブラリまわり

正直、熊本に来る前後2年位は頭の回転も意欲も衰えが酷いと感じられて、自分大丈夫かと思っていたんだけれど、ここのところの自分を振り返ると頭の回転はともかく、学習意欲に関してはまだ何とかなりそうな気がする。頭はなるべく使ってあげないといけないんですね。

CakePHPいじる

  • 今週はCakePHPいじってました。
    • 先週の作業
      • ざっくり仕様を元に画面を一通り作る>それを元に必要データ一覧をざっくり作る>CakePHPチュートリアルを一通り復習する
    • 今週はこんな感じ
      • phpMyAdminでデータベースにデータ入れる>チュートリアルを改造して作り出そうとする>いやまて、何か違うと思い至る>ScaffoldとBakeを調べてBakeでやることにする>3回くらいBakeでMVC作っては消しを繰り返す>結論、Bake便利!>先に画面作れということなのでViewのctpファイルをいじりだす>Helperに自分が欲しかった仕様がほとんど入っててビックリ>ほとんどプログラムしなくていいじゃない>とはいえModelはいじらないとね>あれ、ほとんどSQL書かなくていいのか>だが週末で頭も疲れてきてModelの仕様の理解が進まない>手が止まりかけたので、取りあえずもう一回View周りに戻ってサイトをレスポンシブにする準備>レスポンシブの仕組み判ってないからググる>ざっくり判った>規模大きくないからPC用とスマホ用にCSS分けよう>細かいところはまだまだだけどざっくり出来た
    • CakePHPのおかげでずいぶん楽に作業を進めさせてもらった。
  • 以前はフレームワークって面倒くさそうで自由度の高いCMSがいいやと良くMODx使ってたんですが、ここまで手取り足取りやってくれるなら小規模でもフレームワーク使うのは有りですね。
    • MODxもとっても良いですよ。

modx.jp

  • ほとんど生のPHPSQLに触れることなく作業が進んでいます。
    • でも、よく言われていることかと思いますが、結局フレームワークという言語を学ぶことにはなるんですよね。
    • しかしMVCの概念に則っているしCakePHPは判りやすいとは思う。

Processing再訪

  • そんな訳でお仕事関連の勉強はとても進んだけれど、自分の興味に近いところの勉強もしたい。
    • 今やりたいのはHTML、JavaScriptJavaまわりだよなー、と、ぼんやり考えていたら、ふとProcessingのことを思い出したので公式サイト行ってみたらバージョンが上がって色々様変わりしてた。
      • 関係ないけどネットで検索しにくい言語ってありますよね。Processingの他にはRとかDとかJuliaとか
  • Ver3になって、自分が知っていたVer1~2の頃と変わっていた事いろいろ
    • アプレットへのデプロイが無くなっていた。
      • 時代の流れか。
    • JavaScript出力がいったん未対応になっている。
      • これは後述。
    • python対応してた。
    • Androidアプリへのデプロイが更にスマートになってる。
      • ちゃんとしたアプリが作れるようだ。
    • ライブラリの管理がメニューから出来るようになって簡単になってる。
    • 文法も結構変わってて2の時のスケッチは結構そのままではコンパイルできなくなってる。
      • ウィンドウサイズ指定とか。
  • そしてJavaScript版がサイトとしても独立かつ統合されていた。

p5js.org

  • WebAudioAPIとかのせいで、公式ライブラリとして音回りのライブラリが同梱されている。
    • WebAudioAPIはこれとネット資料で勉強が捗りそう。
      • 線形予測で音を加工するライブラリ作れればSpeak&Spell2000ウェブ版に近づけるなあ。
  • サードパーティーのライブラリも色々リンクがあるのだけれど音回りだとgibberが凄く良さそう。
    • ローカルでも実行できるので興味のある人はサンプル触ってみると吉。
    • 自分の作りたい音楽関連のウェブアプリ、シーケンサー部分はこれでいけるんじゃないかな。

p5.gibber | Gibber: Creative Coding for JavaScript

ジェダイへの道 ForthとJavaScriptとemulator

話のマクラ

  • 帰ってきましたよ、初心に。
  • この後、CakePHP入れて会社でやったことおさらいしてページデザインするための手順を確認するつもりなんですが、その前に己の欲望に従ってForth周りで昨日調べたことをメモっておきます。
  • ここまで書いたら部屋で放し飼いにしている亀が餌をねだりに来たのでたらいに水張って餌と一緒にいれてあげた。
  • そういえば会社で音の加工のことで突然質問されて、割合的確な答えを返せた自分をほめてあげたい。
    • なぜならば音関係は今後任せます、と冗談半分にしても言ってもらえたから。やった!

Forth@Javascript

codepen.io

    • 昔は色々あったみたいですが、正直あんまりアクティブなプロジェクトは多くはない。
      • 技術的な興味の他には、素のJavaScriptスクリプトに制限をかけるような言語仕様を実現しても面白くないんだろうかね、と。
  • 上の3つの例のうち上の2つはJavaScriptでヴァーチャルマシンを作って、その上でForthを動かしているので、広がりやら技術的面白さということでいうと、このアプローチになるのでしょう。

JVM(JavaScript Virtual Machine)

  • 上のようなことを考えていたら、Jupiter Aceのことを思い出した。ご記憶でしょうか。

senjiniban.hatenablog.com

  • もしやと思って探してみたら、やっぱりありました。JavaScriptでJupiter Aceをエミュレートってやつ。
    • ゲームも色々遊べるよ。
    • なんかこの人は色々なマイナーPCのJavaScriptエミュレーター作ってて、愛があっていいですね。

jupiler, the unique javascript Jupiter Ace emulator

  • この人だけではなくて昔のPCをJavaScriptでエミュレートしている人は結構いる。

www.cambus.net

Javascript PC Emulator

  • こんなものまであった!動作だけでなく6502アーキテクチャの完コピ。マニアック!

Visual 6502 in JavaScript

  • JavaScriptからは少し離れるけれど、Forthがらみでいったらこんなものも見つけた。
    • Verilog200行(!)で書かれたForth用CPUで、TCP/IPとかも対応しているそうだ。
      • Verilog200行だったら自分にも読めるのではないか。

The J1 Forth CPU — excamera

お仕事1週間

お陰様で無事新しい職場で1週間が過ぎました。

  • 熊本に来て初めて全てが腑に落ちて働けた1週間かもしれない。
    • 100点満点って訳にはいかないけれど良く出来たとは思った。
      • 「良く出来た」のは仕事内容というより自分の心持ちとか態度のことね。
    • あと時間の見積もりはまだまだ駄目だ。見栄張らなくていいのに、もー。
  • 内容的にはwebアプリの画面要素検討と必要データの検討でした。
    • 自分の作業スピードの上げ方はもっと研究すべきだな。
    • こだわらなくて良いところをこだわるのは悪い癖だ。
      • 「後で直すんだから今は良い」って自己暗示掛けないといけないな。

技術取得のリファクタリング

  • まずはHTML5+CSS3+JavaScript
    • 今の会社はwebアプリ+スマホアプリメインの会社なのでまずはwebアプリが作れるようにならなくてはいけない。
      • そりゃweb制作は以前だってお仕事としてやったことはあるけれど、何年かぶりでまたweb作ってお金貰うからには今現在の技術・クオリティをプロとして最低限クリアしたものが作れなくちゃいけない。
      • それにこの3点セットだって攻めようと思えばいくらでも高い峰が設定できる訳で。
      • JavaScriptでも以前遊ばせてもらったBiwaSchemeみたいに自分の個人的興味に十分近いところまで降りて行っても実用的になるスピードで動く。
      • それにWebAudioAPIを見る限りブラウザ上でだって自分がマイコンやその他でやりたかったことは出来る筈なのだ。
    • まずは超大急ぎでHTML5+CSS3をおさらいし、来週からの仕事に臨む
    • 並行してJavaScriptもおさらいする。
      • 普通にJavaScriptの勉強も、もちろんする。
      • そしてやっぱり音をやりたいのでWebAudioAPIがらみで自分に課題を出す。
      • 前から言ってるibnizの移植をやってみたい。
        • それにはこれまで調べてきたForthのことやCPUについての勉強が役に立つはず。
      • どこまで出来るか判らないけど、頑張ってみる。
    • とりあえずはどの言語から身につけよう、って悩むことは無くなった感じだな。
  • 次にCakePHPPHP
    • これは単純に今参加しているプロジェクトがこれで作られるから。
      • PHPも7まで来ているし、CakePHPとか触ってみたのはずいぶん前なので、やっぱり勉強しなおすくらいの気持ちでやらないといけない。
    • これはもう会社で触って、CookBookのチュートリアルやったけど、前はほんとにチュートリアルなぞっただけだったが、今回は結構思い出し理解しながら出来た。
      • 判んなくても勉強は続けておくもんだ。
  • そしてkotlin+JAVA
    • これは急ぎじゃないけどアプリも多分思っていたよりは早くやらされそうなので、これも見ておく。
    • 会社じゃkotlinは使ってないけれど、触っておいて損はなさそうな気がする。
    • もちろんお仕事としてやるのでJAVAでもアプリ作れないとだめだけど。
    • というかこの二つはandroidアプリ制作に特化して勉強すれば良いかな。
  • そしてFORTH
    • JavaScriptでForthっぽいibnizを移植しようとしているので、優先順位的にはある意味一番上に戻るとも言える。
      • やっぱりブログのサブタイトルにしているものを無視するわけにはいかんです。
    • ただ既存のForth実装でバリバリプログラムしたいのか、っていうとちょっと違うのかもしれないのが悩みどころですが。

でもって買ったり借りたり発掘したもの。

  • という訳で読んだり調べたりプログラムしたりしているのですが、ここのところ紙の本を読む機会が多い。やっぱり紙は紙の利点があるよなあ。

今すぐ使えるかんたんPLUS HTML&CSS逆引き大事典

今すぐ使えるかんたんPLUS HTML&CSS逆引き大事典

ざっとおさらいするにはどれがいいかなと本屋に行って数冊眺めてみてこれにした。まだ読めてないけどコストパフォーマンスは良さげ。
初めてのAndroid 第4版

初めてのAndroid 第4版

何は無くともオライリー。その分野についてオライリーの本を1冊でも持ってないと不安で仕方がない病にかかっているのです。
Kotlinスタートブック -新しいAndroidプログラミング

Kotlinスタートブック -新しいAndroidプログラミング

こちらも早速ゲット。
良いAndroidアプリを作る139の鉄則

良いAndroidアプリを作る139の鉄則

Androidってだけでなくて開発ノウハウとしても勉強になる。滅茶苦茶面白くて困る困らない。少年漫画論として素晴らしいのと人材育成論としても素晴らしい。でもってこちら。本誌もいよいよ主人公たちが双亡亭に侵入して話が熱い。
検索と発見のためのデザイン ―エクスペリエンスの未来へ

検索と発見のためのデザイン ―エクスペリエンスの未来へ

さよなら、インタフェース -脱「画面」の思考法

さよなら、インタフェース -脱「画面」の思考法

  • 作者: ゴールデン・クリシュナ,武舎るみ,武舎広幸
  • 出版社/メーカー: ビー・エヌ・エヌ新社
  • 発売日: 2015/09/17
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (5件) を見る
そして技術自体が目的にならないために。このことは最近社長とのメッセージのやりとりでも出た話題。

やりたいことやれること

  • さて、再就職先が決まったので走り出す前に考えタイム。
  • 新しい会社ではアプリを作る仕事にまず就くらしいのでそこら辺から
    • 組み込み系などもやっているのでこれまでの興味の路線が活きる可能性もある。
  • (携帯)アプリを作るという事については、ディレクターだったりプロデューサーだったりの関わりは持ってきていて、ここは自分の強みだとは思うけれど、プログラマーとしてはアマチュアとしても2流以下なので、ここから頑張らなくてはいけない。
    • 仕事として考えると「アプリを完成させること」「アプリを売ること」が目的なので、あまり技術的なことにのめり込み過ぎたりコンプレックス持ちすぎたりしないようにはしたい。
    • ただ、最低限の技術的トレンドくらいは押さえておかないといけないし、技術的なことも多少は判るというのも自分の強みの筈。
  • それでスマホアプリということでやるとしたらJavaobjective-Cかswiftって事だよなあ。
    • 実際、前二つは面接で出てきた。
  • 取りあえず手元にあるのはWin/Linux環境なので、まずはAndroid開発環境を調べてみる。
    • Javaやることになるとは思ってなかったなあ。
    • それで色々見てみたらkotlinというのもあるのですね。
      • 名前が可愛いぞw。
      • objective-Cに対するswiftという感じでJavaに対するkotlinというなのですね。面白そうな気がとてもする。
      • 公式サイトでお手軽に触れるWEB実行環境がありました。
      • 本も出るという事なんで予約してみた。
    • とはいうものの、Javaも押さえておかないととは思うので、Android特化で良いので早めに色々見ておきたい。
      • 後で図書館に行って本を見る予定。

try.kotlinlang.org

Kotlinスタートブック -新しいAndroidプログラミング

Kotlinスタートブック -新しいAndroidプログラミング

  • でもってAndoroid開発環境をインストール。
    • ネット見ながら、Java環境と、Android StudioとGenyMotionをインストール。
      • 環境自体の移り変わりとかバージョンアップとか凄いスピードっぽい。
        • 英語ガンガン読まないと辛そうだなあ。
      • インストールする際にBIOS弄ったりしなくちゃいけないのが、何かAmigaを思い出させてくれた。
    • 取りあえずHello World!がGenyMotion上で表示されるところまでは確認。
    • この後図書館行って入門書見て今日明日で簡単なアプリのサンプルまでは写経してみる予定。
  • それから先は会社で業務が始まってからで良いかな。
  • Javaといえば、これをインストールしてみたのだがRenoiseではうまく動かない。
    • JVMのバージョンのせいだと思うけど。
    • ただAndroidの環境を不安定にしてまでチャレンジはしなくていいかな。
      • Linuxでやってみるのもいいかもしれない。

jvstwrapper.sourceforge.net

  • 組み込み系の話でいうと、興味的なところはΔΣ変調、1bitオーディオみたいなところにはあるのだけれどそこ止まりなのが正直なところ。
    • 仕事が始まったら、組み込みをやる場合を除いてしばらくは出来ないだろうなあ。
  • 音楽関連はそれでも求職活動中もやってたしこれからもやるだろう。
    • アプリに音付ける作業はなんとか会社の中でポジションを作りたいw
  • 最近はAudioRealismプラグインを入手して喜んで遊んでいるところ。
    • ABL3最高!!

www.audiorealism.se

それから

  • 前のエントリーから1か月以上経ってしまいましたが、本日新しい仕事先が確定しました。
  • 熊本市内のWEBアプリ、スマホアプリメインの開発会社です。
  • ここに至るまで20社位にアプローチしました。
    • ハロワ5社、リクナビ15社くらい
      • ハロワは在職中でも登録して求職活動できるというのは初めて知った。最終的にはハロワで紹介してもらったところに決まりました。
      • リクナビは全く返事が無かったところから内定を貰ったところまで色々。
    • 初心者OKのところでも、この歳になってからはどこも基本はNGでしたね。
      • 結局役に立ったのは制御盤制作を実務でやったことと、プログラマではないけどWEBの制作運営と携帯アプリの制作ををやったことでした。
  • とりあえず今日は暑いのと疲れたのとでここまで。

上を向いて歩こう

  • 諸他の事情で今の職場は7月までとなりました。8月からに向けて新しい仕事を探さないといけない。
  • 不安定な人生を選んで生きてきたので文句はないんですが、思った職に就くのは難しいだろうし、更に新しい分野にチャレンジというのは年齢的にしんどかろう。自分も相手も。
  • ただ、今回の地震を体験して思ったんですが、もう本当に音楽を作り続けられれば、あとはどうでも良いかな、と思っています。
    • 子供も独り立ちしたし、今はダブルインカムノーフューチャーです。
    • 動ける間は音楽作って死なない程度に働いて、動けなくなったら野垂れ死ぬと。
      • そこら辺は奥さんとも共通認識なので良かった。この人と一緒に過ごせているだけで人生の目的は大体叶っていると言っていい。
  • あと10年生きられるとしてスケッチレベルだとしても1週間に1曲作れば500曲作れる。
    • うん、残りの人生の目標として悪くない数字じゃないかな。
  • プログラム系の目標も見直し
    • QB64はやると思うけど、これはツールとしてとにかく早くていいのと覚えやすい、ということなのでこだわらない。
      • 根っこにあるやりたいことは線形予測法による音の生成だけど、音声合成プラグインとかはすでにいっぱいあるから欲しい音を探してなければ作る位の気持ちで良いと思う。
    • 前はプログラム作って配布出来たらと思っていたけど、それこそワナビーな話なので、使い捨てレベルで自分のツールを作るってことがせいぜいなんじゃなかろうか。
      • 要は使う道具はBasicでもpythonでもなんでもいいのだ。
    • でもLuaは良いかも。
      • Renoiseのツールを作れるから。
        • リアルタイム処理は出来ないけどRenoise内で音の合成もできる。
        • RenoiseをLiveみたいなライブ向け仕様にするツールとかもある。
  • 愛機の安ノートPCも使い倒すけれど、microkorgとSP-404SXもいっぱい使ってあげよう。
    • 自宅ライブっぽく使ってみたい。
      • 長い尺の曲はSoundCloudだと容量の問題があるからYouTubeにあげるのが良いか。
  • スッパマイクロパンチョップさんにマスタリングを頼んでみたい。
  • またテーリ・テムリッツさんから直接CD買う。
  • 最近リミックスを良くやらせて頂いているけれど、またユニットもやりたいな。

soundcloud.com