You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
MikuRi-On
>
Forums
>
Developers
>
外部仕様(モジュール分割)について
MikuRi-On
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
FrontPage
Title index
Recent changes
Communication
Forums
List of Forums
Developers (33)
Help (1)
Open Discussion (1)
Mailing Lists
list of ML
News
Forums:
Developers
(Thread #21538)
Return to Thread list
RSS
外部仕様(モジュール分割)について (2009-02-03 18:37 by
my04337
#41639)
Create ticket
事前に考えていたのもありますが、一通り必要な機能が出そろった感じがしたのでモジュールの分割と各モジュールが必要な機能を列挙してみたいと思います。
今のところ、自分の中では以下の形を考えています。
・UI部
・再生時エフェクト表示
・譜面エディタ
・各種オプション指定
・シーケンスマネージャ部
・シーケンス、バンク、レイヤの管理
・譜面データの保存/ロード
・シーケンサ部
・UIからの指示を元にシンセサイザを制御
・シンセサイザ部
・シンセサイザ制御メッセージから波形生成
・音声出力部
・シンセサイザで生成した波形の再生
UI,シーケンサ,音声出力部はそれぞれ別々のスレッドで動作する予定です。
(シーケンスマネージャ部はUIとシーケンサからアクセスされ、シンセサイザはシーケンサのスレッドで動作する)
ほかに「こう分けるべきだ」とか「この機能が曖昧だ」等ありましたらレスお願いします。
RE: 外部仕様(モジュール分割)について (2009-02-03 18:38 by
my04337
#41640)
Create ticket
うーん、半角スペースは削除されるみたいですね...
インデント付けナオした形で再投稿。
・UI部
・・再生時エフェクト表示
・・譜面エディタ
・・各種オプション指定
・シーケンスマネージャ部
・・シーケンス、バンク、レイヤの管理
・・譜面データの保存/ロード
・シーケンサ部
・・UIからの指示を元にシンセサイザを制御
・シンセサイザ部
・・シンセサイザ制御メッセージから波形生成
・音声出力部
・・シンセサイザで生成した波形の再生
Reply to
#41639
RE: 外部仕様(モジュール分割)について (2009-03-01 17:35 by
circussion
#42232)
Create ticket
大まかにはそんな昨日分けでいいと思う、とりあえずは出力出来るようにしないとね。
気になるのはシンセサイザ部の制御メッセージが何処で作られるかだけど…
これは元から用意されている部分orUIのオプション機能で擬似シンセとして音声波形(出力制御データ)作成可能、ってことかな?
個人的にはシーケンスや音声データをmidiファイルとして出力、他ソフトとのデータ共有可というのが夢にあるのだが、
…これは後機能でもいいし、分類分けでは独立して新しく部を作る必要が出てきそうね。
Reply to
#41639
RE: 外部仕様(モジュール分割)について (2009-03-01 17:44 by
my04337
#42233)
Create ticket
シンセサイザの制御メッセージは、シーケンサがシーケンスマネージャから読み出した
譜面情報を元に作成するものだから、実際バンクやレイヤのデータその物になるかな.
midiとする場合、Linux環境でうまくmidiを導入できるかが問題ですな。
とはいえ、結局のところシーケンスはMidiに非常に似たフォーマットになるわけだから、
シーケンスマネージャからMidiをエクスポートする機構はそこまで難しくないと思われる.
ちなみに、シンセサイザ部はまさにそのMIDIシンセに当たるものだね。
本来のシンセサイザとしての機能は明らかに冗長だから、MikuRi-On向けにかなり簡素なインタフェースに
する予定だけど。
Reply to
#42232
RE: 外部仕様(モジュール分割)について (2009-03-01 17:55 by
circussion
#42234)
Create ticket
ってことは…シーケンスマネージャに保存される譜面には音データも一緒に保存されるって事ね。
二重奏とかするのに譜面のみコピーとかあればいいなぁとかオプション考えてたけど別にいいか。
midiはやはり直に生成するライブラリとかは期待出来ないか…。
そこら辺のデータについては内部仕様か。まあ、大体任せます。
Reply to
#42233
RE: 外部仕様(モジュール分割)について (2009-03-01 19:40 by
my04337
#42235)
Create ticket
シーケンスマネージャについて、簡単に言うと、
・シーケンス:どのバンクを同時に再生するか+どの順番で再生するかを制御
・バンク:どのレイヤを同時に再生するかを制御(楽譜での全パート1小節)
・レイヤ:音色とどのタイミングでどの周波数の音を鳴らすかを制御(単パート1小節)
と言うのをイメージしていた。
これ以上細かくても面倒だし、荒いとドラムエンジン風のインタフェースにしては使い勝手が悪くなるんじゃないかなと想像。
>midiについて
Cならばライブラリはあるけど、Javaは見当たらないからねぇ...
まぁ、その機構はそれこそシーケンスマネージャとシーケンサが完成してからでも問題なさそうなので、
後々実装していけばいいかと(MIDIのパーサなら書いたことがあるので)。
Reply to
#42234
RE: 外部仕様(モジュール分割)について (2009-03-08 23:23 by
onodes
#42420)
Create ticket
遅くなりましたが、シーケンスマネージャはそんなんでいいと思います。
あとはそれぞれのモジュール間での受け渡しを詰めていけばいいのでは?
Reply to
#41639