2017年4月4日火曜日

Tkinter でGUI音遊びソフト作り(1) - プロジェクトOrbit

Arduino と Raspberry Pi による楽器作りはまだ終わっていませんが、腕装着用のバンドやらを購入しないと進められません。しばらく何もできずに暇なので何か新しいものを作ってみようと思いました。


1.次に何を作るか

これまでセンサを用いて実世界の動きに対応して音が出る楽器を作ってきました。距離センサやジャイロセンサ等の処理を通してセンシングの難しさ、楽しさがちょっとわかったような気がします。やってみたいことはいろいろあるので、とりあえず一度センシングから離れて、PC上だけで何か作りたいなと思い、コマンドライン上で会話のできる対話ロボットみたいなのを軽く作ろうとしてみましたが、力不足すぎてしょっぱいものしかできませんでした。一歩ずつやっていかないといけないですね。その点 Arduino はセンシングについて全く知らなくてもなんとなくで作ることができる良い道具でした。
以前C言語でGUI*1制作をしてみようと思って躓いたことがありました。Pythonでこれにリベンジしたいと思います。で、内容はどうするかですけど、Twitterクライアントかな~とか考えたんですが、最終的にやっぱり音を出すものを作ろうという感じになりました(Twitterクライアントは作っても面白みがなさそうだった いずれやりたいけど)。実はもう音が出るようになるとこまで作ってあるんですけどこんな感じ*2です。
プロジェクトOrbitです。「軌道上に自由にオブジェクトを配置することでループミュージックを簡単に作る」……というのがコンセプトです。似たようなのあるかもしれないんですけどあったら教えてください(参考にしたい)。ここまで作るのにも結構苦労をしてるので、あとのためにもその辺を追ってメモしていきたいと思います。

2. PythonでGUI

GUIプログラミングをするためのモジュールが必要です。そもそもPythonがGUIプログラミングするのに果たして有効な言語なのかというところから始まったんですが、とりあえず外見がダサかろうとPythonでやってみて、納得できなかったら別のGUI向きな言語できれいに作り直そうと思います。さて、モジュールにも PyQt 、wxPython など複数の選択肢がありましたが、僕は Tkinter を使うことにしました。深い理由はなく、検索してみて一番やっていけそうな感じがしたからです。つまり読みやすい記事が多かったので。あ、標準ライブラリで最初から入ってるというのも結果としては楽でよかったです。

次回から Tkinter を使ってウインドウを出してボタンを作って……をどのようにしてやっていったかを書きたいと思います。

*1: グラフィカルユーザインタフェース。コマンドを打ち込むことなく、画面を見てマウスポインタ等で直感的に操作できるものと解釈してます。
*2: 詳しくは後々書きますが、音声部分には魔王魂さんのものを使用しています。

0 件のコメント:

コメントを投稿