2015年10月19日月曜日

Raspberry Pi を楽譜作成マシンにする

前回のエントリ で Windows 環境の abcm2ps に日本語タイトルをつける方法を紹介しましたが、同じ方法を Linux でやってみてもなかなかうまくいきませんでした。

それがこの度ようやくうまくいったので Linux 環境の abcm2ps で日本語を通す方法のご紹介です。

Linux といっても、今回は Raspberry Pi を使ってやってみました。これで、Raspi ひとつあればどこでも楽譜が作れるというすばらしい環境が作れます。

とりあえず、abcm2ps のインストール

> sudo apt-get install abcm2ps

apt-get でインストールできちゃうんだな。。ちょっとびっくり。。

続いて、日本語フォントも必要です。今回は IPAフォントを使ってみます。というわけで、IPAフォントのインストール

> sudo apt-get install otf-ipafont

そして、ghostscript のフォント設定。
/etc/ghostscript/cidfmap.d/ にフォント情報を追加します。

/etc/ghostscript/cidfmap.d/ 配下に 10local.conf みたいなファイル(たぶんファイル名は任意)を作って、、

ファイルの内容は、IPA Pゴシックなら

/IPA-PGothic << /FileType /TrueType /Path (/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf) /CSI [(Japan1) 6] >> ;

こんな感じ。

他の例として、東風ゴシックならこう

/Kochi-Gothic << /FileType /TrueType /Path (/usr/share/fonts/truetype/kochi/kochi-gothic.ttf) /CSI [(Japan1) 6] >> ;

そして、/etc/ghostscript/cidfmap.d/ を変更したときに、フォントマップの更新を忘れずに。。(これ忘れててかなりハマった)

> update-gsfontmap

abc ファイルの方は Windows と同じ。

%%beginps
/IPA-PGothic-UTF8-H /UniJIS-UTF8-H [ /IPA-PGothic ] composefont pop
%%endps
%%font IPA-PGothic-UTF8-H native
%%titlefont IPA-PGothic-UTF8-H native 32
%%subtitlefont IPA-PGothic-UTF8-H native 18
%%composerfont IPA-PGothic-UTF8-H native 12
%%footerfont IPA-PGothic-UTF8-H native 11
%%textfont IPA-PGothic-UTF8-H native 16
%%vocalfont IPA-PGothic-UTF8-H native 13
%%wordsfont IPA-PGothic-UTF8-H native 16

こんな感じの記述をしておけば、この場合、それぞれが IPA Pゴシックフォントで表示されます。

これを別ファイルにしておいて、

%%format [ファイル名]

みたいにすればファイルのインクルードができるので、全部の abc ファイルにこれをいちいち書くよりは楽かも。ちなみに別ファイルにしてインクルードするときはインクルードされるファイルの %% は不要みたいです。

ようするに、別ファイルにする内容は

beginps
/IPA-PGothic-UTF8-H /UniJIS-UTF8-H [ /IPA-PGothic ] composefont pop
endps
font IPA-PGothic-UTF8-H native
titlefont IPA-PGothic-UTF8-H native 32
subtitlefont IPA-PGothic-UTF8-H native 18
composerfont IPA-PGothic-UTF8-H native 12
footerfont IPA-PGothic-UTF8-H native 11
textfont IPA-PGothic-UTF8-H native 16
vocalfont IPA-PGothic-UTF8-H native 13
wordsfont IPA-PGothic-UTF8-H native 16

こんな感じになります。

これで、Raspi ひとつで(日本語で)楽譜作り放題の環境のできあがり。

abcm2ps で日本語タイトルの楽譜を作る (Windows編)

abcm2ps というのは私が愛用しているフリーの楽譜作成ソフトです。

ここでは詳しく説明しませんが、気になる方は、たとえば、

http://lang.x0.com/music/abc.htm
http://mahoroba.logical-arts.jp/category/dtm-daw/abc-notation

このへんなど見ていただけるといいかと思います。

ABC言語という楽譜記述用の言語で楽譜情報を入力して、abcm2ps でコンパイルしてやると楽譜が生成されるというなんともとっつきにくいソフトウェアなのですが、表現記号を抜いた音符の打ち込みだけなら、(慣れれば)かなり高速に行えるので重宝しているのです。

ただし、難点はタイトルなどに日本語(っていうか2バイト文字コード)が使えないこと。

