Auduinoで自作シンセサイザ

Auduino = (Arduino + Audio)++

Auduino:
Auduino - tinkerit - Details of the Auduino synthesiser - Google Code


Arduinoオープンソースハードウェアで,自作も出来る……が,買っても比較的安い.
以下から購入出来ます.様々な種類がある.標準的なものはArduino Duemilanoveで3,200円ほど
スイッチサイエンス
以前,この日記でもエントリを書いた.これがおよそ1年前.ちょっとビックリ!
初めてのArduino - Haitena だいありー
あまり活用出来ていなかったので,Arduinoなシンセサイザという,Auduinoを作ってみることにした
Arduinoについては以下参照.
公式:
Arduino - HomePage
Wikipedia
Arduino - Wikipedia

Auduino俺仕様

携帯サイズで撮影した模様.小さいし画像が不鮮明ですが.意図せず配線がWeb(蜘蛛の巣)状になった.ちょっとオシャレ?!(ぇ
ボリュームにはB特性の安価なものを使用:

B特性のような線形に変化するのが適している.はじめはA特性のものを用いたが,調節が難しかった.4.7kΩがないので5kΩを使用.
ソフトウェアは上記google codeのページで公開されているものを用いる.またgoogle codeに配線図のようなものが簡単に書かれているので,それを参考に配線を行う.実質配線すればもう完成というお手軽さはすごい


ちなみに白い導線(一端はミノムシクリップ,他端はピン)は自分で作成.
当初はブレッドボードを経由しようと思っていたが,経由せずにすんだ.一端はミノムシクリップ,他端はブレッドボードに刺すピンといった導線になっているわけだけど,これは買うと1本100円換算くらいになったはず.高いだろ常考(ry


というわけで自作.


用意したパーツは:

パーツ名 マルツパーツ館詳細ページリンク
ミノムシクリップ 【WTN-22F-1227 W*10】ミノムシクリップ中 白 10個入り
0.6mmスズ メッキ銅線 【TCW0.6L10】すずメッキ線 0.6mm 10m巻
電線(白) 【KQE0.5SQWL10】KQE電線 白 0.5sq 10m
熱収縮チューブ 【スミチューブC2B】低温収縮型熱収縮チューブ 2mm 黒

熱収縮チューブは2mmじゃなかったかもしれない.ただ,ハンダ付け軽くした上に巻くので電線の径より余裕持って大きめなのを選んだほうがよい.俺はギリギリだったのでムチャクチャ付けにくかった.
あと個人でDIYるときは以下のような道具があると便利:
【P-704】圧着ペンチ
圧着ペンチには銅線の被覆むき機能?もついているので超ベンリ.金欠な俺は大学のを借りて作成.あ,あと当然ハンダゴテモイルヨ.


……なんというか,上記そろえるとまあちょっとした出費にはなる.が,大量の余りを用いて必要に応じて自作出来るので,その辺勘案すればお得なハズ.あと熱収縮チューブを収縮させる際にハンダゴテでやると均一に温まらずに変なデコボコになる……のでライターで炙るのがよい.


俺には音楽的知識はない.適宜友人に聞きながら,手探りでDelayとかAttackとかの意味を理解しつつあるという状態.
でも,よく分からなくてもとにかくボリュームのツマミを回すだけでも様々な音が出て楽しいので全く問題ない
もちろん,もっと楽しむために音楽の知識を身につけ中.
あとは見た目をよくしないといけない.他にも様々なセンサーを用いるのも面白いかも.

参考

Radium Software(id:KZR)さんには刺激されっぱなし*1
Auduino - Arduino で作るお手軽シンセ - Radium Software
ボリュームonシールド←小スペースで(・∀・)イイ!!:
動けばおk! Auduinoシールドを作ったよ
今後挑戦したい(距離センサーを入力に用いる):
なんでも作っちゃう、かも。 Arduinoで遊ぼう - Arduinoで作るシンセサイザー


日本におけるDIYの火付けになるか.あるいはフィジカルコンピューティングの.


Arduinoをはじめよう
Arduinoをはじめよう
posted with amazlet at 09.06.11
Massimo Banzi
オライリージャパン
売り上げランキング: 532
おすすめ度の平均: 5.0
5 日本語リファレンスだけでも価値があります

Arduino Duemilanove 328
Arduino Duemilanove 328
posted with amazlet at 09.06.11
スイッチサイエンス
売り上げランキング: 1875

*1:今はChucKあたりで遊んでます

Mac OS XでのLaTeX,Beamerを使ったプレゼンスライド作成

今までMacにはMS Officeが入ってなかったので,思いきってインスコ.Officeは大学を通して購入することで安く購入できた.


しかし,MS OfficeOS X LeopardのSpacesの相性が悪く,ツールパレットを出した状態でSpacesで移動したりするとツールパレットが勝手に他のスペースに移動したり画面遷移が上手くいかなかったりと使い心地は悪い.あとAquaSKKとも相性(・A・)イクナイ!!.


そこで,LaTeXパワポのようなスライド作成環境を整えようってことになった.
LaTeXでもスライド作成が出来ることはなんとなく知っていたけれど,設定面倒くさそうだなーと敬遠していたが,実際導入してみてなんとも手軽だったので簡単メモ.


まず,以下から必要なファイルをダウンロードしてくる:

SourceForge.net: The LaTeX Beamer Class

必要なファイルとは:

  • latex-beamer
  • pgf
  • xcolor

これらのファイルを,texmfもしくはtexmf-localツリー下,

texmf-local/tex/latex

ディレクトリに入れる.
俺の場合は以下のディレクトリに入れた:

/opt/local/share/texmf-local/tex/latex

それぞれ,

  • beamer
  • pgf
  • xcolor

とリネームしておく.


最後に,

mktexlsr

コマンドを実行すればおk


Beamerのユーザーマニュアルやサンプルはダウンロードしたフォルダ中のdoc,examplesにそれぞれ入っている.
日本語も表示可能ということで確認に,以下のsample.texをお借りして実行(文字コードUTF-8に変更した).

Beamerでスライド作成: TeXでプレゼンテーションしよう | TeX on Vine Linux

何といっても,数式の記述が便利!LaTeX式に記述することが出来るので書きやすい.
ちょっとした発表にも便利.これはよさそう!

アニソンのど自慢

NHKのアニソンのど自慢の予選の動画が公開されていたので見た.

NHK 大阪放送局 | 「アニソンのど自慢」予選会動画

半分くらいは動画を見たと思う……見た感想をいち観客として.アニソンは歌の上手さよりは『なりきり』もしくは『ハマり込み』が評価対象として妥当ではないかなー.俺がついていけるのは比較的最近のアニソンに限られる.音痴な俺が言うのも何だけど,出演者の方は純粋にアニソンが好きで出演してる感が伝わってよかった.これこそ本来的なカラオケの醍醐味なんじゃないだろうか.


まず,檄!帝歌った人たちに最大限の感謝を伝えたい!!

檄!帝,サイコー!!!


マクロスF系楽曲は多かったけど,星間飛行でランカのコスしてた人はよかった.星間飛行が何曲かあるだろうことは予想の範疇内だし,それに加えて振り付けがあったのはよかった.つかライオン多過ぎだろ常考(ryあと,JKにズームするカメラワークに吹いたwwwwwww
『144番.抱きしめてー!!銀河の――』
俺『果てまでーーーーーーーー><』


プリキュアはもっと『可愛らしさ』を捨てて歌った方がよかったかなーと思う.プリキュア系は元気よさが一番のポイントだとおも.


童話迷宮は一部の人しか反応出来なかったのではないだろうかwwwwwww
もち俺は反応しました.選曲眼はピカイチ!!


デジモンのBRAVE HEARTはイントロ聞いてやっと分かったorz


最後に,『ありがとうございました』の無情さが際立ったwwwwww

P.S.

午前中に講義があることが多いのだが,午前はネムイ……
なので,午後はお昼寝タイムとなるのが最近の生活習慣.


今日は17:07にケータイのアラームで目覚めたわけだけれど,
寝惚け眼でケータイ見たとき,

『LOLI』

って見えたときには,寝ていたにもかかわらず,コーヒー吹きそうになったwwwwww
ついに俺のケータイ,ロリコンに目覚めたか……と半ば諦めかけたが,


……良く見たら,『17:07』を逆さまに見ていただけだったという――.

L-System #1 - NodeBox

今回はL-Systemの第1回.果たして何回まで続くのか……

参考

公式:NodeBox | L-system
WikipediaL-system - Wikipedia
その他,いろいろ(解説はけっこう充実している)

とにかく,自分で何か描いてみるのがイチバン!

L-Systemと言えば,木

……なんだけれど,パラメトリックL-Systemの置換規則は直感的に分かり難い.
なので,セグメントが描かれる順に番号をふってみた.
colorsライブラリにも依存します.segment関数は関数外部にも依存する.

size(450, 450)

colors = ximport("colors")
clr = colors.rgb(0.1, 0.095, 0.075)
p = rect(0, 0, WIDTH, HEIGHT, draw=False)
colors.gradientfill(p, clr, clr.lighten(0.25))

lsystem = ximport("lsystem")

count = 0
def segment(length, generation, time=None, id=None):
    global count
    count += 1
    font("Helvetica", 20)
    colors.shadow(dx=10, dy=10, alpha=0.45, blur=4.0)
    fill(0.9, 0.9, 0.9, 0.4)
    push()
    stroke(0.9, 0.9, 0.9, 0.4)
    line(0, 0, 0, -length)
    scale(0.65)
    push()
    rotate(90)
    translate(length*2, length/2)
    arrow(-length, -length/2, length/1.5)
    translate(-length*2, length/2)
    rotate(-90)
    fill(colors.gold())
    text(count, -length/0.95, -length/1.8)
    pop()
    pop()

tree = lsystem.create(angle=45)
tree.segmentlength = 120
tree.segment = segment

tree.rules["1"] = "F[-1]F[+1]1"
tree.draw(WIDTH/2, HEIGHT, 2)

で,こんなのが出力される.

さらに,tree.drawの数字を2から4にすると……

これ以上再帰させると数字が読めなくなる.本当は再帰に合わせてフォントサイズ・位置もアジャストしないといけないんだけれども.
tree.rules["1"]に設定する置換規則を変更してやれば,いろんな図形を描画出来る.
木っぽくするにはセグメントを変更して,アングルは20〜26°くらいに設定すればよいはず.
ちなみに,数字の表示位置や矢印の大きさは微調整したため分かりにくい値になってます.

其処に浪漫はあるのだろうか……

最近,いろいろなことに参加している気がする.充実していると言えばそうかもしれないが,正直ゲームする時間がまとまってとれないのが難点だ……と言いつつ神樹は麻子ルートを一周クリア.思ったより短かかった.テキストは,ライターの造詣の深さがじわりと染みてくる,けれども読みやすい感じ.シナリオは正直麻子だけでは判断つかないので,他の館の人々をクリアしないと何とも言えない.


と,ここで何故か神樹を中断して,霞外籠逗留記をプレイ(ぇ


司書女史ルートをプレイ中.どうも大きな分岐は1箇所だけっぽい.霞外籠逗留記は,以前のセーブデータの日付見たら約1年ほど前ってwwwwというのに驚いた.そしてプレイして,やっぱり雰囲気や佳し.テクストもなんとか追える.ためしに,泉鏡花の『歌行燈・高野聖』を書店で発見して購入したが,実は青空でも読めたという罠orz兎に角,歌行燈と高野聖は神作だということで読もうとしたが,テクストが理解できずにギブ.ほとんど状況がつかめないってどーゆーこと?これは是非,雰囲気損なわずに現代語にしてほしい.泉鏡花に関しては以下の動画参照:



まぁ,結局.鏡花の書籍にちょっと触れていたおかげで,霞外籠逗留記のテクストが結構スラスラ読めた,というオチ.
時間見つけては霞外籠逗留記をプレイ,これが最近の楽しみ.

ただ神樹の館がしたくて……

メガストア2009年6月号に田中ロミオ氏の名作と誉れ高い『神樹の館』が完全収録されている.

メガストア
大人のパソコンゲーム情報誌「メガストア」

神樹の館参考:
Getchu.com:神樹の館 (Meteor(メテオ))

神樹の館 - Wikipedia

……で,週末なので遠出して本屋に行ってきた.住んでいる付近には本屋がないので,この本屋は週末に通うのには最適な本屋.これからもお世話になろうと思う.


ある程度,専門性の強い書籍もあり,今まで高価で購入に二の足を踏んでいた参考書も思い切って購入することにした.メガストアを探してみると――あった!Amazonをはじめネットでは売り切ればかりで半ば諦めていたんだけど(いや,発売してすぐに買っとけって話だけど……),この書店では数冊あった.結局,参考書とメガストアの2冊を持ってレジへ.まぁ,メガストア.表紙を見たら分かるけれど,ちょっと買いにくい……

MEGA STORE (メガストア) 2009年 06月号 [雑誌]

で,しかも店員さんは女性(若いお姉さん)でした.しかも眼鏡っ娘!!


いやしかし,ここで買わないと神樹の館が出来ないっ!!――と自分に言い聞かせ,心拍上げながら会計.


お姉さんもなにも言わない……これは,どうなんだろ…….
一応,表紙よりは裏表紙の方がマシだったので,裏向けに渡した.
表向けて渡すと,結局バーコードをスキャンするために裏に向けるし,2倍の羞恥になることは明らかだったし.


これからお世話になるだろう本屋で……願わくば,覚えられていないことを.


だいたい,メガストア.これ,『射精支援最重視マガジン』と謳っているだけあって,中身はきっちーな感じ.外国だと訴えられかねないな……

参考:
痛いニュース(ノ∀`):日本製「性暴力ゲーム」欧米で販売中止、人権団体が抗議活動

と思いながら,ゲームインスコして,本どうしようという感じ←今ココ
俺はシナリオ重視な感じで,こういったきっちーなやつは苦手なんだよな.
あと帰ってから気付いたが,メガストア眼鏡っ娘のHなCGがなくて本当よかた.


『あの娘の眼鏡の下に隠された淫らな本性を白日の下にっ!!』


とか書かれてなくてよかった,本当.こんなの眼鏡っ娘店員さんに持っていくなんて,嗜虐嗜好全開過ぎだろ.
というわけで,結構後悔と羞恥に板挟み状態.


買ったはいいけど,やる時間の捻出は大変だ.そういえば,『霞外籠逗留記(かげろうとうりゅうき)』は中途半端にプレイして積んであるんだよな……先にこっちやるべきか.

ライアーソフト姉妹ブランド「レイルソフト」ホームページ

霞外籠逗留記は気分によって結構やりたいときと,やりたくないときがはっきり別れる.
雰囲気は好きなんだけど,テクストがちょい装飾過多な感じがしなくもない.いや,それが醍醐味なのは承知してるけれども.
霞外籠逗留記をやってみようと思う人は体験版を必ずやるべきだろう.元々こういった文章が好きならいいけど,普通のギャルゲ好きが手を出して楽しめるかは,わからないから.


霞外籠逗留記(かげろうとうりゅうき)
.. (2008-07-25)
おすすめ度の平均: 4.0
5 ライアー系列作品が好きな人でも評価が分かれるであろう作品
3 主人公に必要だったのは、姉さんではなくアニマル浜口

カラー1 - NodeBox ――の続き

カラー1 - NodeBox - Haitena だいありー

の続き.
上では,previewやswarmといった既存メソッドを使ったけれど,この関数に似た描画をする関数を自作してみた.ちなみにpreviewではsize()に合わせた描画は出来なかったけれど,自作版ではその辺配慮してみた.色テーマの取得は前回同様.

自作関数による色テーマの描画デモサンプル


import math as m
def demo_colors(clr_list,
                n=int(m.floor(3*m.sqrt((WIDTH+HEIGHT)/2))),
                colorbar=None):
    sz = min(WIDTH, HEIGHT)
    div = 2.4
    div_extra = div if not colorbar else div/0.6
    for i in xrange(n):
        r = random(sz/20, sz/10)
        coord_x = WIDTH/2 + random(-WIDTH/div, WIDTH/div)
        coord_y = HEIGHT/2 + random(-HEIGHT/div, HEIGHT/div_extra)
        clr1 = choice(clr_list)
        fill(clr1.r, clr1.g, clr1.b, random(0.5, 1.0))
        oval(coord_x-r, coord_y-r, r*2, r*2)
        r *= random(0.6, 1.0)
        clr2 = choice(clr_list)
        fill(clr2.r, clr2.g, clr2.b, random(0.5, 1.0))
        oval(coord_x-r, coord_y-r, r*2, r*2)
        
    if colorbar:
        x = y = 0
        w = h = sz/10
        for c in clr_list:
            push()
            translate(w/2, HEIGHT-(h*1.5))
            fill(c)
            rect(x, y, w, h)
            pop()
            x += w

# main
size(300, 200)

web = ximport("web")
themes = web.kuler.search("sea")

clr = ximport("colors")
sea = clr.list(themes[0])

background(sea.darkest.darken(0.35))
demo_colors(sea, colorbar=True)

size()に指定するサイズが小さい場合と大きい場合で,単調な比例関係にしてしまうと,円の密度みたいなのがちょっと微妙だったので,分かりにくいけれど,描画する円の数を以下で指定することにした(デフォルトの場合):
floor \biggl(3 \cdot \sqrt{\frac{width + height}{2}} \biggr)
ルート取ってサイズの大小での差を小さくする.本当はlog取るのが常套かもしれないが,ルートでもいいかなーという感じで.
これでsize()に依らない描画が可能.


また,demo_colors()のcolorbarを指定すると左下にカラーバーを表示する.
colorbarと円が重ならないように配慮……したことでdemo_colors()自体が分かりにくくなってしまったけれど(ぇ


前回はbananaを検索した結果の色テーマを取得したが,今回はseaで検索してみた.
もちろん,demo_colors()にはcolorオブジェクトのリストを渡せばおkなので,自作色リストをデモすることも出来る.
これは楽しい.