Runner in the High

技術のことをかくこころみ

トラベリング(KEYTALK)のタブ譜をつくりました


おととい昨日あたりから急に作りたい欲に襲われたので作った。
Youtubeの「ひとりトラベリング」をかなり参考にさしていただきました。
こういう最近のおしゃれロックはリズムギターがよく聴こえないから楽譜にするのはむずかしいっすね。
あとドラムの人がすごいかっこよくてイケメン。
リードギターはじゃんじゃん歪ませたほうがたぶんかっこいいはず。
リズムギターは軽めのオーヴァードライヴでファンキーにどうぞ。

P.S. 2017/6/21
リンク切れになっていたのを修正しました

(Contents: Gtr1, Gtr2, Bass)
DOWNLOAD .ptb format

Xubuntu13.10で起動時にindicator-keyboardがクラッシュする

この一ヶ月の間に使っていたXubuntuのバージョンを一気にアップグレートした。
※12.04 LTS → 12.10 →13.04 → 13.10(いまココ)
 
アップグレードに際してはなんら問題はなかったもののログイン直後に
indicator-keyboard (0.0.0+13.10.20131010.1-0ubuntu1)
というパッケージによって大量の内部エラーダイアログに遭遇することがある。
 
また、いろいろ調べてみると、どうやらindicator-keyboardというものは13.10から導入されたものらしい。
UnityのインジケーターにIBusの動作状態を示すアイコンを表示する機能がIBus本体からなくなった代わりに、indicator-keyboardという、キーボード入力に関連する機能を扱うインジケーターが追加されました。テキスト入力の切り替えや設定、文字マップが使用できます。ただしステータス(現在半角か全角か)を表示する機能やMozcの各種ツールを起動する機能はありません。SaucySalamander/ReleaseNotes/Ja - Ubuntu Wiki 
ということで解決方法。ただ再インストールするだけ。
→しばらくはこれで対処できたが、しばらくしてまたクラッシュが頻発するようになった。
 これはもうアンインストールするしかない。
sudo apt-get remove --purge indicator-keyboard

必要のないログインセッションを消す

Xubuntuのログイン画面にてログインのセッションの選択をするドロップダウンリストがある。
インストールしたときのままだと「Xubuntuセッション」以外にもいろいろと選択肢があるが
Ubuntuセッション」も「GNOMEセッション」も使わないから消したいね、という記事

Xubuntu 10.10のログインセッション選択中の画面

手順としては、おもむろにSynapticパッケージマネージャを起動したのち
いくつかの残さなければいけないパッケージのみに注意しながら
必要のないものを削除していけばよいだけ。

残さなければいけないものは以下の5つ

  •   unity-greeter ... Unityは使わないとしても残さなきゃダメっぽい
  •   gir1.2-unity-5.0 ... これもUnityに関連しているらしいがよくわからん
  •   libunity9 ... 上のgir1.2-unity-5.0との依存関係によりアンインストール不可
  •   accountsevice ... useraddコマンドなどと関連しておりアンインストールするとやばい
  •   gnome-settings-daemon ... GNOMEセッションを使わなくても残さなきゃダメっぽい


