Author: kuguma

どうやって曲を作っているかみたいな話

この記事は、mast Advent Calendar 2016 の19日目の記事です。

完成した曲が聞きたいせっかちなかたは一番下からどうぞ。

はじめまして(?)、ぷりりーです。mast12です。を作ったりFPGA高位合成処理系を作ったりしています。

さて、登録したはいいものの、特に書くことを決めていなかったので、アンケートをとってみました。

キャプチャ

 

なるほどね。本当はFPGAとかレイテンシについて話したかったのですが、作曲について書こうと思います。

作曲に関する話題というと、だいたい
・曲ってどうやって作っているの?(普通の人向け)
・作曲うまくなるにはどうしたらいいの(曲作ってる人向け)
の2パターンの記事が考えられると思うのですが、今日は前者について書こうと思います。

さて、ということで今日は実際に曲を作っていきましょう。今は23時30分です。確実に日付を超えてしまいますが、2時間くらいで完成させることを目指したいと思います。
記事を書きながらなので、ちょっとむずかしいかな…?

曲の作り方は人それぞれですが、今日は僕の作り方を紹介します。

 

DAWを立ち上げる

cubase

作曲をする時、大抵の人はDAW(Digital Audio Workstation)と呼ばれる、曲を作るためのソフトウェアを使います。

僕はCubaseと呼ばれるソフトを使っています。やっていきましょう。

cubase_2

立ち上がったぞ。

僕はよく曲を作るので、予めテンプレート用のプロジェクトを用意していて、いつもそこから作曲を始めています。
今日はこれから始めていこうと思います。
cubase_3

cubase_4

cubase_5

立ち上がりました。逐一キャプチャしながらやっていくの結構面倒大変やな…今23:40です。すでに10分経過。

画面をざっと見てみましょう。

cubase_6

左にトラックと呼ばれるものが並んでいます。このトラック1つが、一つの楽器パートに相当します。
マウスで字をかいているので汚いのは気にしないでください。。

 

音を探して打ち込む

早速1トラック打ち込んでみましょう。まず音色を雑に選びます。

最近、花澤香菜さん(というか宮川弾さん)の曲にハマっているので、そういう感じのやつ(雑)を作ろうと思うわけですね。
曲を作るときはモチベーションが大事です。(そして締切。)

実際は作ろうと思ったものが完成することはほとんどありませんとは限りませんが、今回はあまり脱線せずに完成させたいところです。
今日はピコピコした感じのボサノバをつくろうかな。とりあえずOmnisphareという音源でそれっぽい音を探します

make_0

これが良さげやな。

人にもよると思いますが、僕の場合はまず主要なパートを雑に打ち込んで全体のイメージのラフを仕上げてから、
細部までの作り込みを行います。なので最初はプリセットの音を使っちゃう。
とりあえずこんな感じ~みたいなのを打ち込んでいきましょう

make_1

make_2

上の画像のものをピアノロールと言います。上下が高さ、横軸が時間を表しています。
よしできた。音だとこんな感じ。今24時です。

 

作っていくぞ

MIDI録音で打ち込んだものはタイミングが少しずれていたりするので、クオンタイズと呼ばれる操作を行ったりして、整形とかをしていきます。

ここで気づいたんだけど、この細かさで記事を書きながらだとけっこうしんどい! というか曲が進まない。
このペースだと日が昇ってしまうので、端折りながら進めます。

基本的なサイクルは、音を探す→打ち込む→他のパートとあわせて聞いてみて確かめる という感じです。

大まかな楽器構成と流れを考えながら、作業を進めていきます。

パートは…
まずメロディーでピコピコリード、
コードでピアノとさっきのOmnisphareの音源、
あとはボサノバなのでおとなしめのドラム
厚みをだすためのごまかしのためのストリングス
そして宮川弾ぽくしたいのでシロフォン!、て感じで組んでいくことを考えます。
新しい雰囲気の曲を作るときはここでかなり悩んだり試行錯誤するのですが、今回はゴールの雰囲気が決まっているので、ほぼこれでOKでしょう。

