質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

2464閲覧

Genkhordのようなアプリケーションの作り方

hageandatsu

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2018/01/15 17:47

###Genkhord(コード進行ガイドソフト)のような、あるボタンを押すと次に押すべきボタンを予測、提示してくれるソフトの作り方が知りたいです。
AIや機械学習のプログラムではないことを先にお断りしておきます。あるコード、例えばCメジャーのコードを選択すると次に進行するコードとしてふさわしいものを提示してくれるソフトが作りたくてpuredataというプログラム言語の勉強を始めました。とても楽しいのですが、midiを鳴らすことはできても肝心のガイドの作り方がわからず、どうやらGUIの自由度も低いのでこの言語ではgenkhordのようなアプリは作れなさそうだと思いました。midiを鳴らす機能は一旦置いておいて、ボタンを押すと次に推奨されるボタンを光らせたりして知らせてくれるソフトの作り方、そのような用途で使いやすいプログラム言語が知りたいです。ちなみにgenkhord自体はc#で作られているらしいです。プログラミングの素人で初投稿でしたのでお見苦しいところも多々ありますでしょうがすみません……。
###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
puredata c#

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ペタッと貼り付けてプロパティを調節すればお望みのソフトが作れるようなコンポーネントを探しているなら、恐らくありません。
自分でボタンを組み合わせて鍵盤を作り、音を鳴らす必要があります。

まず課題となるのはマルチタッチです。
鍵盤を押さえるのにマウスでは足りません。
タッチパネル専用となるでしょう。
複数のボタンを配置して同時に押すことのできるものを試作してください。

次にボタンの形です。
白鍵は長方形ではありません。
Region を使って多角形のボタンを試作してください。

これらは本番ではありません。
あくまで試作ですからその機能だけ実装すればいいです。
最初から目的の物を作ろうとすると壮大すぎて失敗します。
まずは部品を作っていきましょう。

そうしたら今度は MIDI です。C# には標準のライブラリがありませんので、サードパーティーのものを使う必要があります。
オープンソースのものを検索して頒布条件などを調べ、自分が使い勝手の良い物を選んでください。
それを使って実際に音をならしましょう。

ここまで来れば後は組み合わせるだけです。
鍵盤の形のボタンを並べて音と対応させ、コード進行に合わせて対応するボタンの色を変化させ、ボタンが押されると対応する音が鳴るように仕上げてください。

投稿2018/01/15 21:58

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/01/15 22:07

あと、使用する MIDI のライブラリの仕様にもよるかも知れませんが、和音を出すのであれば一つ一つの音を鳴らすのではなく最初から和音として指定しなければならないと思います。 ボタンは必ずしも同時に押される訳ではありませんから、タッチの後少し時間(100ms くらい)を置いてからループで押されているボタンを全て調べてそれをコードに変換する必要があると思います。 これは対応するライブラリに合わせて試作してみてください。
guest

0

ベストアンサー

AIや機械学習のプログラムではないこと

では音楽理論とかにあわせたサゼッションということでしょうか?

ボタンを押すと次に推奨されるボタンを光らせたりして知らせてくれるソフトの作り方、そのような用途で使いやすいプログラム言語が知りたいです

例えばこういうのですか?
ピアノコード検索
これのコード進行にあわせた次のコードが光る版ということですよね

お手軽にHTML+JavaScriptでいいんじゃないでしょうか?

投稿2018/01/15 20:41

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問