ハイドンやモーツァルトの時代は楽器が演奏できて西洋であれば五線譜が書ければよかった音楽家ですが、現代ではある程度のプログラミングスキルというのは必須となりました。

必須というよりもプログラミングスキルを持っている人と持っていない人とではまるで住む世界が違うかのような感覚でしょうか。

日々の作業、SNSの運用、短期トレードなどもbot(プログラムコード)率が年々高まり、『手動』の方が少数派に転じるのも時間の問題です。

【最高の作品創り】音楽家、芸術家が潤沢な製作予算を稼ぐ3つの副業方法

しかし、入門書を買っても基本的には論理的に構成されていて、よくわからなかったりします。

ポイント本日はそんな必須スキルともなったプログラミング学習に関して、音楽家向け(右脳で理解する人向け)に音楽家の筆者が3つの手順を軸に解説!
icon image

この記事を読むだけでよくわからないプログラミングの世界をざっくり理解し、学習をスタートすることができるので、是非読んでいってくれ!!

MIDIもプログラミング言語

さて、音楽家の中には意外に思った方も多いのではないでしょうか?

私たち音楽家が大昔から当たり前に使っていたMIDIシステムも立派なプログラミング言語なんです。

そして音楽家にしか理解できない言語であると言えます。

そうなんです!

MIDIを扱える私たち音楽家はそもそもプログラマーだったというわけです。

もちろん、楽譜そのものがプログラム言語であることはいうまでもありません。

プログラミングをスタートする3つの手順

それでは一般的に生活を便利にしたり、音楽家としてのマーケティングを効率的に行なったり、日常の作業をbotにしてもらったりするためのプログラミングをスタートする手順をみていきましょう。

1、学ぶ言語を決めろ!

ここが最大の難関だと思います。

言語、めっちゃあるじゃん。

となる。

わかります。

筆者も初期の段階ではどれから始めたらいいのか・・・

すごく悩みました。

ただしこれはそこまで悩む必要がなく、やりたいことに合致したプログラム言語を選択すればOK.

楽器に例えるとわかります。

チューバをマスターした方がトロンボーンをやりたいからといって、トロンボーンをまたイチから学び直さなければいけないかというとそんなことありませんよね。

吹奏楽部で楽器を買うならプラスチックで決まりな話【チューバ編】

ピアニストがウーリッツァー弾きたいと思ったらまたゼロから・・・なんてことはない。

これと同じなんです。

基本構造は同じ。

プログラミング言語には大きく分けて二種類しかないんです。

たった二種類?!プログラミング言語の種類

かなり大きく分けると二種類。

      
  1. スクリプト言語
  2.   
  3. コンパイラ言語

それはまるで金管楽器と木管楽器くらいのもんです。

スクリプト言語の括りの中だと他の言語で書こうとしてもそこまで苦行に陥ることはありません。

俗に言うbot運営などはスクリプト言語になります。

一方でコンパイラ言語とは、ハードとセットで考える必要があり、ロボット制作だったりで使用します。

両方できると便利ですが、あなたのやりたい目的を達成するための言語を選ぶという原理原則を守りましょう。

botトレードするのにコンパイラ言語の知識は一切不要です。

ポイントちなみにスクリプト言語のおすすめは、ほぼ英語なPython。
Pythonをローコードと思う人も世の中にはいるほど入門しやすい言語がPythonです。

2、全部書くな!

ここ超大事です。

あなたはどこかの企業にプログラマーとして転職したいわけではありません。

あくまで音楽家としての教養という付加価値として知っておく必要があるだけ。

音楽で置き換えてみましょう。

なんらかのBGMを制作する場合、あなたはキック、ハット、スネアなどそれぞれトラックを分けてドラムパターンから創りますか?

現代ではそんな非効率なことをしているクリエーターは少数派でしょう。

ドラムパターンのライブラリーからベースパターンを選んで改変していくというのが主流ではないでしょうか?

プログラムも同じ。

特許を目指す開発チームじゃないんだから、全部書かない、つくらない。

ライブラリーやパターン、サンプルコードをコピペしてください。

オリジナリティーなんてなんの意味も持ちません。

目的を達成するための最短距離を見つけましょう。

3、作業の9割が検索とデバッグだ!

映画やアニメのようにプログラマーがカタカタと軽快にキーボードを叩いてプログラムコードを書いていく。

なんてことは現実にはありません。

プロのプログラマーでも作業のほとんどはライブラリーのメソッドを確認したり、バグの場所を特定したりする作業を行なっています。

プログラミングができるようになるということは、スラスラとコードを書けるようになったりすることではありません。

ググる能力と、終わりの見えないデバッグに耐えうる精神力を備えることにあります。

ローコードでいい・・・?

さて、2010年にはプログラミングブームが起こり、スクールや書籍などが爆発的にヒットしていましたが、筆者は当時から、あと10年もすればフォトショやイラレみたいな存在になると豪語していました。

実際現在ではローコードやノーコードテクノロジーが発達して、プログラミングスキルは全くなくてもサイトにJS組み込んだりできるようになっています。

ただし、これに関しても音楽で例えてみるとわかりやすいでしょう。

無限にあるともいえる音楽関係のライブラリーやリズムパターンですが、これ、理解していないと使えないですよね。

いや、使ってもいいんですけど、ベースの部分を理解している人としていない人では明らかに違いが出てくるはず。

理解した上でローコードを使ったり、botを買うのとでは意味が違います。

おすすめの言語と始め方

先述しましたが、スクリプト言語だとPythonがおすすめ。

Pythonはライブラリーもたくさんありますし、各種プラットフォームもPythonを例にAPIの解説を出していたりと、壁に当たる確率は他の言語に比べて非常に低い言語です。

英語、中国語のページを含めると、ほとんどすべてのバグ解決例が見つかるのではないでしょうか。

まずは環境構築です。

このページでPythonの環境構築をスタートしてください。

M1 Mac以降の Python 環境構築 [完全保存版]

また、筆者はコンパイル言語にRustを勉強しています。

Rustは暗号資産ポルカドットでも採用されていて、次世代のC, C#, C++とも呼ばれています。

https://kotarohattori.com/polkadot/

Rustはまだまだ新興言語ですので、Pythonに比べると出てくる情報量は非常に少なく、上達していくためのハードルは非常に高いですが、先行者優位性を取りやすいというメリットがあります。

Rust ってどんな言語? 特徴や将来性などを解説

Rustの環境構築もこちらのページでまとめていますので、まずは手順通りやってみましょう。

【環境構築】Rust M1 Mac / コンパイル言語

大丈夫。

飛べばパラシュートは現れます。

令嬢アンナの真実・感想&レビュー / アンナから何を学ぶのか?

パラシュートを持っていても飛ばなければ使えません。

楽器の演奏ができる人ができないはずがりません。

がんばりましょう!

生まれたときから必要な癒し
ここにあります
癒しの音響ブランド『Kotaro Studio』