Arduino MIDI Arpeggiator
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 7 | ||||
| × | 7 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 2 |
このプロジェクトについて
2019年3月11日更新
こんにちは、アルペジエーター用の新しいファームウェアを作成しました。ソースコードは完全に書き直されています。モジュール構造により、Arduinoだけでなく、さまざまなプラットフォームでアルペジオを実行できるようになりました。また、ユークリッド韻としての新しい興味深い機能が追加されています。詳細な説明は後で戻ってきます!
https://github.com/raszhivin/arpeggio2
ハードウェア部分は同じままで、新しいソースは下からのフリッツスケッチと互換性があります。
2019年6月25日更新
新しいハードウェアは私が作成しました。新しいビデオを確認してください:
はじめに
電子音楽は私の趣味で、コルグVolcaKeysで遊ぶのはとても楽しいです。少し前に「ChordProgressionArpeggiator」というウェブアプリケーションに出会い、音楽アルゴリズムのパワーとシンプルさに感銘を受けました。アプリに数分費やすと、コルグでアルペジオを生成するというアイデアに私がとても刺激を受けた理由がわかります。ビデオ「KorgVolcaKeys beautiful arps! (および128音符のシーケンス)」は、手動で入力されたアルペジオ音符を示していますが、すべての音符を手で入力するには複雑すぎて柔軟性がありません。
私はソフトウェア開発者なので、MIDIメッセージの形式でアルペジオを生成し、DIN(MIDI)ポートを介してメッセージを送信するArduinoベースのデバイスを作成することにしました。 アルペジエーターはもちろん別のハードウェアまたはソフトウェアシンセサイザーと一緒に使用できますが、私は使用しません 別のものを持っている 1つ。
基本的な音楽理論
(以下のテキストはから引用しています reddit、 ユーザーに感謝します kmmeerts)
したがって、ノイズのスペクトル全体があります。これらのノイズはすべて基本周波数、つまり空気が揺れる速さを持っていることがわかります。より低い周波数は、よく、より低く、より高い周波数は、より高いトーンとして識別されます。同時に演奏する2つの異なる楽器は非常に異なって聞こえるかもしれませんが、それでも同じ音として表示されます。この違いは音色と呼ばれ、同じ音を演奏するフルートとチェロを区別する方法です。これにより、非常に異なる楽器を一緒に調和させて演奏することができます。
最高レベルでは、このスペクトルはオクターブに分割されます。オクターブは、2倍の周波数での音符と別の音符の間の間隔です。これは音楽の最も基本的な細分化です。オクターブの数が異なる音符(つまり、周波数が2の累乗で相互に関連している場合)は同じ名前になります。ピアノとバイオリンはどちらもCを演奏する場合がありますが、一方が他方よりもはるかに低くなります。なぜこれを行うのですか?最も音が聞こえない人でも聞こえるように、それらは調和して聞こえるからです。
オクターブ自体は12の音符に細分されており、名前を付けています。
[A、A#、B、C、C#、D、D#、E、F、F#、G、G#]
これらは西洋音楽の最も基本的な音符であり、ピアノの白と黒の鍵盤に対応しています。 12キーごとに、パターンが繰り返されることがわかります。なぜ12?複雑で長い歴史がありますが、要点は最高の音だということです。最も心地よい間隔は、12キーのシステムでよく表されており、多かれ少なかれキーを使用することはありません(ただし、人々は試してみます)。
これらの12の音符からスケールが形成されます。音階とは、一緒に鳴る音の集まりです。私のアルペジエーターには、モードと呼ばれる七音階の全音階しかありません。七音音階とは、各音階に7つの音階があり、事実上すべての西洋音楽がこれに基づいて作られていることを意味します。全音階は、音程の間隔の順序に関連しています。たとえば、ハ長調は、Cで始まる鋭い記号のない音階です:[C D E F G AB]。各スケールはルートノートから作成されます。 Dに根ざしたメジャースケールもあります:[D E F#G A B C#]。スケールは、スキップするノートのパターンによって定義されます。メジャースケールは[WW H W W W H]です。ここで、Wは「メモを取り、1つスキップする」を意味し、Hは「メモをとる」を意味します。他のモードには、メモを取り、スキップする他のパターンがあります。
これらの7つの音符のそれぞれに、たくさんの和音があります。ここで使用するコードは単純です。音符から始めて、使用している音階の1つをスキップするたびに、3つの音符を取ります。したがって、単純なCメジャースケール(CDEFGAB)では、Vコード(V =5、5番目の音符など)はG(スキップA)B(ループアラウンド、スキップC)D、つまりGBDになります。このパターンは、1オクターブ上に上げることで繰り返すことができます(6ノート:GBDGBD)。アルペジオ(イタリア語で「壊れた」)は、これらの音符をすべて一緒に演奏するのではなく、1対1で演奏するだけです。
曲を定義するのは、主にコード進行です。作曲家はモードを選択し、ルートノートを選択してから、そのルートノートで定義されたキーから8つ(またはそれ以上)のコードを選択します。もちろん、どのコードを選ぶかについてはいくつかのルールがありますが、それでも芸術です。実際の曲では、このコードに残りの部分が組み込まれています。もちろん、この構造からのあらゆる種類の逸脱、あらゆる種類の装飾がありますが、多くの場合、この順序でコードを認識できます。
>
回路図
私のアルペジエーターの回路図は非常に単純で、7つのポテンショメーター、7つのボタン、MIDIポート、2つのLED、4つの抵抗で構成されています。以下に示すように、ブレッドボード上で簡単に組み立てることができますが、arduinoの世界に慣れていない場合は、最初に次のチュートリアルから始めるとはるかに優れています。
https://www.arduino.cc/en/main/howto
https://www.arduino.cc/en/Tutorial/Blink
https://www.arduino.cc/en/Tutorial/InputPullupSerial
https://www.arduino.cc/en/tutorial/potentiometer
https://www.arduino.cc/en/Tutorial/Midi
コントロール
ポテンショメータ:
- トニックノートのオクターブ(0..7)
- コードのオクターブ(0..7)
- 進行中の音符間の遅延(1分あたりの拍数)
- トニック/ルートノート(C ... B)
- アルペジオステップ(1 ... 5)
- 音楽モード(イオニアン、ドリアン...)
- アルペジオスタイル(上昇、下降、上昇+下降、ランダム)
ボタン:ボタンを押すと、対応するコード進行が再生されます。
デモンストレーション
最初のビデオでは、デバイスの機能とそのコントロールについて説明します。
2番目のビデオは、アルペジエーターによる小さなジャムを示しています。
同期
アルペジオのテンポをKorgVolcaと同期させることができます。アルペジエーターのオーディオジャックをシンセサイザーの「SYNCOUT」に接続します。 arpeggiator.ino でソースコードを正しい方法で構成してください。 :
//同期:2つの可能なオプションのいずれかを選択します:
#define EXT_SYNC
//#define INT_SYNC
EXT_SYNC
のコメントを外します SYNC IN、または INT_SYNC
を介した同期の場合 ポティによるテンポコントロール用。
デバイスを改善する方法についてご意見がございましたら、フィードバックやコメントをお待ちしております。コメントを残してください。
楽しんで頑張ってください!
コード
ソースコード
https://github.com/raszhivin/arpeggiator 回路図
フリッツィングの場合製造プロセス