…だったのですが、Ver.6.x.x から、UTF-8 が文字コードとして使えるようになり、日本語も使えるようになりました。とはいうものの、設定がかなり大変だったのでメモしておきます。

ここでは Windows7 で確認した方法を記載します。

ちなみに、ここで紹介する設定方法を確立してから知ったのですが、
http://mahoroba.logical-arts.jp/archives/1897
ps ファイルではなく、svg ファイルとして出力してやると、ここで紹介するようなややこしい設定をしなくても日本語で楽譜が出力できるようです(もっと早く知りたかった…)
でもいいんです、ps ファイルで出力したい方はこちらの方法を試してみてください。

とりあえず、GhostScript を日本語対応にしておく必要があるみたいです。じゃないと見れないので。
で、それについては GhostScript のインストール時に
Use Windows TrueType fonts for Chinese, Japanese and Korean
って項目にチェックを入れておくだけでいいらしい。バージョンいくつからそんなに便利になったかわからないけど、少なくとも最新版ならそんな感じ。これで自動的に cidfmap(デフォルトなら C:\gs\gs9.02\lib\cidfmap)にある程度のフォントが登録されますが、使いたいフォントが登録されていない場合は追加の必要があるようです。

MSゴシックが以下のように登録されていたので、

/MS-Gothic << /CSI [(Japan1) 3] /Path (C:/WINDOWS/fonts/msgothic.ttc) /FileType /TrueType /SubfontID 0 >> ; 

これを参考にして、FA丸ゴシックを追加してみたのがこんな感じ。

/FA-MARU-Gothic << /CSI [(Japan1) 3] /Path (C:/WINDOWS/fonts/fanrgo5.ttf) /FileType /TrueType /SubfontID 0 >> ; 

"FA-MARU-Gothic" 部分はフォント名で任意、C:/WINDOWS/fonts/fanrgo5.ttf はフォントファイルのパス。1ファイルに複数のフォントが入っている場合、"/SubfontID 0" の "0" 部分を変更する必要があるようです。他の部分はまだ詳細不明。 

GhostScript はそんなもんで、あとは ABCファイル側。だいたい以下のような感じで各部分のフォントを指定。 

%%beginps 
/FA-MARU-Gothic-UTF8-H /UniJIS-UTF8-H [ /FA-MARU-Gothic ] composefont pop 
%%endps 
%%font FA-MARU-Gothic-UTF8-H native 
%%titlefont FA-MARU-Gothic-UTF8-H native 32 
%%subtitlefont FA-MARU-Gothic-UTF8-H native 18 
%%composerfont FA-MARU-Gothic-UTF8-H native 12
%%footerfont FA-MARU-Gothic-UTF8-H native 11 
%%textfont FA-MARU-Gothic-UTF8-H native 16 
%%vocalfont FA-MARU-Gothic-UTF8-H native 13 
%%wordsfont FA-MARU-Gothic-UTF8-H native 16 

/FA-MARU-Gothic-UTF8-H ~ の行は使うフォントの指定らしいけどよくわからず。PostScript の文法が分からないとだめかな…。

分かるのは "/FA-MARU-Gothic" 部分は cidfmap で行の最初に記載したフォント名に対応してなきゃいけないってことくらい。 

で、 %%font 行以降の "FA-MARU-Gothic-UTF8-H" 部分は "/FA-MARU-Gothic-UTF8-H ~" 行の先頭に合わせる、と。native はよく分からなくて、その後の数字は文字の大きさなのでお好みで。 

分かったことはその程度。実用的にはこれで漢字表記のタイトルが出力されました。 

この方法でできた楽譜は こちら で公開しています。

あと、Linux でも試してみました。それについては 次のエントリ で、、

2014年5月17日土曜日

キーピッチ 19mm が標準とは誰が決めたのか?

パソコンのキーボードが押しにくいです。

自分にとっていわゆる標準のキーピッチ 19mm って、キーとキーの間が遠すぎるんですよ。

隣のキーが遠いっていうよりかはキーボード全体が大きすぎて、手が全体的に広がりすぎなのが気持ち悪いというか、そんな感じが常にあります。

あ、私、成人男性として手は小さくないですよ。体は少々小柄な方ですが、小柄な割にはむしろ手は大きい方かもしれません。

それでも 19mm よりも狭いキーピッチがいいというのは単純に好みの問題ですし、こういう人って割合多くないにしても、一定数いるんじゃないかと思うんですよね。