構成は…
時間が限られているので、A→展開→サビ の簡単な構成にしたいと思います。
展開にあわせて、
・使う楽器を増やす
・音量を上げる
・リズムをきざむ
などして盛り上がりを作っていきます。

 

…できた!(1時半)

make_3

最初に打ち込んだピコピコシンセに加えて、ストリングス、ドラム、メロディー、ピアノ、ベース、シロフォンのパートを打ち込みました。

こうして書き出してみるとけっこうトラックありますね。

だいたい形ができてきたら、さらにミキサー(トラック=楽器パートごとの音量調整おこなえるツール)をいじって、バランスを整えていきます。
エフェクト(リバーブやコンプなど)もてきとうにかけていきます。

このような作業を「ミックス」と言います。曲を作るのと同じくらい大事な作業です。
・目立つべき部分のパートがしっかり前に出ているか
・目立たないでいいパートがうるさくないか
などに注意して行っていきます。

だいたいOKかなというところで、書き出します。今日は時間がないので、適当なところで打ち切り。

make_4

 

完成した曲がこちらです。

 

わかりやすいように、曲が進むにつれて徐々に使うトラックを増やしていく感じで作ってみました。

どうでしょう? 最初の方ちょっと微妙ですが、ちゃんと展開のある曲になっていると思います。

普段はここから、もっと少し細かく調整をかけたり、リテイクしたりしてクォリティを上げていきますが、今回はサンプル曲なのでこのくらいで!
曲的には、ボーカルを入れたら面白そうですね。時間があったらもうちょいいじってみようかなと思います。

ちょうど2時くらいです。23時半に始めたので、曲に1時間半、調整30分、記事30分くらいの配分かな?

以上、DTMerはこんな感じで曲を作っています!というお話でした!

 

 

宣伝

さて、最後に宣伝です。
僕が代表をやっている同人音楽サークルPrhyzmicaは、今年の冬コミC91にも出展しています。
今回は旧譜timescalerと、いい感じのポストカードを頒布予定です。

よろしければ遊びにおこしください!

場所は冬コミ3日目 西り39aです。12/31、おおみそかです!

 

また、冬コミにいらっしゃれない方もなんと、僕の曲を買うことができます。

こちらからどうぞ。

Spotifyを使っていらっしゃる方は、”Prhyzmica”で検索するとよろしいでしょう。

では!

Xilinx SDK (xsdk) をdocker on CUI環境で動かす

xsdk –batch とかで動かせばいいということになっていたが,コケる.中身がEclipseなのでさすがという感じ.

環境はDocker on Ubuntsu Server 14.01 LTS.

まずは

Could not load SWT library.

とかログを吐かれてコケるので,必要なパッケージ(gtk)を入れる.

libgtk2.0-0
libxtst6

あたりで自分は足りた.

次に

No more handles [gtk_init_check() failed]

でコケる.調べるとXが無いからだそうな.いやいや,CUIで,バッチモードで動かしてるんですけど…
良さそうなオプションを探したけどなかったので,vncを立ち上げてあげることにする.世界はCUI環境にやさしくない.

x11vnc
xvfb

あたりを入れて,

export DISPLAY=:1
Xvfb :1 -screen 0 1280x800x16 &
sleep 1
x11vnc -display :1 -bg -nopw -forever -xkb &
sleep 1

とかする.これで回避できる.
https://ubuntuforums.org/showthread.php?t=1740572

こんどは

arm-xilinx-eabi-gcc: No such file or directory

でコケる.これはXilinx Answerがあるので,従って追加のパッケージを入れるようにする.
apt-get前に

dpkg –add-architecture i386

を行なうのを忘れずに.
https://japan.xilinx.com/support/answers/63561.html
http://agekuno.hatenablog.com/entry/2014/10/22/190712

 

余談ですが,「no more handles gtk init check」とかでググるとissueが5万件くらいでてきてすごい.

Dockerのむずかしいところ

未だに思想がわからない.

 

Dockerまわり

コンテナのライフサイクル

