RaspPi ミュージカルキーボード
デモ/説明
制作者/役割
- アンドリュー・ダーリング
- コードのオブジェクト指向プログラミング構造とロジックを作成しました。
- ライリー・ロイヤル
- RPBPの回路を構築しました。
- メフメット・イールマズ
- コードのGUI要素と楽譜生成器を作成しました。
概要
Raspberry Piブザー・ピアノ(RPBP)プロジェクトは、コロラド鉱山学校が提供する学部クラス「Pythonセンサーシステム」(CSCI-250)の最終プロジェクトでした。2019年秋学期に、アンドリュー・ダーリング、ライリー・ロイヤル、メフメット・イールマズのグループプロジェクトとして実施されました。プロジェクトは2019年11月下旬から12月上旬にかけて正式に完成しました。
私たちのプロジェクトはRaspberry Piブザー・ピアノ(RPBP)です。このRPBPのアイデアは、13個のキーを持つミュージカルキーボードで、キーはボタンとして機能し、ピアノのキーのように振る舞います。キーが押されると、押されたボタンに応じて異なる周波数で1つ以上のブザーが鳴ります。また、2つのポテンショメーターがあり、そのうちの1つはRPBPの3つのモードを切り替えるために使用され、もう1つはブザーのオクターブを変更するために使用されます。RPBPの3つのモードは、フリープレイ、録音、再生です。フリープレイでは、ユーザーがRPBPを演奏し、どのキーを押したかを聞くことができます。録音では、ユーザーがRPBPをフリープレイしながら同時にそれをnpyファイルに録音し、その録音のPDF形式の楽譜を作成できます。再生では、ユーザーが録音されたファイル名を入力すると、回路がその録音ファイルをブザーで再生します。すべての楽譜は1つのディレクトリに保存されるため、ユーザーはいつでも自分の楽譜を振り返ることができます。各ボタン/キーには、ボタン/キーが押されたときにユーザーに示すLEDがあります。このプロジェクトは、以下に示す要件が適切に設定されたRasbian(Raspberry Pi OS)でのみ動作することが確認されています。
要件
- LilyPond
- Python3
- Raspberry Pi B 3+
- Raspberry Pi OS (ISO)
- ARM(Raspberry Pi)でLillyPondを動作させる
- NumPy
- Bash
- 回路基板
情報
- モード:
- フリープレイ: ユーザーがRPBPを演奏できるようにします。
- 録音: ユーザーが演奏した内容を録音し、その録音を保存し、録音した内容の楽譜を作成できるようにします。
- 再生: ユーザーがダウンロードしたり作成した録音を再生できるようにします。
- ミュート: RPBPのすべてのブザーをミュートします。
- モード間の更新方法:
- GUIの設定/値を変更し、送信ボタンを押します。
- その他の注意事項:
- GUIからRPBPについてもっと学ぶには、READMEボタンを押すとこのREADMEが開きます。
回路
- このプロジェクトで使用される回路基板の画像は、回路の写真セクションで見ることができます。
- Pi Wedgeは、リボンケーブルを介してRaspberry Pi 3 B+に接続されています。
- Raspberry Piは、このリポジトリに提供されているコードを実行し、このREADMEに記載されているドライバーを使用します。
- 回路のレイアウトが非常に乱雑で申し訳ありませんが、残念ながらこの部分の文書化はあまり良くありませんでした。
使用方法:
- 最初に、すべての要件が満たされていることを確認し、start.shバッシュスクリプトを実行するとGUIが表示されます。
- 次に、「モード」ラベルの下で使用したいモードを選択します。
- [これらの手順は「フリープレイ」モードを選択した人のためのものです]
- 第三_10: 送信ボタンを押してRPBPで演奏を開始します。
- [これらの手順は「録音」モードを選択した人のためのものです]
- 第三_20: 「録音名」ラベルの下に録音ファイルに付けたい名前を書きます。
- 第三_21: 送信というボタンを押すと赤いLEDが点灯します。
- 第三_22: RPBPで演奏し、終了したらGUIの停止ボタンを押します。
- 第三_23: 停止ボタンを押すと、録音が保存され、楽譜が生成されてPDFとして表示され、SHEETSディレクトリに保存されます。
- [これらの手順は「再生」を選択した人のためのものです]
- 第三_30: 「送信」ラベルの下で再生したい曲ファイルを選択します。
- 第三_31: 送信ボタンを押して、選択した曲ファイルを聴き始めます。
- [これらの手順は「ミュート」モードを選択した人のためのものです]
- 第三_40: 送信ボタンを押すだけで、すべてのブザーがミュートされ、別のモードに切り替えるまでミュートのままになります。
- 第四に、RPBPの使用が完了したら、終了ボタンを押してGUIと全体のプログラムを閉じます。
回路の写真