そんなわけで、キーピッチ 19mm 未満のキーボードを探すわけですが、それって品物自体がかなり少ないですし、さらに常用したいのでテンキーもついていて欲しいのですが、そうなると、選択肢がほとんどありません。

ほとんどっていうか、そんな商品見つからない。

キーピッチが 15~17mm くらいのテンキー付キーボード。あ、あと、USB接続(電池が切れていきなり使えないとかいやなので)。ただそれだけの条件なのに、そんな条件に合うキーボードってほんとにないんですよ。

見つからないし、そんな条件でキーボードって探しにくい。

以前より、もうどこで見つけたんだか忘れた上に、名のあるメーカーのものでもなく、本体に型番も書いてないので全然どこのなんだかわからないキーピッチ 16mm くらいのテンキー付キーボードを使っていまして、でも、そのキーボードの調子がいまひとつになってきたので新しく似たようなキーボードを探してみたのですが、これまたなかなか見つからない。

で、このたび、条件に合うキーボードを見つけましたので、買って常用しています。

同じ商品の PS/2 接続のものと USB 接続のものです。

キーピッチ 15.7mm で、本当は 16mm、17mm、18mm …と、もうちょっと大きい方がいいかなという気もするのですが、19mm よりマシです。

キー配置もちょっと特殊で、たまにびっくりするのですが、いくつかのキーだけなので、慣れれば特に問題ないです。私はもう慣れました。もちろんこの記事もこのキーボードで打ち込んでします。

多分、あまりいないのかもしれない、「キーピッチ 19mm って大きくて打ちにくい派」の方におススメのキーボードです。

ちなみに、テンキーがなくてもよければ、以下のようなキーボードがあるようです。


そういえば、私のような「キーピッチ 19mm って大きくて打ちにくい派」がいるんだから、逆に「キーピッチ 19mm って小さくて打ちにくい派」もいるんじゃないかって気もするんですよね。

そういう方って、キーピッチ 20mm、21mm、22mm、23mm ってそれくらいのキーボードを探していたりするんでしょうか?

そっちの方が品物少なそう。。

私は探したことないけど、そういうキーボードってあるのかな?

キーピッチ 15mm~23mm くらいでキーボードをオーダーメイドできるお店とかあったらいいんですけどね。って、需要ないか。。

2014年5月16日金曜日

Viscuit(ビスケット)で簡易生物モデルを作ってみた

以前から Scratch みたいな子供向けのプログラミング言語には興味がありまして、そのうち子供と遊んでみようと思ってたんですが、Scratch は最低限ひらがながすらすらと読めるくらいのスキルがないと厳しいなと思って、まだ子供とは遊んでないのです。

うちの子はようやくぎくしゃくとひらがなが読めるようになったくらい。もう少しで Scratch も遊べそうなんだけどな。

と、思っていたら、なんか文字や数字を使わないで絵だけでプログラミングする言語を発見。

Viscuit(ビスケット) って名前で、何やら楽しそう。

要するに、絵に規則を与えることで絵を変化させていくことができるというものみたいですね。って、それはほんとに表面上の話で、もっと奥が深そうですが。。

で、これならすぐにでも子供と遊べそうだなと思ったんですが、その前に自分だけで遊んでみました。

作ったのが、これ。


ちょこちょこと数分で作ってのでテキトウですが(って、数分でこんなものが作れるのがすごい!)、テーマはタイトル通り「簡易生物モデル」です。

  • 緑と黄色の輪が大人(緑が若くて黄色が高齢)で赤い輪が子供
  • 大人は自分一人では動かず、近くに大人がいると近づこうとする。近づきすぎると離れる。
  • 子供は一人で動き回る。
  • 子供が近寄ると大人は逃げる。子供は大人を追う。
  • 子供同士はくっついたり離れたりする。
  • 大人が2つくっつくと子供が生まれる。同時に大人は歳をとる(緑は黄色に、黄色はいなくなる)
  • 子供は2つくっつくと片方が大人になる。

だいたいこんな感じの条件で動いています(一応、メガネはこんな感じ)。

とりあえず人数が発散しないように一定の人数を保つような条件にしていますが、もっと人数が増減するような条件にした方が面白いかも。

というか、大人が遊ぶとこんな面倒くさいことを考えてしまいますが、子供が遊ぶとどんなものを作るのかな?

今度子供に見せて、遊ばせてみて、どんなものを作り出そうとするのかだまって見ていたいと思います。