コンテナには,存在しない/停止中/起動中の3パターンの状態があり,この状態に依ってコマンドの挙動がかわる.ややこしい.

run
指定した名前のコンテナが存在しない場合,イメージからコンテナを作成する.
指定した名前のコンテナが存在する場合,古いイメージのまま起動する.
指定した名前のコンテナが起動中の場合,なにもしない.

start
指定した名前のコンテナが存在しない場合,起動できない.
指定した名前のコンテナが存在する場合,起動する.
指定した名前のコンテナが起動中の場合,なにもしない.

起動中のコンテナを新しいイメージで立ち上げ直したい場合,
停止(kill or stop)→削除(rm)→立ち上げ(run)を行う必要があるので注意する.

https://fa-works.com/blog/visualizing-docker-containers-and-images

exec

コンテナが出すメッセージが読みたい場合,-itを付ける.ホストのSTDIN,STDOUTと接続する.
読みたくない場合,何もつけない.
バックグラウンドで実行したい場合,-dをつける.

http://qiita.com/RyoMa_0923/items/9b5d2c4a97205692a560

 

パーミッション

結論として,完全自動のバッチ処理を行うコンテナを作りたい場合,dockerの中では一般ユーザーを作らないほうがいい.
理由はdocker cpによってコピーしたファイルのオーナーがrootになるため.
ホストから与えた入力ファイルはオーナーがrootのため一般ユーザーが触ることができない.
触りたい場合一般ユーザーでchownすることになるが,root権限を要求され,パスワード入力が必要となり自動化できない.
sshの暗号鍵などもchmodする必要があるが同様の理由で大変.
回避方法として,①Docker buildした後ある程度手作業をしてcommitしたイメージを使う②一般ユーザーにroot権限を与える
の二つがあるが,どちらも非常に面倒臭いので全てrootで実行する方が楽.

ネットワーク

コンテナ郡は仮想ブリッジdocker0を介してホストとつながる.
ホストから見て,コンテナは172.17.x.xとかにいる.
コンテナから見ると,ホストは192.168.x.xとかにいる.
ホストのローカル127.0.0.1で立ち上げたファイルサーバーとかは,コンテナから192.168.x.xでアクセスする.

http://qiita.com/Arturias/items/b538e6bbf05dd3364397

その他のTips

docker execとコンテナ内でのバックグラウンド実行

docker exec nohup cmd1 &
docker exec nohup cmd2

のようなケースを考える.cmd2の実行時にcmd1がバックグラウンドで動作していることを期待するが,そうはならない.
期待した動作を実現するためには,

docker exec bash –c ‘cmd1 & cmd2’

のようにする.どうやらexecが終了すると,サービスなどは全て終了すると考えて良さそう.
環境変数の設定も同様で,逐一実行時に与えるか,dockerfileのENVで記述してしまうのが良い.

なお,docker exec –d でどういう結果になるかは未調査.

Pythonでバッチ処理をすばやく書く

以前からPythonでバッチ処理を書くことは多くて、書き方の最適解を模索していたのだけどだいたい固まってきたのでメモ。

シェルを叩く

コマンドラインに表示したいときは
subprocess.call(command, shell=True)

コマンドラインに表示したくないときは
log = subprocess.check_output(command,shell=True,stderr=sp.STDOUT)

 

パス名などの環境変数にすばやくアクセスする

クラスを使うと便利。ドットアクセスで記述でき、ローカル変数として取ってくる(後述)のも1行で済むので楽。

 

.format()を使いこなす

シェルに投げるコマンド文を生成するとき、.format(**locals())を使って文字列中に変数を楽に埋め込める。
パス名などの環境変数をグローバルスコープに書いてしまうとlocals()では引っ張ってこれないが、クラスに纏めておけば、そのクラスのインスタンスを一つローカルスコープに宣言するだけでlocals()から引っ張ってこれるので楽ちん。

 

サンプル

以前書いたやつ。1枚絵とオーディオファイルからffmpegを使って動画を自動で作成する。
上記のTipsの書き方参考にどうぞ。
https://gist.github.com/kuguma/d9b0e4ba3324958aa7909b600130ece1

