Sota (Intel Edison版) にMIDIキーボードをつないで音を鳴らす
Sota (Intel Edison版) にMIDIキーボードをつなげて音を鳴らしてみたメモ。
社会的対話ロボット「CommU(コミュー)」・普及型社会的対話ロボット「Sota(ソータ)」 | ヴイストン株式会社
とはいうものの、以下のサイトをやってみただけ、という感じだったけど。
デモ
FluidSynthをインストールする
$ tar zxvf fluidsynth-1.1.6.tar.gz $ cd fluidsynth-1.1.6 $ ./configure *************************************************************** The autotools build system is deprecated and might be removed in a future version. Please use the CMake build system instead. *************************************************************** Summary: libsndfile: no (raw audio file rendering only) D-Bus: yes PulseAudio: no JACK: no ALSA: yes PortAudio: no OSS: yes MidiShare: no CoreAudio: no CoreMIDI: no LADSPA support: no LASH support: no LADCCA support: no OS/2 DART support: no Audio to file driver: yes Readline: yes (NOTE: GPL library) Profiling: no Debug: no Trap on FPE (debug): no Check FPE (debug): no *************************************************************** $ make $ make check $ make install $ make clean
音源のサウンドフォントは、以下をお借りしてSotaにコピーした。
$ ls -l akai_steinway.sf2 -rw-r--r-- 1 root root 25696060 Dec 25 07:22 akai_steinway.sf2
FluidSynthで音を鳴らす
$ fluidsynth -a alsa -g 3 akai_steinway.sf2
aオプションでALSAを指定、gオプションで音量(0 < g < 10)を指定する。
起動したら、一旦Ctrl+zでサスペンドする。
$ fluidsynth -a alsa -g 3 akai_steinway.sf2 FluidSynth version 1.1.6 Copyright (C) 2000-2012 Peter Hanappe and others. Distributed under the LGPL license. SoundFont(R) is a registered trademark of E-mu Systems, Inc. fluidsynth: warning: No preset found on channel 9 [bank=128 prog=0] fluidsynth: warning: Requested a period size of 64, got 1024 instead fluidsynth: warning: Requested 16 periods, got 4 instead Type 'help' for help topics. > ^Z [1]+ Stopped fluidsynth -a alsa -g 3 akai_steinway.sf2
すると、aconnectコマンドでFluidSynthのポートが増えているのが確認できる。
$ aconnect -o client 28: 'nanoKEY2' [type=kernel] 0 'nanoKEY2 MIDI 1 ' client 128: 'FLUID Synth (752)' [type=user] 0 'Synth input port (752:0)'
MIDIキーボードのデータをFluidSynthに送るようにする。
$ aconnect 28:0 128:0
fgコマンドでFluidSynthを復帰させる。
$ fg (Enter) fluidsynth -a alsa -g 3 FluidR3_GM.sf2 >
入力待ちになるが、これで終わり。
あとはMIDIキーボードを押せば、音が鳴る。
終わりたいときは、Ctrl+CでもCtrl+Dでも、FluidSynthを終了すればOK。