dポイントプレゼントキャンペーン実施中!

作曲のアプリを作りたくプログラミングの本を読んでいるのですが関数とか作曲にはあまり関係なさそうな項目ばかり出てきていまいち作る感覚を掴めないでいます。

作りたい作曲アプリの特徴としては
まず最初の場面で曲を新規作成するか編集するかを選んで、編集する画面では楽器パートを最大15パートくらい作れてパート毎に楽器の音色を選べて、パートの編集画面に入るとDTMでいうところのMIDI入力みたいになっていて、音符を入力する度に音が出て、パート毎のミュートも出来て、全体的に再生とwavファイルの作成もできるものです。
どうすればこのようなものが作れるでしょうか?
ゲームのアプリの作り方を学んでそこから応用していくべきでしょうか?

A 回答 (5件)

まず、使うプログラミング言語を選びます。



言語の機能と、情報の手に入れやすさから言って、私のおすすめはC#とJavaですが、最近の先進的な言語を使ってみるのも良いでしょう。

次に、開発環境を用意し、何でもいいので1つプログラムを実行します。
これは開発環境が動くことの確認ですから、プログラムの内容を読む必要はありません。
本やネットから適当なサンプルプログラムを探してください。

続いて、ウィンドウに文字と図形を表示するプログラムを作ります。
画像が出るとモチベーションが跳ね上がりますので、ここが最も重要です。
やり方は本を見てください。
モチベーションを下げないためには、まずウィンドウに文字と図形を表示する方法が載っているページを真っ先に見ることをおすすめします。
その上で、分からないところまで戻って読みます。

ここまでできれば、後は機能を増やすだけです。
やり方は、作りたい機能と言語名で検索し、出てきたページを読んでください。
    • good
    • 0

デジタル、プログラムの世界では質問、ご希望にある「画面のこの位置に音符を書き込んだら、再生ボタンではこの音を鳴らせ!」と画面表示の記号と位置、「再生」ボタンのタップを感知したら、何種類も記憶させてある中の特定のこと音を鳴らす・・・・と表示と動作、それによる作動とを関係づけてあげねばなりません。



それが関数、プログラミングです。
作曲そのものなら目と耳と口、そして書き残す手ががあれば楽譜を仕上げられるのでしょうが、これをデジタル機器にさせるとなると一つ一つ命令系統を使い分けるように関数で指示しておかねばならないのです。

「ドの位置の音符があったら音源のドの音を、レの時はレを、ミの時はミを・・・・・・」
何通りもの表示と動作と音源とを結びつけておく、これが関数であり、その一つ一つの関わりを数字や記号で書きするしておく複数の技、これがプログラミングです。
    • good
    • 0

目標としては、かなり遠大なものだと思います。

いきなりそこに到達してやろう等という大それた考えは脇へ除けておき、まずはゲームとかでもいいから、自力で何か作れるようになることを当面の目標にしましょう。

ちなみにプログラミングで言うところの関数は、数学に出てくるそれとは別物で、何らかの入力を与えると、入力に応じた結果が返されるものを言います。だから音楽アプリでありそうな「CHxxからピアノの音を鳴らす」という操作も関数の一つとなります。よって関数は関係ないどころか、不可欠な要素。

ひょっとして、「PRGを攻略本見ながら一気にラスボスまで行く」ようなやり方を探しているのかもしれないけど、そんな方法はありません。それでやれるのは、あるプログラム言語をすでに理解している人が、それとは別の言語で何かを作る時だけです。基礎が全くない人には真似できない。今必要なのはテクニックじゃなくて、自分の構想を形にする能力です。これはとても感覚的なものだから、身につけるには自分で作って体で覚えるしかありません。そしてこの感覚は、プログラム言語が変わっても通用します。
    • good
    • 0

画面になにか1つ表示するだけで関数を使いますし保存する場合も使います。


プログラムって関数の組み合わせと計算の塊です。

たぶん、質問内容を見た限りでは勉強がかなり必要かなと。


まず "Hello C World"(?)から始めて見たら。


今、頭の老化防止のためのプログラム作りをやってます。が やっと基本設計が終わった段階です。
OSの癖と言語の癖で苦労しそうです。
    • good
    • 0

>まず最初の場面で曲を新規作成するか編集するかを選んで、


>編集する画面では楽器パートを最大15パートくらい作れて
>パート毎に楽器の音色を選べて、
>パートの編集画面に入るとDTMでいうところのMIDI入力みたいになっていて、
>音符を入力する度に音が出て、
>パート毎のミュートも出来て、
>全体的に再生とwavファイルの作成もできるものです。

それら全ての事を「プログラム言語」を利用し、0から指示していくのが『プログラム』です。

画面に点を一つ表示するにしても、「どのレイヤー」の「どこ(座標)」に「どのサイズ」で「どんな形」で「どんな色」の点を表示するかを、事細かに指示する必要がある。
これらの事を「全て」一つひとつ、コマンドによって指示していきます。

音声ファイル作るなら、その変換アルゴリズムとファイル構造も理解していないといけない。


ただし、大抵の場合は統合開発環境のライブラリ使って実装する方が簡単だし、多くのプログラマはそうしている筈。
とりあえず、「どうしたい」と思ったことを、ソースコードとしてぼんやりとでも思い浮かぶようになるまでは、まともなプログラムなど到底出来ませんよ。
これは「スマホのアプリ」に限った事じゃなく、どんなプログラムでも同じです。

まずは、その本を墨から墨まで読んで、そこに書いてある事は「全てできる様になる」ことが先決です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!