Thinkpad X250のボタン電池の位置

この間,出先で朝Thinkpadが起動しなくなってしまって,とても困ったことがあったので解決するためにしたことをメモ.

 

症状

電源ボタンを押しても起動しない(BIOSすら立ち上がらない.)
電源を繋いだ状態で電源ボタンを押すと,3回点滅する(=バッテリーに接続されています).
電源ボタンを連打すると,稀に立ち上がろうとする(キーボードのランプが点灯する)が,すぐに電源が落ちる.

 

やったこと

フォーラムには,電源コードを抜いた後フロントバッテリとリアバッテリを外し,しばらく置いてから接続しなおすと電源が入ると書いてあったが,
この方法では解決しなかった.メモリやストレージを外してもダメ.緊急時リセットボタンもだめだった.

起動しなくなる前の夜,X250のUSBのポートを使ってモバブとiPhoneを充電していて,モバブがうまく充電できていなかったので,ボタン電池周りかと予想.
(スリープ時充電可能のポートにモバブを繋いでいなかったので,必要な電力をモバブが吸い取ってしまったのかな?)

最終的に,CMOS用ボタン電池を繋ぎ直すことで解決.

X250ではCMOS用ボタン電池はフロントバッテリの裏側に配置されているが,ボタン電池とマザボ間をつなぐコードは外に出ているのでこれを繋ぎ直せば良い.
ボタン電池自体の交換をしたい場合は,ネジで固定されているフロントバッテリを外す必要がある.

M3 2016 秋 お知らせ

第一展示場 G-08a 「おとのはこにわ」さんにて,
C90新譜の「timescaler」を委託させていただけることになりました!ヾ(๑╹◡╹)ノ"

 

よろしくお願いいたします~
おとのはこにわさんの楽しいトイポップ新譜もゼヒ

Docker + SoftetherVPNでマイクロサーバーを構築する

自分用メモです.

 

1.マシンの用意

Ubuntsu server 16.04LTSを適当なマシンにインストールする

 

2.Dockerをいれる,ユーザーグループを作る

wget -qO- https://get.docker.com/ | sh
sudo usermod -aG docker user
ログインし直す

https://tracpath.com/works/devops/how_to_install_the_docker/

 

3.Softether VPN ServerのよろしいDockerイメージを取ってくる

docker pull frosquin/softether
docker run -d –net host –cap-add NET_ADMIN –name softether frosquin/softether

https://github.com/cnf/docker-softether

VPN Serverに対するSSH接続を行えるようにしたい場合は,
権限付与が—cap-add NET_ADMIN では足りないので,–privileged にするとよい.
あんまりセキュアじゃないけど.

 

4.Dockerの操作

よく使うのは
docker images
docker ps
docker start <NAME>
docker commit <NAME> <IMAGE_NAME:TAG>
docker exec –it <NAME> /bin/sh

http://qiita.com/butada/items/3e6cd338cb703eef64b4
http://qiita.com/ZON009/items/7de6d36cad4eeb9727ef

ここで作ったコンテナの名前は便宜上softetherとする.

 

5.Softether Serverの設定

softetherのコンテナに入って,./vpncmdを叩き,その中で設定を行なう.

↓これの仮想HUB作成からやればOK
http://qiita.com/Makotonton/items/18683a9f1e846433c035

↓vpncmdはマニュアルを見ながらやればOK
https://ja.softether.org/4-docs/1-manual/6/6.1

大まかに,
・最初はHub名を空にするなどしてServer設定のところに入る
・仮想HUBを作る(HubCreate)
・Hubコマンドで任意の仮想Hubの設定に入れる
・作った仮想HUBに対してユーザーを作るなどする (UserCreate,UserPasswordSetなどをする)
・グローバルIPがない場合はVPN AzureをONにする.
ここまでやればServerに繋ぎに行ける.
SSHしたい場合は6の手順もこの時やっておく.

 

6.ServerにSSHするための設定

