Help us understand the problem. What is going on with this article?

Raspberry Pi + Piano Hatで宴会を盛り上げよう!

More than 5 years have passed since last update.

Piano Hatで遊んでみました。
Piano Hatは、Audafruitから買えます。
商品ページからリンクされているGithubのDocumentがありますが、これはその補足です。
PianoHat触る際にご参考にしていただければと思います。


必要なもの:
- PianoHAT
- スピーカー (Piano HATにはスピーカーはついてません)
- Raspberry Pi  (販売元曰く、2の方がお勧めだそうです)
Piano Hatはこんな風にRaspberry Piにかぶせます。
KIMG0775s.jpg

私の持っているUSBスピーカーは、ALTECのBXR1220というものです。
USBは電力供給のみに使い、ヘッドホンジャックから音を取ります。
設定を変えずにできました。

が、もしできなかったら オフィシャルのオーディオ設定にあるように
raspi-config の Advanced Options-Audioでは Autoもしくは Analog 1を選び、
Outputを
amixer cset numid=3 1 
では 1 のHeadphone Jackを選びます。(HDMI出力なら2、デフォルトが0)

Piano Hat導入には、Githubに書かれているようにまず、
$ curl -sSL get.pimoroni.com/pianohat | bash

This script will install Piano HAT libraries
and dependencies for both Python 2 and 3.
This process may take several minutes. 
Do you wish to continue? [y/N] 

と聞かれるので、y入力、次に

Piano HAT requires I2C, enable now? [y/N]

と聞かれるのでyと入力

ちょっと待ちます。
インストールがすべて成功していたら、python-smbus、cap1xxx、Piano-HATといったほかの必要なものも落ちてくるはずです。
もしどこかに失敗メッセージが出たら、こちらのページに各々の落とし方あります
このあたりですね。

sudo apt-get install python-smbus
git clone https://github.com/pimoroni/cap1xxx.git
cd cap1xxx && sudo python setup.py install
git clone https://github.com/pimoroni/Piano-HAT.git
cd Piano-HAT && sudo python setup.py install

試しにPimoroni/pianohatにあるbutton.pyを実行してみます。
~/Pimoroni/pianohat $ sudo python buttons.py
とやって、鍵盤を触ると、LEDが光るようになります。
Ctrl+Cで終了します。

せっかくなので音も出してみましょう。
sudo python simple-piano.py
で、音が出ます。

あらら、Cを叩いてAが鳴りますね。
ちょっと気持ち悪いので、多少乱暴ですが、simple-piano.pyの中の、
def handle_note (channel, pressed):
の中の
channel = channel + (12*octave)
をこう直しました。 
channel = channel + (12*octave) +3

オクターブも使えるので、いろいろ弾けます。
これからの時期増えるパーティや忘年会、かくし芸大会にいかがでしょう?
Youtube Pimoroni PianoHat


TODO:
Yoshimiと連携して、もっとMidiで遊びたいと思います。
どうやらYoshimiはともかく、JackdはGUIがあった方が設定しやすいようです。
しかし、上記に記したPimoroniのSupportページのように

jackd -dalsa -n4 -r44100 -p512 &
yoshimi -K -a &
cd examples
sudo python ~/Pimoroni/pianohat/midi-piano.py

とやったところで、
ImportError: No module named sequencer
とエラーが出てしまいました。
OSXやWindowsでは似たようなissueが出ているようです
しかし動いている人もいるので、どこか私が見落としてのだと思います。

それはまた後日。

kickno
小さなセンサーが大好き。
https://blog.riot.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away