音楽を使ったプログラミングって何?気になる…。
サウンドプログラミングとも呼ばれるけどあれは一体何?
今回はこういった疑問にお答えしていきます。
この記事を読むことで以下のことが分かるようになります。
- 音楽をプログラミングする「サウンドプログラミング」とは何か
- 音楽×プログラミング「サウンドプログラミング」の使用する言語
- 音楽とプログラミングを同時に学習・教育できるソフト&教材
- プログラミング中に音楽を聴きながら仕事するのはOKなのか
プログラミング経験のある柏倉元太(@genta_oaks)が監修。プログラミングを始めて約5年。Web系フリーランスとしての経験がありながら、現在はWebマーケティング企業「株式会社オークス」の代表取締役。
それでは早速見ていきましょう。
音楽をプログラミングする「サウンドプログラミング」とは?
まずは上の動画を見てみてください。
この音楽ジャンルはEDMですが、実はこれはプログラミングで音楽を作っています。
音楽とプログラミングを掛け合わせて出来上がるのが、サウンドプログラミングです。
楽器ではなく、パソコンを使って音楽をするということになります。
音楽専門のソフトを使って楽曲をプログラミングすることもあります。
今では、教材や講座がたくさん出てきているため、パソコンに苦手意識がある人や、楽器に触れた経験がない方でも、楽しみながら慣れていくことが可能です。
またサウンドプログラミングと一口に言っても、音声認識だったり音楽など様々なジャンルが存在ます。
その他にも、電話の信号変換もあります。
サウンドプログラミングはとにかく幅が広いというわけです。
音楽×プログラミング「サウンドプログラミング」の使用する言語
サウンドプログラミングと呼ばれる、音楽とプログラミングで使われる言語は、大きくまとめると以下の通りになります。
- C言語
- Rust
- Python
- C++
- Nodejs
「サウンドプログラミングに興味があるけど、どこから手をつけるべきかわからない」という方は必見です。
1つ1つ解説します。
C言語
C言語は、そのコードを書いて実際に動作させる為に「コンパイル」という行為が必要なプログラミング言語です。
※ソースコードから実際に機械が理解できる言葉に翻訳する行為を「コンパイル」といいます。
これによって、コンピュータが実行しやすくなるため、効率的な早い処理を可能になります。
あまり初心者向けのプログラミング言語ではないですが、コンピュータに詳しくなりたいという方や、プログラミング自体に詳しくなりたいという方にはおすすめでしょう。
Rust
Rustもプログラミング言語です。
安全なメモリ管理もできますし、よくわからないエラーに延々と悩まれされることもあまりありません。
これは「コンパイラー」と呼ばれるものが全部教えてくれるため。
C言語は自分でコンパイルする必要があるけど、Rustは勝手に行ってくれるんだね!超便利。
しかしながら、「ヒープ領域」や「スタック」はなかなか扱うには難しい箇所もあります。
音源合成に使え、合成というのは数学演算になります。
- 速度
- 安全性
- 静的型づけ
以上のところでかなり使いやすい言語でしょう。
Python
今話題のPythonは、データ分析ができます。
基本的に分析系はpythonがライブラリ最強でしょう。
マイク入力もpythonで作業できます。
C++
C++はCの言語の拡張版です。
オブジェクト指向言語のため高い保守性を誇り、システムの拡張や移行も簡単に行うことが可能です。
C++の大きな特徴としては、C言語と似ている部分があります。
C++はエラーメッセージの不親切さ、安全面の不安などがあり、アプリ制作にはあまり好まれませんが、音高判別がリアルタイムで行われるのは非常に大きなメリットです。
よりC言語について詳しく知りたい方は「今学ぶべきプログラミング言語とは?おすすめランキング一覧【2020】」の記事をチェック!
Nodejs
Nodejsも今かなり人気のプログラミング言語です。
リアルタイム通信ができるjavascriptとして人気を博しています。
音楽ジャンルに於いては、GUI系のライブラリとの組み合わせが有効です。
音楽とプログラミングを同時に学習・教育できるソフト「Music Blocks」
ここでは音楽とプログラミングを同時に学習・教育できるソフトをご紹介。
それは結論、「Music Blocks」です。
学研プラスでは、経済産業省のプロジェクトの一環としてプログラミング学習ソフト「Music Blocks」の日本版と小学生・小学校向けカリキュラムを開発しています。
音楽と算数をいっしょに学べる、アメリカ生まれのプログラミング学習ソフトで、楽器やリズムなどを指示するブロックを組み合わせたりすることが可能。
また音程の数値を変えたりも可能で、音楽・算数・プログラミングの知識がなくても工夫して学べる事ができます。
子どもが0から楽曲を作りながら、音楽・算数・プログラミングの知識を学ぶことができるのが魅力。
大きな特徴としては、以下の通り。
- オフラインでも学べる
- パソコンにインストールが必要ない
- パソコンのスペックが低くても動く
- Windows 7〜Windows 10に対応
無償配布予定
またこちらの「Music Blocks」は、2020年から始まる小学校におけるプログラミング教育必修化によって無償配布される予定です。
授業で先生や児童が自由に使えるようにするためです。
現時点※2020年10月でも、インターネット上で無料で利用することが可能です。
是非使ってみてください。
プログラミングで音楽を作れる教材「Ongaq JS ミュージック・プログラミング・クラブ」
こちらの教材「Ongaq JS ミュージック・プログラミング・クラブ」は、幅広い年代のユーザーが未経験でもプログラミングを学べるのが特徴です。
意欲的に学び続けるきっかけとなるように企画・開発されています。
プログラミングで音を操作する楽しさや、実際の作ったプログラムの結果を聴くことで確かめられる分かりやすさが印象的。
またサポートを受けながら「JavaScript」の一般的な文法でプログラムを書く体験も可能です
ドラムやベースの音を使う
公開されているのは、ドラムやベースの音を使用し、自分だけのビートをプログラムするコースです。
ユーザーは書き方の詳細な指示や解説を見つつ、プログラムを書いていきます。
- 音を1回だけ再生
- キーボードを使ってドラムを演奏
- 同じテンポで音を繰り返し再生
などなど、小さな課題に順番に取り組みながら、最終的に完成したビートをオーディオファイルとして保存できます。
是非試してみて下さい。
プログラミング中に音楽を聴きながら仕事するのはOK
また本題からは少しズレますが、プログラミング中に音楽を聴きながら仕事するのは問題ありません。
音楽を聴きながら作業することに対して若干抵抗がある人いるかもしれませんが、実際の筆者の経験から言うと効率が上がることはあっても下がることは全然ありません。
効果は個人差がありますが、音楽を聞くことでリラックス状態に持っていくことが容易になります。
また場面に応じて音楽のジャンルを使い分けるのも大切です。
【シーン別】おすすめの音楽ジャンル
シーン別におすすめをまとめると以下の通りになります。
- 発想力を必要とする場合:しっとりした曲
- バグチェックなどデバッグ作業の場合:テンポの良い曲
- ライティングの場合:ポップな曲
是非参考にしてください。
音楽とプログラミングを両立して学習しよう!
いかがだったでしょうか?
「音楽をプログラミング?使用する言語からソフトまで基礎知識を解説」というテーマでお伝えしました。
音楽とプログラミングを掛け合わせた「サウンドプログラミング」と呼ばれるものがありますが、自分も初めてその音楽を聴いたときは感動したことを今でも覚えています。
現在は優秀な教材や学習ソフトがありますので、是非フル活用して下さい。
そして音楽とプログラミングを両立して学習しましょう!