どうやらLinuxの制約でVPN Serverを動かしているマシンにSSHは普通にやるとできないみたい.
そこで,VPNのネットセグメントと物理イーサのセグメントをブリッジ接続する.
下準備として,apt-getでbridge-utilsを入れておく.これでbrctlコマンドが使えるようになる

まず,br0とVPNを繋ぐための仮想NIC,tap_br0 を作成する.再びsoftetherのコンテナに入って
・Hubの設定から,SecureNAT機能をオフにする(SecureNatDisable)
・Serverの設定から,作った仮想Hub→br0へのブリッジ接続を作成する(BridgeCreateコマンドを使う.tapをyesするのを忘れずに.)
を行なう.
コンテナから出てifconfig(ip a)すると,eth0,lo,docker0に加えてtap_br0が増えているはず.
この時点ではまだ仮想ブリッジ(br0)を作成してないが,できたら勝手につながるので大丈夫.

次にホストで仮想ブリッジbr0を作り,eth0↔br0,br0↔tap_br0を作る.

$ sudo ifconfig eth0 0.0.0.0 promisc up
$ sudo brctl addbr br0
$ sudo brctl addif br0 eth0 tap_br0
$ sudo ifconfig br0 <元のeth0のIP> netmask <元のeth0のサブネットマスク> up
$ sudo route add default gw <元のeth0のデフォルトゲートウェイ>

これで,ローカルネットワークに面した物理イーサネットアダプタ(eth0)と,VPNに面した仮想イーサーネットアダプタ(tap_br0)が
br0を介して繋がった.eth0でなくbr0に対してIPアドレスが振られており,このIPは双方のネットワークにアクセスできる.

SecureNATをoffにするのは,VPNネット↔VPN Serverが繋がってるローカルネットでブリッジ接続をしたときDHCPサーバーが
ローカルネット側とVPN側で二つになってしまうため.(ONにして試すと,一瞬つながるがすぐ落ちる.)
VPN ServerがつながっているネットワークにDHCPサーバーがいない場合は,ONにしてよいのかも?

 

http://linux2.g.hatena.ne.jp/lnznt/20120527/1338047140
http://www.petapico.biz/%E3%83%A9%E3%82%B8%E9%A4%A8petapicoshop/softether-vpn%E3%81%A7%E5%A4%96%E3%81%8B%E3%82%89-irmagician-%E3%82%92%E5%88%B6%E5%BE%A1%E3%81%97%E3%81%A6%E3%82%A8%E3%82%A2%E3%82%B3%E3%83%B3%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B/
http://qiita.com/neronplex/items/84162ec1de520bb75a11

 

8.VPN ClientからVPN接続し,SSHできる

VPN Clientでの設定は割愛.ホストを指定し,手順5のvpncmdで設定したユーザー名とパスワードでログインできる.

接続時,VPN Serverが置いてあるネットワークのDHCPサーバによってIPは割り振られる.

Serverのアドレス(192.168.-)をメモっておくか,arp -aとかでIPを調べてSSHできる.

 

7.余ったマシンを作ったサーバーにぶら下げまくれば計算クラスタが作れるぞ

Docker難しかった.一度イメージを作ってしまうと使いまわせるのでべんり.

 

8.その他備忘録

