Wiki » 履歴 » バージョン 6

MIYAZAKI Masafumi, 2017/05/06 16:58

1 1 MIYAZAKI Masafumi
h1. プロジェクト計画書(仮)
2 1 MIYAZAKI Masafumi
3 1 MIYAZAKI Masafumi
{{toc}}
4 1 MIYAZAKI Masafumi
5 1 MIYAZAKI Masafumi
----
6 1 MIYAZAKI Masafumi
7 1 MIYAZAKI Masafumi
h2. 概要
8 1 MIYAZAKI Masafumi
9 1 MIYAZAKI Masafumi
ピアノ打鍵に関わる能力(視覚-聴覚-触覚の連携)を向上させるためのアプリ「tri-sense」の開発プロジェクト。
10 1 MIYAZAKI Masafumi
11 1 MIYAZAKI Masafumi
・視覚 → 触覚
12 1 MIYAZAKI Masafumi
・聴覚 → 触覚
13 1 MIYAZAKI Masafumi
14 1 MIYAZAKI Masafumi
この2種類の連携を強めることにより、
15 1 MIYAZAKI Masafumi
「概念上の音」を「実際の音」に変換しやすくすること(ピアノを体の一部にすること)を目指す。
16 1 MIYAZAKI Masafumi
17 1 MIYAZAKI Masafumi
|_. 種別 |_. 具体例 |
18 1 MIYAZAKI Masafumi
|=. 視覚 | 音符、コード |
19 1 MIYAZAKI Masafumi
|=. 聴覚 | 音(単音、和音) |
20 1 MIYAZAKI Masafumi
|=. 触覚 | 打鍵時の運動制御 |
21 1 MIYAZAKI Masafumi
22 1 MIYAZAKI Masafumi
※本当は "触覚"(入力)というより "運動"(出力)なのだろうけど、細かいことは気にしない...。
23 1 MIYAZAKI Masafumi
24 1 MIYAZAKI Masafumi
----
25 1 MIYAZAKI Masafumi
26 1 MIYAZAKI Masafumi
h2. ウェルカム
27 1 MIYAZAKI Masafumi
28 6 MIYAZAKI Masafumi
h3. 環境
29 6 MIYAZAKI Masafumi
30 6 MIYAZAKI Masafumi
* Python3.5
31 6 MIYAZAKI Masafumi
32 1 MIYAZAKI Masafumi
h3. リポジトリ
33 1 MIYAZAKI Masafumi
34 1 MIYAZAKI Masafumi
<pre>
35 1 MIYAZAKI Masafumi
$ git clone https://git.fukurous.org/gitbucket/git/g0947424/tri-sense.git
36 6 MIYAZAKI Masafumi
</pre>
37 6 MIYAZAKI Masafumi
38 6 MIYAZAKI Masafumi
h3. ライブラリのインストール(1)
39 6 MIYAZAKI Masafumi
40 6 MIYAZAKI Masafumi
PythonからMIDIを扱うため、ライブラリ「pygame」を導入する。
41 6 MIYAZAKI Masafumi
Python3.5向けにはやや面倒な手順になるのでメモを残しておく。
42 6 MIYAZAKI Masafumi
43 6 MIYAZAKI Masafumi
ちなみに、Python3.5 ─ pygame ─ SDL+portmidi ─ MIDI機器 という具合に接続されることになる。
44 6 MIYAZAKI Masafumi
45 6 MIYAZAKI Masafumi
↓Homebrewユーザ向け(書籍『パーフェクトPython』等より)
46 6 MIYAZAKI Masafumi
<pre>
47 6 MIYAZAKI Masafumi
# 1. SDL(クロスプラットフォームのマルティメディアライブラリ)とそのインストール
48 6 MIYAZAKI Masafumi
#   cf. https://www.libsdl.org
49 6 MIYAZAKI Masafumi
50 6 MIYAZAKI Masafumi
$ brew install sdl sdl_image sdl_mixer sdl_ttf
51 6 MIYAZAKI Masafumi
52 6 MIYAZAKI Masafumi
$ brew install smpeg
53 6 MIYAZAKI Masafumi
54 6 MIYAZAKI Masafumi
# もし
55 6 MIYAZAKI Masafumi
# > Error: This is a head-only formula; install with `brew install --HEAD smpeg`
56 6 MIYAZAKI Masafumi
# と表示された場合は、その内容に従って、
57 6 MIYAZAKI Masafumi
# $ brew install --HEAD smpeg
58 6 MIYAZAKI Masafumi
# でインストールしなおすらしい。
59 6 MIYAZAKI Masafumi
60 6 MIYAZAKI Masafumi
# 2. portmidi(クロスプラットフォームのMIDIライブラリ)のインストール
61 6 MIYAZAKI Masafumi
$ brew install portmidi
62 6 MIYAZAKI Masafumi
63 6 MIYAZAKI Masafumi
# 3. X11(XQuartz)のインストール。pygameがこれを必要とするため。
64 6 MIYAZAKI Masafumi
#   次のURLから dmg をダウンロードしてインストール。(ex. XQuartz-2.7.11.dmg)
65 6 MIYAZAKI Masafumi
#   https://www.xquartz.org
66 6 MIYAZAKI Masafumi
67 6 MIYAZAKI Masafumi
# 4. Mercurial(hg)のインストール(Python3.5向けのpygameを取り寄せる際に使用するツール)
68 6 MIYAZAKI Masafumi
#   cf. https://www.mercurial-scm.org/wiki/Download
69 6 MIYAZAKI Masafumi
$ brew install mercurial
70 6 MIYAZAKI Masafumi
71 6 MIYAZAKI Masafumi
# 5. pygame(Python3.5対応)のインストール
72 6 MIYAZAKI Masafumi
$ pip install hg+https://bitbucket.org/pygame/pygame
73 6 MIYAZAKI Masafumi
74 6 MIYAZAKI Masafumi
# 6. ちゃんとインストールできたかの確認(BGMとともにインベーダーゲームが動くはず)
75 6 MIYAZAKI Masafumi
$ python -m pygame.examples.aliens
76 1 MIYAZAKI Masafumi
</pre>
77 1 MIYAZAKI Masafumi
78 1 MIYAZAKI Masafumi
----
79 1 MIYAZAKI Masafumi
80 1 MIYAZAKI Masafumi
h2. 要求
81 1 MIYAZAKI Masafumi
82 2 MIYAZAKI Masafumi
★:最優先、☆:優先
83 1 MIYAZAKI Masafumi
84 3 MIYAZAKI Masafumi
|_. |_. |_. 要求ID |_. 内容 |_. 理由 |_. 5/5 |_. ?/? |_. ?/? |_. ?/? |
85 5 MIYAZAKI Masafumi
|=. 要求 |=. | RQ-1 | 視覚 → 触覚 の連携を強化できること | 既存の音楽(楽譜中の音楽等)を音に変換しやすくするため |=. ★ |=. |=. |=. |
86 5 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-1 | 音部記号表示(ト音,ヘ音)に対応していること | 両手ともに連携を強化したいため |=. ★ |=. |=. |=. |
87 4 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-2 | 調号表示に対応していること | |=. ☆ |=. ★ |=. |=. |
88 4 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-3 | 臨時記号表示(#, ♭, ♮)に対応していること | |=. |=. ☆ |=. ★ |=. |
89 4 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-4 | 臨時記号表示(重嬰, 重変)に対応していること | |=. |=. |=. ☆ |=. ★ |
90 1 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-5 | 和音表示に対応していること | |=. |=. ☆ |=. ★ |=. |
91 1 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-6 | コード名表示に対応していること | |=. |=. |=. ☆ |=. ★ |
92 5 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-7 | オクターブ変化(8va/8vb)に対応していること | |=. |=. |=. ☆ |=. ★ |
93 5 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-1-8 | オクターブ変化(15va/15vb)に対応していること | |=. |=. |=. ☆ |=. ★ |
94 5 MIYAZAKI Masafumi
|=. 要求 |=. | RQ-2 | 聴覚 → 触覚 の連携を強化できること | 想像上の音楽(作曲時の音楽等)を音に変換しやすくするため |=. ☆ |=. ★ |=. |=. |
95 5 MIYAZAKI Masafumi
|=. |=. 要求 | - | (未分析) | |=. |=. |=. |=. |
96 3 MIYAZAKI Masafumi
|=. 要求 |=. | RQ-3 | その他の機能/非機能が備わっていること | |=. |=. |=. |=. |
97 5 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-3-1 | MIDI接続機器によって打鍵操作できること | 実際の物理装置を使用における運動精度を高めるため |=. ★ |=. |=. |=. |
98 3 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-3-2 | 設問回答の流れがスムーズであること | 操作ストレスによる "習慣化の阻害" を避けるため |=. ☆ |=. ★ |=. |=. |
99 3 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-3-3 | 設問から打鍵までの速度を計測できること | 目標到達に対する効果測定を行なうため |=. |=. ☆ |=. ★ |=. |
100 3 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-3-4 | 練習状況の計測結果を蓄積できること | 念のため(えっ...)(蓄積するだけでok、分析等は不要) |=. |=. |=. ☆ |=. ★ |
101 3 MIYAZAKI Masafumi
|=. |=. 要求 | RQ-3-5 | 打鍵の強さ(velocity)を表示できること | 打鍵の強弱精度向上のため(おまけ機能) |=. |=. |=. ☆ |=. ★ |
102 3 MIYAZAKI Masafumi
103 1 MIYAZAKI Masafumi
----
104 1 MIYAZAKI Masafumi
105 1 MIYAZAKI Masafumi
h2. ...
106 1 MIYAZAKI Masafumi
107 1 MIYAZAKI Masafumi
----
108 1 MIYAZAKI Masafumi
109 1 MIYAZAKI Masafumi
h2. 補遺
110 1 MIYAZAKI Masafumi
111 1 MIYAZAKI Masafumi
----