2014年5月9日金曜日

パソコンでレゴをする

最近はけっこううちの子もレゴで何かを自作するようになってきました。

で、レゴで一緒に遊ぶことも多いです。

そんな中、レゴの情報をネットで探してて見つけたのがこれ。

LEGO DIGITAL DESIGNER


ダウンロードして、普通にインストールして起動すると、PCの中でレゴを組み立てられるというお手軽さ。

あんまり使い方とかよくわからなくても、左側のパレットからレゴを拾ってきてペタペタくっつければなんとなくできあがっていくので簡単。

まだよくわかってないけど、面白そうだからしばらく遊んでみることにしよう。

2014年4月12日土曜日

Raspberry Pi から NAS フォルダをマウントしてみる

去年くらいから(?)話題になっていた Raspberry Pi(ラズベリーパイ)をようやく買いました。

OS のセットアップなんかは今さら感が強いので特に記事にしませんが、NAS のフォルダをマウントしようとしたらハマったのでメモ的に記事にしておきます。

ちなみに OS は Raspbian でやってます。

以前に Linux Mint でやったときにうまくいった方法 で試してみたら、Invalid argument とか言い出すし、dmesg で確認してみると NT_STATUS_NOT_IMPLEMENTED となんとも嫌な感じのメッセージが現れたりしていらっしゃる。

結局、解決策としては、以下のような感じになった。

> sudo mount -t cifs -o sec=ntlm,username=ユーザ名,password=パスワード,file_mode=0777,dir_mode=0777 //接続先マシン名(IPアドレス)/接続先フォルダ マウント先(/mnt/nas)

これでどうにか接続っていうかマウントされた。

たしか sec=ntlm はデフォルトだった気がするのだけど、どうやらきちんと指定してやらないといけないらしい。

なぜ必要なのかはよくわからなかった。

2013年11月24日日曜日

幼稚園児でもできるポケモンカードゲームを作ってみた

ポケモンの話題です。

前回は仮面ライダーの話でしたが、ウィザードが終わると同時に、うちの子供の興味が仮面ライダーからポケモンに移行しました。鎧武は好みに合わなかったのか…

そこで、それに合わせてちょっとしたポケモンのカードゲームを自作してみました。

といっても、4歳児に合わせて作ったものですから

  • ひらがなとカタカナがある程度読める。そして、ポケモンのためならがんばって読める。
  • 数字は 100 まで数えられる。そして、ポケモンのためなら 3桁の数字をがんばって読める。
  • 100 前後のまでの数の大小を比較でき。ポケモンのためなら…

くらいの子供が対象です。実際にできたのものはこんな感じ。


左が表、右が裏です。一枚一枚を見るとこんな感じ。


こんな感じの絵が裏表になっていて、1枚1枚は名刺サイズ。

遊びのルールは簡単で、

  1. カードの表を見ながら、2人で順番に技の名前を読み上げながらサイコロを振る。
  2. カードの裏を見て、サイコロの出た目に対応する数字を確認。
  3. 大きい方が攻撃できた。
  4. 3回(書いてある技の回数分)だけ同じことを繰り返して、攻撃できた回数が多い方の勝ち

まあ、最初に3枚なり5枚なり好きなカードを選んで(ゲットして)、こんな感じで戦って、勝ったポケモンの多いトレーナーの勝ちとか、そんな他愛もないゲームです。

ただ、こんなゲームを作ってやったことで、親の目論見通り、技の名前をがんばって読み上げ、だいぶひらがなとカタカナを読む努力をすることを覚えました。あと、3桁の数字の読み方も分かって、大小の比較もだいぶ分かってきたようです。

子供、親の術中にハマったり。

ちなみに、画像は主に「ポケモンずかん」の画像をお借りしており、裏側の数字は「ポケモン徹底攻略」の「ポケモン図鑑XY」を参照させていただき、「HP、こうげき、ぼうぎょ、とくこう、とくぼう、すばやさ」を機械的に当てはめています。(ピカチュウなら、35、55、40、50、50、90 という感じ)

世にはポケモンカードゲームなるものが売られていますが、幼稚園児にはちょっと難しいような気がします。もうちょっと字が読めるようになればこれを買ってあげて、一緒に遊んでもいいんだけどなぁ。ってくらいのお子様にこんななんちゃってカードゲームを作ってあげるというのはいかがでしょうか?