・docker runで,—net hostとしたばあい,そのコンテナは(多分)docker0を使わず,直接eth0を使う.
・マシンによっては(?)eth0がenp0s25とかになっていることがある.
・arp –a ローカルネットのIP一覧を教えてくれる.つまるところPCが保持しているARPのためのテーブルを見せてくれる
・ifconfigは非推奨だそうで.ip aを使うと良い(ハイフンは不要).
・デフォルトゲートウェイ:
サブネットマスク外のIP宛のパケットを送る相手.とりあえず全部こいつに送ってよろしくしてもらう.
この設定が間違っていると,外へのpingは通らなくなる.
サブネットマスク内のパケットは,ARP(Address Resolution Protocol)によって送信者が物理アドレスを知っている.
・サブネットマスク:
つまるところ,パケットをゲートウェイに送るか,ローカルネットに送るかを決定するために使っている.
・TAPデバイス:
つまるところ,仮想のイーサネットアダプタ.
VPN ServerはPCのeth0を勝手に使って仮想的なネットワークを構築するが,eth0に対して(ネットワークの)ポートを持っているわけではない.
eth0とVPNを繋ぐ一つの方法はeth0へのブリッジ接続の作成だが,この場合IPはeth0に振られているのでVPNからeth0側にはアクセスできない(Linuxの制約).
VPN側に仮想イーサーネットアダプタを作り,それとeth0の間をブリッジしてブリッジにIPを振れば,二つのネットワークを繋げられる.
・NAT : Network Address Translation
・当たり前なんだけど,既存の帯域の一部をVPNが食うので,無線などで速度がでない環境下でVPNに繋ぐと既存のネットも重くなる.

未だにifconfigで出てくる状態の中にわからないものがあるので追々調べる.

どこでもドアに替わる技術

通勤電車に揺られながら以下のようなことを考えたのでメモ.オチは普通です.

なお,僕はいま学生で,週に2日ぐらい田舎から都内に出稼ぎに出てコードを書いたりしています.
職場まではDoor 2 Doorで1時間半くらいかかります.

①都内で働く日は,実質1日が(往復3時間で)21時間くらいになるのでつらい.

・電車に乗っている時間は1時間未満だけど,家→駅と駅→職場で歩くのでそこそこかかる.
・電車はすぐ来るとは限らないので,ホームで待つ時間もある.

②どこでもドアができると,多くのサラリーマンが幸せになると思う.どこでもドア超欲しい.

・どこでもドアの実現可能性を考えてみた.
・人間本体を分解してむこうで再構築する方法は,技術的には遠い未来に可能になりそうだけど,倫理的な問題とコスト面で難しそう.
・4次元トンネル的なのを作る方法は,エネルギー保存則から考えて相応のエネルギーを食いそうなのと,転送装置が大掛かりになって普及しなさそう.
・やっぱりどこでもドア作るのはしんどい.

④意識だけ職場に飛ばせればいい気がする…リモート出社じゃん!

リモート出社,驚くべきことに現在の技術でできる.

というわけで,みなさんリモートワークをしましょう.

今でもちょこちょこリモート出社文化が浸透している気がする.10年後くらいには週1日会社に行けばいいくらいの感じになっていてほしい.

 

リモートワークのメリット

まず社員視点では,もちろん嬉しい.

・1日使える時間が増える.→睡眠や趣味に回せる.
・家賃が安いところに住める.→他の用途に使えるお金が増える.

また,経営者的視点でも,リモートワークにはいろいろメリットがあると思う.

・交通費支給の支出を減らせる.住宅手当も減らせる.
・都内から遠いところなら家賃も安いので,社員の給料に対する満足度が上がる.
・浮いた時間を社員は趣味や睡眠に充てられる.すると仕事の効率が上がる.(睡眠時間が少ないと人間の性能はかなり低下することが知られています.)
・オフィスが狭くても会社が機能するので,コスト低減できる.

一方で課題としては,

・会議など,集まって意思決定を行なう行事にどう対処するか
・リモートワークで効率が下がらないか
の2点があると思う.

まず1点目,殆どの会議は意味がないのではという議論はさておき.
インターンにいったうちの一つでは毎日何かしらの会議,勉強会があるみたいな話があり,リモートワークを取り入れる障壁になっていそうだった.
とはいえ,これは自宅でVRヘッドフォンを被って参加すればよい.現在の技術で解決可能.すごい.
表情と手の動きが取れるので,アバターを動かせばコミュニケーションも問題なし.動画を直接送るより帯域も食わない.
リモートワーク採用で手当を減らせるので,会社としてもここらへんに投資して一人1台設備を配るのは造作もないことだ.
・VRで会議を行うシステムは今後売れる.

