LittleGPTracker,Picoloop binary for PocketC.H.I.P.
About my picoloop binary, you can of course use it for any purpose, as you wish, there is no limit, it's public! The same for my tutorial on github.
Thank you Éric binaire lgpt est très utile, merci.
PocketCHIPでPicoloopのコンパイルがうまくいかなかったので、おそらく世界で一番早くPocketCHIPでPicoloopのコンパイルしたÉric A.K.A. Garvalに、参考にするので、どのバージョンのソースコードでコンパイルしたのか尋ねたとろこ、たしか0.77bのバージョンも持っているから、makeしたと思うし、バイナリもあるから・・・とコンパイルしたバイナリを送ってくれた。 ついでにlgpt(littleGPTracker)のことも尋ねてみると、それもコンパイル済みのを持っているからと送ってくれた。 Éricは、Picoloopのマニュアルをつくって公開していて、おそらく実際にPicoloopをPlayしてみるとき、ÉricのGithubに公開したマニュアルが唯一のHow toだと思う。
後日、再びメールで、MilkytrackerもPocketCHIPの画面で動かせたよ、とPocketCHIPでコンパイルしたのかバイナリを送ってくれた。MilkytrackerをPocketCHIPでコンパイルしたら画面が最適化されるのかどうかわからないが、そうしようという発想はなくあきらめていたので、いいアイデアをもらった。
DOMO ARIGATOU Éric
lgpt:
mkdir working cd working curl -OL https://nekomusume.softether.net/nextcloud/index.php/s/4qoBDSfftFpNbTE/download?path=%2F&files=lgpt.zip
picoloop:
curl -OL https://nekomusume.softether.net/nextcloud/index.php/s/4qoBDSfftFpNbTE/download?path=%2F&files=picoloop_077b_pocketchip.zip
GarvalのSoundcloudへのリンク garvalf.online.fr
Schism Tracker on PocketC.H.I.P. 003
2.PocketC.H.I.P. でキーボードのSchism Trackerショートカットが効かない
について
Hook functions
Schism Tracker can run custom scripts on startup, exit, and upon completion of the disk writer. These are stored in the configuration directory, and are named startup-hook, exit-hook, and diskwriter-hook respectively. (On Windows, append .bat to the filenames.) Hooks are useful for making various adjustments to the system – adjusting the system volume, remapping the keyboard, etc. The disk writer hook can be used to do additional post-processing, converting, etc. (Note: on the Wii, hooks are not processed since there is no underlying OS or command interpreter to run them.)
Example For users with non-US keyboards, some keys may not work properly. This can be worked around by switching temporarily to a US keyboard layout on startup, and resetting the keyboard on exit. To define hooks to accomplish this:
cat >~/.schism/startup-hook <<EOF #!/bin/sh setxkbmap us EOF cat >~/.schism/exit-hook <<EOF #!/bin/sh setxkbmap fi EOF chmod +x ~/.schism/*-hook
This is for a Finnish keyboard; replace the fiwith the appropriate ISO 3166 country code or other keyboard mapping. See /etc/X11/xkb/symbols for a list of available keyboard layouts.
shismtrackerの起動でフックして、US配列のキーボードとして変更して、終了でもとに戻すということらしい。 pocketCHIPのデフォルトのキーボードについてコマンドで調べてみる。
chip@chip:~$ localectl System Locale: n/a VC Keymap: n/a X11 Layout: us X11 Model: pc105 chip@chip:~$ localectl list-keymaps Couldn't find any console keymaps.
もともとUSキー配列のよう。
でも、アンダーバー"_"が入力できないことで、ファンクションキーなどもデフォルトでアサインされていない可能性に気がついた。
だから、当然ながら、schismtrackerのファンクションキーのショートカットが効かない。
pocketCHIPのユーザーコミュニティにファンクションキーについてのHow toがあった。
Enabling the FN Keys
You will need to edit a couple of text files. I'll assume that if you want to run in text mode, you already know how to use vi, emacs, or nano.
The tool you need is "loadkeys," which is part of the "kbd" package, which is not installed by default. So start by installing it:
"kbd"というパッケージをインストールして、
sudo apt-get install kbd
Next, you need a text file that specifies the mappings, i.e. which keystrokes should produce what characters. Create a file containing the following text and save it somewhere convenient.
ファイルをつくって、なかに以下のテキストを書き込む、
keymaps 0-2,4-5,8,12 altgr keycode 2 = F1 altgr keycode 3 = F2 altgr keycode 4 = F3 altgr keycode 5 = F4 altgr keycode 6 = F5 altgr keycode 7 = F6 altgr keycode 8 = F7 altgr keycode 9 = F8 altgr keycode 10 = F9 altgr keycode 11 = F10 altgr keycode 74 = F11 shift keycode 74 = underscore altgr keycode 13 = F12 altgr keycode 21 = braceleft altgr keycode 22 = braceright altgr keycode 23 = bracketleft altgr keycode 24 = bracketright altgr keycode 25 = bar altgr keycode 35 = less altgr keycode 36 = greater altgr keycode 37 = apostrophe altgr keycode 38 = quotedbl altgr keycode 48 = grave altgr keycode 49 = asciitilde altgr keycode 50 = colon altgr keycode 52 = semicolon shift keycode 52 = comma altgr keycode 53 = backslash
ファイルの作り方は、
touch enableFNkeys nano enableFNkeys
上のテキストをコピーしてペースト。
Test your file: テストしてみる:
sudo loadkeys /path/to/file
If you've done everything right, your FN keys should now be working. If not and the keyboard is fouled up to the point where you can't type well enough to try again, simply reboot to restore the original, no-FN mappings.
If it does work, you can make the new mapping permanent with a quick edit to your /etc/rc.local file. (Note that that's a system file; use sudo or you won't be able to save your change.
Find the line that reads
exit 0
Immediately above that line, add
#Load keymap for PocketChip keyboard /usr/bin/loadkeys /path/to/file Navigation menu
Schism Tracker on PocketC.H.I.P. 002
Schism Tracker を PocketC.H.I.P. にコンパイルして、インストールした。
したけれども、2つ問題があって、どちらもまだ解決していない。
どちらも重要で、
音が出ない- PocketC.H.I.P. でキーボードのSchism Trackerショートカットが効かない
という2つだが、1をまずクリアすべきです。
1は、どういうことかというと、Schism Trackerが PocketC.H.I.P.のサウンドデバイスを使えないということ。これは、設定次第のはずだ。
Schism Trackerをインストールすると、
home/userディレクトリ
に、
.schism
というフォルダができる。この中に
config
という設定ファイルがある。これを見るには、隠しファイルを表示する必要がある。
ターミナルでは、
chip@chip:~/$ls -a
と ls に -a をつけると、隠しファイルも表示される。
cd .schism
で
chip@chip:~/.schism$nano config
とするとconfigファイルの内容が読める。
中身は
[Audio] sample_rate=44100 bits=16 channels=2 buffer_size=1024 [Mixer Settings] channel_limit=128 interpolation_mode=1 no_ramping=0 surround_effect=1 [EQ Low Band] freq=0 gain=0 [EQ Med Low Band] freq=16 gain=0 [EQ Med High Band] freq=96 gain=0 [EQ High Band] freq=127 gain=0 [Video] driver=sdl fullscreen=0 mouse_cursor=1 gl_bilinear=0 lazy_redraw=0 [General] vis_style=2 time_display=1 classic_mode=0 make_backups=1 numbered_backups=0 accidentals_as_flats=0 meta_is_ctrl=0 altgr_is_alt=1 midi_like_tracker=0 [MIDI] flags=93 pitch_depth=12 amplification=100 c5note=60 start=FF stop=FC tick= note_on=9c n v note_off=9c n 0 set_volume= set_panning= set_bank= set_program=Cc p SF0=F0F000z SF1= SF2= SF3= SF4= SF5= SF6= SF7= SF8= SF9= SFA= SFB= SFC= SFD= SFE= SFF= Z80=F0F00100 Z81=F0F00108 Z82=F0F00110 Z83=F0F00118 Z84=F0F00120 Z85=F0F00128 Z86=F0F00130 Z87=F0F00138 Z88=F0F00140 Z89=F0F00148 Z8A=F0F00150 Z8B=F0F00158 Z8C=F0F00160 Z8D=F0F00168 Z8E=F0F00170 Z8F=F0F00178 Z90= Z91= Z92= Z93= Z94= Z95= Z96= Z97= Z98= Z99= Z9A= Z9B= Z9C= Z9D= Z9E= Z9F= ZA0= ZA1= ZA2= ZA3= ZA4= ZA5= ZA6= ZA7= ZA8= ZA9= ZAA= ZAB= ZAC= ZAD= ZAE= ZAF= ZB0= ZB1= ZB2= ZB3= ZB4= ZB5= ZB6= ZB7= ZB8= ZB9= ZBA= ZBB= ZBC= ZBD= ZBE= ZBF= ZC0= ZC1= ZC2= ZC3= ZC4= ZC5= ZC6= ZC7= ZC8= ZC9= ZCA= ZCB= ZCC= ZCD= ZCE= ZCF= ZD0= ZD1= ZD2= ZD3= ZD4= ZD5= ZD6= ZD7= ZD8= ZD9= ZDA= ZDB= ZDC= ZDD= ZDE= ZDF= ZE0= ZE1= ZE2= ZE3= ZE4= ZE5= ZE6= ZE7= ZE8= ZE9= ZEA= ZEB= ZEC= ZED= ZEE= ZEF= ZF0= ZF1= ZF2= ZF3= ZF4= ZF5= ZF6= ZF7= ZF8= ZF9= ZFA= ZFB= ZFC= ZFD= ZFE= ZFF=
schismtracker configuration
Audio outputの箇所を見ると (2.の問題については、Hook functionsにヒントがありそう。US キーボード以外のキーマップを起動時に読み込めばいいかもしれない。)
[Audio] buffer_size=256 driver=dsp:/dev/dsp1
というようにdriver=で指定したものが、起動時に優先的に設定されるらしい。 PocketC.H.I.P. で使われているのがalsaなのか、pulseaudioなのか調べて正しく設定できれば解決しそう。
ヒントは、コンパイルのときにschismtrackerはSDLを必要としていて、おそらくはSDLからオーディオデバイスを制御するということだ。
aplay --list-devices
**** List of PLAYBACK Hardware Devices **** card 0: sun4icodec [sun4i-codec], device 0: CDC PCM Codec-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0
chip@chip:~$ aplay -L null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server equal default dsp0 dmixer sysdefault:CARD=sun4icodec sun4i-codec, Default Audio Device dmix:CARD=sun4icodec,DEV=0 sun4i-codec, Direct sample mixing device dsnoop:CARD=sun4icodec,DEV=0 sun4i-codec, Direct sample snooping device hw:CARD=sun4icodec,DEV=0 sun4i-codec, Direct hardware device without any conversions plughw:CARD=sun4icodec,DEV=0 sun4i-codec, Hardware device with all software conversions
user comunity に質問してみる。
質問したが、結局自力でわかった。 schismtrackerのconfigファイルで、
chip@chip:~/.schism$nano config
[Audio] sample_rate=44100 bits=16 channels=2 buffer_size=1024 driver=alsa:default
と指定すると、音がでるようになった。 が、どういうことかわからない。つまり他に選択の余地はあるのかどうか、どうやって解るのだろうか?
サウンドドライバの一覧表示
chip@chip:~$ /sbin/lsmod | grep "snd" snd_seq_dummy 1141 0 snd_seq 49443 1 snd_seq_dummy snd_seq_device 3045 1 snd_seq snd_soc_core 116548 1 sun4i_codec snd_pcm_dmaengine 2943 1 snd_soc_core snd_pcm 68852 3 snd_soc_core,snd_pcm_dmaengine snd_timer 17776 3 snd_pcm,snd_seq snd 47207 7 snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device soundcore 4991 1 snd ac97_bus 1300 1 snd_soc_core
サウンドに関係ありそうなもの
View post on imgur.com
imgur.com
これは、PCMが再生できるのはC(カード):0のD(デバイス):0だよP(CM) ということらしい。
結果的に、どうしてなのか?は置いておいて
この3つのドライバーの指定の仕方は、pocketCHIPのALSAにアクセスできた。 これは、
chip@chip:~$ aplay -L
で表示されるものを、引数に順番にほりこんでいった結果。 経緯は、ここに・・・
How to set up sound device on PocketC.H.I.P. ? · Issue #192 · schismtracker/schismtracker · GitHub
hw:0,0 として指定してもよさそうだが、エイリアスでしかいけないということなのかもしれない。 これは、
hw:0,0 って何?とか、.asoundrcとかをキーワードに検索してみて、数少ない関連情報を検討してみてほしい。
schismtrackerのソースコードでは、 ここに定義が書いてあった。ドキュメント読んでも、まずわからないのでこちらを見るほうがいい。
pocketCHIPでは、コンフィグに上記のように設定されていない場合、起動と同時にサウンドデバイスが”dummy”が選ばれる。それは、Schismがdefaultと認識したaudio deviceにリダイレクトして、そうなるようだった。その条件式が書かれている。
リダイレクトして、defaultのaudio deviceがbusyになるというところまでの流れ 1365行目から
たまたま別の機会に、別のLinuxでGnu Denemoというプログラムで、音が出ない問題があり、そこでAudio Deviceの設定画面があり、そこで見た表示。 こういうことらしい。GUIで見ると、わかりやすい。
bluetooth on PocketC.H.I.P.
PocketC.H.I.P.で、bluetoothのkeyboadを使いたい場合、ターミナルからbluetoothをOnにする。
chip@chip:~$ bluetoothctl [bluetooth]# scan on [bluetooth]# pair <bluetoothキーボードのmac address>
ペアリングが成功したら、connectする。
<bluetoothキーボードのmac address> のところは、
CC:C5:0A:20:22:16
というようなアドレスです。 つまり、
[bluetooth]# pair CC:C5:0A:20:22:16
ということですが、マックアドレスは固有のものなので、必ず個体によって同じになりません。
ちなみに、このマックアドレスは、このbluetoothキーボードのものです。
いまのところ左に配置しているCtlキーが右Ctlにマッピングされているなど、そのまま使うには不都合があります(自分にとって)。 schismtrackerなどのフルキーボードアクセス(全部キーボードで操作できるようになている=キーボードのキーアサインが全て固定されている。例えば右Ctr と左Ctrには別々のショートカットが割り付けられているために、左Ctrを使うショートカットが重要な場合、左Crtがないとcommandがタイプできない。)の場合、F1〜F12まで多用するのだけれども、schismtrackerでこのキーボードのファンクションキーが効いてない。 PocketC.H.I.P.のデフォルトのキーボードでも同じく。*1
ですのでこのキーボードを推奨しているわけではないです。
schismtracker でのキーバインドの変更など。 https://github.com/schismtracker/schismtracker/blob/master/docs/configuration.md
[bluetooth]# connect <bluetoothキーボードのmac address>
次回からこのキーボードを自動でペアリングしたければ、trust
[bluetooth]# trust <bluetoothキーボードのmac address>
Schismtracker
PocketC.H.I.P.に
apt-get install schism
でSchismtrackerをバイナリをインストールしたが、ビルドが古そうなので、自分でどうやってビルドするのか、やってみる。
libsdl1.2-dev libsdl2-dev autoconf automake gcc make Python git
が必要。
明らかにすでにあるのは省いて、*1
chip@chip:~$sudo apt-get install autoconf automake gcc make Python
chip@chip:~$sudo apt-get install build-essential automake autoconf autoconf-archive chip@chip:~$sudo apt-get install libxxf86vm-dev libsdl1.2-dev libasound2-dev mercurial chip@chip:~$sudo apt-get install libx11-dev libxext-dev libxv-dev libxxf86misc-dev libtool
chip@chip:~$git clone https://github.com/schismtracker/schismtracker.git
chip@chip:~$cd schismtracker
autoreconfです。autoconfだとエラーになります。
chip@chip:~/schismtracker$sudo autoreconf -i
buildディレクトリをつくって、ここに実行ファイルのバイナリーをつくる。
chip@chip:~/schismtracker/$mkdire -p build
chip@chip:~/schismtracker/$cd build
chip@chip:~/schismtracker/build$sudo ../configure
make
chip@chip:~/schismtracker/build$sudo make
schismtrackerが実行ファイル。
chip@chip:~/schismtracker/build/$./schismtracker
schismtrackerのgithub
使い方は全くわからないが、Milkytrackerでつくったファイルは読み込めるだろうから、また最初から。
マニュアルは、ここにある。
一番重要なことですが、schismtrackerを終了する場合は、
Ctlキー + qキー
です。これは、最も重要ですが、マニュアルの何処に書かれているかわかりません。
最初わからないので、ターミナル画面へ移動して
Ctlキー + cキー
で止めていました。一応それでプログラムは止まりますが、プログラムを終了させるときは、
Ctlキー + qキー
を使いましょう。
picoloop ピコループ
PocketC.H.I.P.へPicoloopをインストール。
前回なぜか失敗してしまったのは、おそらくはGitについて、全く知らないまま使っているのも影響しているだろう。
git tag
コマンドで、よく見ると
picoloop-0.77b-pocketchipok
というのがある。チッポクってなんだろな?って思ってたけど、
ポケットチップOK
ですね。よく見ると。
これをチェックアウトするんだろうな。
git checkout picoloop-0.77b-pocketchipok
コンパイル失敗したファイルをcleanしてから、(ぽちぽちボタン押すよりキーを叩きたい人はsshでwindowsとかmacとかubuntuのターミナルから接続してみては? *1)
cd picoloop make -f Makefile.RtAudio_pocketchip clean make -f Makefile.RtMidi_pocketchip clean make -f Makefile.PatternPlayer_pocketchip_RtAudio clean
make -f Makefile.RtAudio_pocketchip make -f Makefile.RtMidi_pocketchip make -f Makefile.PatternPlayer_pocketchip_RtAudio make -f Makefile.PatternPlayer_pocketchip_RtAudio
どうやらエラーなくコンパイルできた。
Succseed!!
picoloop-0.77 readmeには、
LAUNCHING # ./PatternPlayer
で起動って書いてあるけど、やってみても起動しない。 どこかに、実行ファイルがあるはず。
chip@chip:~/audio/picoloop$ ls
無いなぁ・・・どこかにバイナリがあるはず。どこかに、
これだね PatternPlayer_pocketchip_Rtaudio
PatternPlayer_pocketchip_Rtaudio
長い名前。 このファイル名は変えても大丈夫らしい。*2
./PatternPlayer_pocketchip_Rtaudio
とターミナルで実行すると・・・
Failed to load samples samples/50.wavFailed to load samples samples/51.wavFailed to load samples samples/52.wavFailed to load samples samples/53.wavFailed to load samples samples/54.wavFailed to load samples samples/55.wavFailed to load samples samples/56.wav....................
サンプルを読み込めないというエラーが出て止まる。
GUIファイラーからpicoloopフォルダの中の実行ファイルをたたくと
初めて起動成功。
Succeed!!
これでは何のことやらわからないので、まとめると。
Picoloop install on PocketC.H.I.P. / ピコループのインストール PocketC.H.I.P.編
Picoloopとは?
それはこちらをどうぞ manuke.hateblo.jp
インストールの手順
PocketC.H.I.P. でPicoloopをコンパイルするのに必要な準備。これらが、前もって必要。
libsdl, libasound2, libpthread*, g++, make, libjack-dev, git
PocketC.H.I.P. のターミナルでapt-getでインストール。
chip@chip:~$sudo apt-get install libsdl* libasound2* libpthread* g++ make libjack-dev git
ただし、PocketC.H.I.P. は現在公式レポジトリが閉鎖されて存在していないので、ユーザーの有志が公式レポジトリからサルベージした、オルタナティブなレポジトリを登録していないと更新、インストールできないパッケージがある。 それについては、こちらの「登録レポジトリを変更」を参考してください。 http://manuke.hateblo.jp/entry/2019/05/10/000441
Picoloopの開発者yoyzのgithubからgit cloneしてくる
chip@chip:~$git clone https://github.com/yoyz/audio.git chip@chip:~$cd audio chip@chip:~/audio$git tag
ここでよく見ると、
picoloop-0.77b-pocketchipok
というタグがある。 ここから冒頭と同じで、
chip@chip:~/audio$git checkout picoloop-0.77b-pocketchipok
つづいて、picoloopに移動して
cd picoloop make -f Makefile.RtAudio_pocketchip clean make -f Makefile.RtMidi_pocketchip clean make -f Makefile.PatternPlayer_pocketchip_RtAudio clean
make -f Makefile.RtAudio_pocketchip make -f Makefile.RtMidi_pocketchip make -f Makefile.PatternPlayer_pocketchip_RtAudio make -f Makefile.PatternPlayer_pocketchip_RtAudio
これでコンパイルされる。
*2:farvardin: Picoloop Tutorial (PocketChip version) https://github.com/farvardin/picoloop-manual/blob/master/picoloop_manual_pocketchip.md
Schism Tracker on PocketC.H.I.P.
PocketC.H.I.P.のスクリーンでのMilkytrackerのレゾリューション問題が解決しないので、Schism Trackerを探す。
「SchismTracker」でapt-getでインストールできるはずだよというアドバイスをもとに、探すが見つからなかった。
リポジトリの登録の問題かな・・・と思ったが、「schism」で探すと見つかったよう。
...... 12時間くらい回り道して、PoketCHIPでは、Altキーを押しながら、スクリーンをタッチしてドラッグすると画面自体をスクロール可能だということが解った。
しかし、milkytrackerのミニマムレゾリューションが640x480なので、PocketC.H.I.P.の420x272のスクリーンサイズでは表示しきれない。
ということで、使えそうなのはSchismTrackerだけかもしれない。