自分の環境(Xubuntu 12.04 LTS)では上のパッケージだけを残せば問題は起きなかった。
おそらくこのなかで消しても問題のないものが環境によってはあるのかもしれないがそのあたりは未検証。
そもそもUnityを使う使わないに関係なく一部のパッケージは必ず残して置かなければならないらしい。
(参考:Ubuntu日本語フォーラム / 11.10でUnityを削除してみたら起動しなくなってしまいました

もし、上に挙げられたパッケージ(あるいは依存関係にあるなにか)を間違えて消してしまうと、下のようなダイアログが表示され、ログインできなくなる。

"gnome"の箇所は場合によっては"ubuntu"となることもある
こうなってしまったときは、落ち着いて別の仮想コンソールにログイン(CTRL+ALT+F1〜F6)したのち、間違えてアンインストールしてしまったパッケージを再インストールのこと。

みくったーの最新版をチェックするPerlスクリプトを作った

 

LWP::UserAgentHTML::TreeBuilderとかいう便利なライブラリを見つけた。
勢いにまかせてみくったーの最新版があるかどうかをチェックするスクリプトPerlで組んでみた。
やってることはダウンロードページのhtmlを無理やりスクレイピングしてるだけです。

#!/usr/bin/perl

#
# みくったーの最新版があるのかどうかを調べるPerlスクリプト
#

use strict;
use warnings;
use LWP::UserAgent;
use HTML::TreeBuilder;

my $target = 'http://mikutter.hachune.net/download';
my $conf = '/home/izumi/mikutter.0.2.2.1328/core/config.rb';
my $installed;
my $string;
my @vers;
my $ver;
my $rev;

# コンピューターにインストールされているバージョンを取得する
open (FILE, $conf) || die "Can't open: $!\n";
while () {
if ($_ =~ /REVISION/ && $_ !~ /TWITTER_AUTHENTICATE_REVISION/) {
if ($_ =~ /VERSION/) { $ver = $_; }
else { $rev = $_; }
}
}
close(FILE);

# ドットを取り除いて比較のために数値へ変換する
@vers = split(/,/, $ver);
$_ =~ s/[^0-9]//g foreach (@vers);
$rev =~ s/[^0-9]//g;
$vers[$#vers] = $rev;
$installed = $installed.$_ foreach (@vers);
$installed += 0;

# 表示のためにまたドットを含むフォーマットに戻す
foreach (@vers) {
$string = $string.$_;
$string = $string."." if ($_ ne $vers[$#vers])
}
print "\nInstalled Ver: ".$string."\n";

# 最新版のバージョンをウェブサイトから取得する
my $ua = LWP::UserAgent->new('agent' => "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)");
my $res = $ua->get($target);
my $content = $res->content;
my $tree = HTML::TreeBuilder->new;
my @items;
my $current;

$tree->parse($content);
@items = $tree->look_down('class', 'accordion versions')->find('li');
foreach (@items) {
$current = $_->as_text;
$current =~ s/[^0-9]//g;
$current += 0;
if ($current > $installed) {
print "Curent Ver: ".$_->as_text,"\n\n";
print "There is a new version!\n";
print "You have to update it ASAP.\n";
exit(1);
}
}

print "\nThere isn't a new version.\n";
print "You don't have to update it :P\n";
exit(0);

すっごい汚いスクリプトになったけど動くからいいだろ(すっとぼけ)

RadioTrayのプラグインを作る

RadioTrayというネットラジオを聴くためのアプリケーションに、プラグインの機能があるので
ちょろっとなにか作ってみる

必要なファイル

- 処理本体を記述するPythonスクリプト
- プラグインそのものの情報を記述するpluginファイル

インストール

/usr/share/radiotray/plugins/に2つのファイルを放り込むだけ

作る

ということでさっそく、簡単なプラグインを書いてみる

[RadioTrayPlugin]
name=Website Jumper
desc=Open the website of the current radio
script=WebsiteJumper.py
class=WebsiteJumper
author=IzumiSy
from events.EventSubscriber import EventSubscriber
from events.EventManager import EventManager
from Plugin import Plugin
import webbrowser

class WebsiteJumper(Plugin):

# 初期化時に実行される関数
def __init__(self):
super(WebsiteJumper, self).__init__()

# 何に使うのかはわからないが必要らしい
def getName(self):
return self.name

# プラグインの設定から有効化されたときに実行される関数
def activate(self):

# SONG_CHANGEDにフックする関数を登録
self.eventSubscriber.bind(EventManager.SONG_CHANGED, self.on_song_changed)

# プラグインメニューに登録
self.tooltip.addSource(self.def_tooltip)

# プラグインのメニューに表示するために必要な関数
def hasMenuItem(self):
return True

# メニューに登録する名前を返す
def def_tooltip(self):
return "Website Jumper"

# SONG_CHANGEDにフックされる関数
def on_song_changed(self, data):
global location

if ('location' in data.keys()):
location = data['location']

# メニューから選択された場合の処理
def on_menu(self, data):
print "[WebsiteJumper] open %s" % (location)
webbrowser.open(location)

コードを見てくれればほとんど解説はいらないはず。
アプリケーションを起動して、ラジオを聴くとSONG_CHANGEDイベントが起きるので、その際に今聴いているラジオ局のウェブサイトのURLをブラウザで開くだけのプラグインです。

ちなみに、ソースコードを見る限りプラグインからフックできるイベントは、いろいろあるらしい。

  • STATE_CHANGED... ラジオのON/OFFとかそういったときに発生するイベント
  • SONG_CHANGED... 聴いているラジオの音楽がかわったときに発生するイベント
  • BOOKMARKS_CHANGED... ブックマークが編集されたとき?に発生するイベント(未検証)
  • STATION_ERROR... ラジオ局に関連するエラーが起きた時に発生するイベント(未検証)
  • VOLUME_CHANGED... ボリュームが変えられたときに発生するイベント(未検証)
  • BOOKMARKS_RELOADED... ブックマークの再読み込み時?に発生するイベント(未検証)
  • NOTIFICATION... 通知に関するイベント?(未検証)

まあ他にもあるんだろうけど、それは自分で調べてください
ソースコードを読むといろいろ書いてあります。(適当)

IzumiSy/WebsiteJumper - Gist

NGC224(UPLIFT SPICE)のタブ譜を作りました


作りました。
CD音源だとギターが2本とシンセ的なのがいるように聴こえますが
そこらへんは面倒なので楽譜にしてません。
ちなみにベースは自分でコピーしたものじゃないのでご了承を。
楽譜ファイルにあるコピーライトの欄をご覧ください。

P.S. 2017/6/21
リンク切れになっていたのを更新しました

(Contents: Gt, Vo, Ba)
DOWNLOAD .ptb format

Android Studio がクソ重い

ちょっとだけ軽くするためのTips的なエントリ

【環境】
Xubuntu 12.04 LTS 32-bit
Intel® Core™ i5 CPU M 560 @ 2.67GHz × 4
RAM 2G

1. Power Save Mode を使う

バックグラウンドでのコード分析とかそういうのを無効にしてちょっと軽くするオプション。
なにが無効になってるのかよくわからないが、結構効果アリ。
 
2. ウィンドウアニメーションを無効にする
Settings -> Appearance -> Window Option の項目から"Animate Windows"のチェックを外す。
いらないでしょこんなもん。

3. テーマを雰囲気軽そうなものにする
UbuntuならGTK+かな? Darculaのがイカしてるけど。
ていうかこれはあんまり効果ないかもしれない。

4. 必要のないプラグインを切る
GitとかSubversionとかターミナルから使うのであれば切れそう。
あとはMavenとかさ。使う人は切れないだろうけど。

オメガリズム(UPLIFT SPICE)のタブ譜を作りました

 
おそらくUPLIFT SPICEが発表している楽曲の中で一番知名度の高いであろう曲
オメガリズム(Omega Rhythm)のタブ譜を作りました。

イントロがクリアできればあとはもう全部簡単?な気がする。
ギターソロも落ち着いてやればきっと問題なし。
いわゆるストリングスキッピングを多用した曲ですな。

P.S. 2017/6/21
リンク切れになっていたのを修正しました

(Contents: Gt1, Gt2)
DOWNLOAD ptb format.