I’m loser, baby.

So why don't you kill me?

Bearsuit Records聴いてみて欲しい

  • 今、ネットラジオRKCで自分が参加しているBearsuit Recordsの特集やってるよ!!!

#RKC - Radio Kaos Caribou

  • 最近アップしたリミックスやってるプロジェクトとはまた別に参加させて頂いているレーベルで、イギリスのエジンバラでやってるネットレーベルなんだけど、素晴らしいアーティストが多いのでぜひ聴いてみて欲しいです。日本人も多くて、スッパマイクロパンチョップさんとかも曲りりーすしてたりする。

bearsuitrecords.bandcamp.com
bearsuitrecords.webs.com

Factor再び

  • PythonSmalltalkも触れていないんですが、ふと偶然Factor触ってみたら何かAHA!体験(死語)したのでちょっと日記にしておく。
    • 以前はブロックの考え方がピンとこなかったんですが、Smalltalk再入門した目で見たら判った。
      • 手続き型じゃない、「全てが〇〇」という言語仕様にするとこういう扱いになるんですね。
    • 特にfactorはオブジェクト指向だし、インスペクタとかノティファイアとかがあるのでSmalltalkでプログラムしている感覚に近いかも。
      • また言語仕様ではないけれど、付属のヘルプブラウザでワードは全部見ることができるのでシステムブラウザ代わりになる。
      • もともとゲーム開発用言語として始まったという話もあってオーディオ周りのワードもたっぷりあった。
  • Smalltalkだと全てがオブジェクトで「if」もオブジェクトだったりするけれど、Forth系は全てが命令で「1」で「値1をスタックに積む」ってことだったりする。
    • なんかSmalltalkとForthだとプログラムの主従が逆な感じ。
      • でもどちらもシステムの中に分け入っていける、システムに手の届く感じはとてもいいなあ。
  • あと少しだけ導入の際の備忘録
    • Macは試していないけどWindowsは公式バイナリ落として解凍して好きなところに置けばすぐ動く。
    • Linuxも本当はそうなはずだったんだけれど自分の環境だと色々ライブラリが足りないと言われたので、試しにソースを落としてビルドしてみた。
      • stableのソースをダウンロードして解凍。
      • /factor/build-support/に移動
      • "./factor.sh help"でオプションを確認。自分はLinuxMintなので"deps-apt-get"で必要なライブラリをインストール。
      • "./factor.sh install"でビルド。結構時間は掛かる。あとインストールと言ってもビルドまで。
      • /factor/build-support/factor/以下のファイルを適当なディレクトリにコピーしてパスを通して完了。
      • ちなみにscaffoldで作られる自分用ボキャブラリは/factor/work/に保存されるのでエイリアスか何か作っておくと楽。
    • ATOMにはFactor用の設定もある。
      • 本当に何でもあるね。
  • 真の日本語プログラム言語だと思っているMindがWindowsもフリーになっていた!
    • MS-DOSで遊んでた。遊んでただけだけど。

oss.infoscience.co.jp
Factor programming language
日本語プログラミング言語 Mind
Mind (プログラミング言語) - Wikipedia

Smalltalkメモ20170625

Cincom Smalltalk - VisualWorks チュートリアル

  • 一番最初のチュートリアルからimageファイルの外の世界とのやり取りを説明するので(ウェブサーバのログ解析)多言語経験者でもピンときやすい。
    • 自由自在Squeakプログラミングも判りやすいんだけれど、自分はこっちのほうが飲み込みやすいかも。
    • 今はVisualWorks無料版が入手しづらい(郵送でDVD調達)がSmalltalk入門としてとてもお勧めなんじゃないだろうか。
  • GnuSmalltalkにはやっぱり公式でSDLバインディングがあるみたい。
    • あるって言ったり無いっていったり、不確かな情報を撒き散らしてごめんなさい。

LinuxMint18.1とPythonとSqueak

  • Macintoshで悲しい目にあってから、互換性とポータブルな環境にはこだわってるんですが(そのせいで作業をサボっているという話もありますが)そのせいでストレスが溜まるという本末転倒もあります。
  • 自分はPCはWindowsLinuxデュアルブートにしていて、Linuxはlinuxmintを使ってるんですが、ここんとこ色々無駄なファイルとかも溜まってしまっていたので、LinuxMint18.1-64bitに環境を移行しました。
    • ところがそうしたらpythonのバージョンがよくないんだかなんだか,easyguiが動かなくなってしまった。
      • なんかこう言うの本当に面倒くさい。
    • 結局"sudo apt-get install python3-tk"で解決したんですが。
    • easygui使えればpythonでなんか作る気にはなれます。
      • Windowsではpyaudioが動かないので全くの互換性ではないけれど、まあpythonは使って行ってもいいかな。
      • ちなみにpyaudioもpip3ではうまくインストールできなくて"sudo apt-get install python3-pyaudio"で無事インストール完了。
  • それで結局どのOSでもLPC動かせる鳴らせるというとScilabが手っ取り早そうという話になってしまっていてどうなのかしら。
    • でもScilabでもWAVファイルを読み込む時の挙動がWindowsLinuxで違うのが気に入らない(笑)。
    • まあAudiolazyでも大丈夫だと思いますが。
  • それを言い出すとSqueak5.1がLinuxMint18.1で動かないとかprocessing3の64bitが動かないとか細かいところは色々あるんですけど、そんなことやってたら本当に本質見失うというか。
    • 最近2軍落ちのBiduleもWINEで入れてみたけど問題なし。
    • VisualWorksLinux版はどうも不安定ぽいのでWINEでWindows版を入れてみたら無事動いてます。

f:id:SenjiNiban:20170618124751p:plain
f:id:SenjiNiban:20170618124913p:plain
f:id:SenjiNiban:20170618124858p:plain
f:id:SenjiNiban:20170618124809p:plain

Squeak Pharoでえらい勘違い / 道具を作る道具としてのPython

  • なんかずーっと「今はサウンドファイルといえばWAVがデフォルト」と思っていたので勘違いしてたけれど、SqueakにはAIFFFileReaderというクラスがあるのだった。
    • これでSqueakやPharoで音いじりが手軽にできるはず。
    • SoundBufferクラスにもsaveAsAIFFFileSamplingRateというメソッドがちゃんとあった。
      • よく考えればApple発祥だものね。
    • ただ基本的にはモノラルサウンド前提なのでステレオサウンドを扱うにはひと工夫要りますね。
      • とりこんだ後というか、内部のSoundBufferはステレオとかマルチチャンネルOKなんだよね。
  • という訳でSmalltalk勉強のモチベーションが近づいたけれどPythonPythonで進めます。
  • 普及率としても日本語資料の多さで言ってもSmalltalkとは雲泥の差のPythonだけれども、ポータブルさという意味で考えると色々微妙な部分も見えてきた。
    • 恐らく2.7系でやるのがポータブルさという意味では良いのだろうけど、今更2.7系で入門したくない。
    • 使ってるLinuxMintだとpython3.4で微妙に色々不便。
      • 一応3.5もソースからコンパイルはしたけど、音と関係ないところであんまり時間食いたくない。
  • なので少しルールを作ってやることにした。
    • ライブラリは使うけど(使わなかったらPythonでやる意味なし)最小限に留める
      • Audiolazy、pydub、numpy、matplotlibくらいで良い
    • GUIは公式tk環境で良い
      • easyguiが簡単みたいだから
      • wxpythonlinuxで上手く行かないし
    • 変換できればで最悪アプリから音はでなくても良い
      • pyAudioWindowsで動かない
      • 変換してセーブしてから鳴らすならば、OS毎に対処法はあるのでそれで良いや