次に2点目,リモートワークで効率が下がらないかという議論があるが,これは
・下がった人をリモートワーク禁止にする
・リモートワークでサボる人は職場でもサボる
の2つで解決できそうだ(?)
会社の方にこの話をした時,「リモートワークしたい人は制度を維持するためにちゃんとはたらく」みたいな意見も頂いたので
紹介しておきます.

リモートワークが浸透すれば,8時間睡眠,8時間仕事,8時間趣味みたいな,人間的で社会的な生活ができるようになって,
(IT技術者みんなが)気持ちよく働けるようになる世界になると思う.
・現実世界では理想的な8時間仕事であっても,8時間趣味の時間は家事と食事,移動時間で削られて結局3-4時間くらいしか残らない.これはきつい.

これは個人的な話だけど,今のところ業務内容に不満ってほぼなくて,働くときのフラストレーションのほとんどが
・出社の面倒臭さ
・昼飯を食った後猛烈な眠気に襲われながらも仕事をしないといけないつらさ
の二つに集約されているので,ぜひこれらが改善される働き方ができる世の中になって欲しいと思う,
…というか,確実に来る未来の形なのでみんな関連技術に投資するといいと思います.

なお,本日のオチはこちらです.
http://altvr.com/

SSHで大学のサーバーとかを踏み台にしてブラウジングする

いつも忘れてしまうのでメモ.portnumberは任意だけど便宜上8080と書いておく.変えても良いし,このまま使っても良い

1.シェルでの操作

ssh –D 8080 -f -C -q –N studentnumber@serveraddress

バックグラウンドでSOCKSサーバーを立ててポートフォワーディングする.

2.ブラウザ側での操作

ChromeにProxy Switchyのアドオンを入れる.
Manual Configration のところで
ひとつ目の空欄にlocalhost,portのところに8080とか入れる.
Proxyをオンにする.

今Manchesterにいるのだけど,新海誠の過去作品をNetflixで見ようと思ったらIPを見られているらしく
検索に出てこなかったので困った.踏み台にしたら無事見えるようになった.
最近はあまり出くわさないけど,授業で学内アクセスオンリーのページを見たい時とかにも使える.
VPNが面倒なときに日本に踏み台にできるサーバーがあるというのは便利だ.
Spotifyが使える範囲にも踏み台サーバーがあればなあ…って思ったけど書きながら既に持っている事に気づいたので日本に帰ったら試してみようかな( ˙꒳˙​)◞⁽˙³˙⁾”

RasPiめも

Satellite CCRMA

・8GBのMicroUSBでは足りない
・Python2系と全てが紐付いているので3を使うのは厳しい.複数のバージョンが入っているがpyenv等は入っていないので気持ちになる.
・x転送の調子が悪い.がんばると動く.
・pdが入っているので便利.しかしgem(動画を扱えるパッケージ)は入っていない.

https://ccrma.stanford.edu/~eberdahl/Satellite/

複数のPythonバージョン

ここの情報が新しいと感じた.しかしanacondaはRasPiには入らない.
http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c

 

音を鳴らす

pygletはAPIが貧弱なので使いづらいと感じた.
pygameは以前扱ったことのあるOpenALに似た使い方ができるので嬉しいが,メンテナンスされていない印象.
(Mercurialのリポジトリは存在してるんだけど,Python3ではpipで入らないしビルドもコケる.)
2ではあっさり動く.2はpipを入れるのが面倒だったりするけどpython-pygameとかがapt-getで落とせるのでそれでお茶を濁せる.

また,mp3を鳴らすのが厳しい.物によって落ちるのでおとなしくwavにするのが良い.

 

USB DACから鳴らす

http://qiita.com/yuyakato/items/76a3d46d1bf57c6a4da6
https://wiki.archlinuxjp.org/index.php/Advanced_Linux_Sound_Architecture#.E3.83.87.E3.83.95.E3.82.A9.E3.83.AB.E3.83.88.E3.82.B5.E3.82.A6.E3.83.B3.E3.83.89.E3.82.AB.E3.83.BC.E3.83.89.E3.81.AE.E8.A8.AD.E5.AE.9A