ジャズの概要と機械演奏

life tips & 雑記 禅とライフティップ 旅と歴史 スポーツとアート 機械学習と数学 Clojure Java 本とTVと映画と音楽 本ブログのナビ

ジャズについて

ジャズは19世紀末、アフリカン・アメリカンを中心とした人たちによってカリブ海に面したアメリカ南部の港湾都市、ルイジアナ・ニューオリンズで自然発生した”ブルースの歴史とClojureによる自動生成“で述べたブルースやラグタイムをルーツとしている大衆芸能音楽となる。

ジャズの特徴は、スィングするリズムや、裏の音符のシンコペーションのあるリズム、ブルースの影響を受けた複雑なコードやスケール、あるいは即興演奏などにあるが、そもそもの出自が「自然発生」「芸能音楽」であったため、原理・原則のようなものはなく多くのミュージッシャンによってさまざまなアイデアが付け加えられた音楽となっている。

代表的なジャズミュージシャンとして、ニューオリンズ出身のトランペット奏者であるルイ・アームストロングがいる。彼は1920年代に初期のジャズである「ニューオリンズ・ジャズ」のスタイルを受け継ぎつつ、演奏に自分だけの「声」を盛り込むという彼独自の工夫を「ジャズ」に加えている。

「ルイ・アームストロングの素晴らしき世界」(サッチモ)の生涯

彼ならではの魅力的なダミ声と、楽器から人の声のようなリアルで存在感のあるニュアンスを生み出し、それらを組み合わせて、クラッシックでは演奏者の人間味を付け加えることのなかったトランペットから、自分流の音を出して、それが魅力的ならばそれでいいじゃないかと言うことをファンに知らしめた。彼以降、ジャズは個性表現を第一とする音楽としての方向性が定まり、現在に至っている。

その後の1940年代に、アルトサックス奏者チャリー・パーカーによって。ルイの「自分流演奏」の中に含まれていた「即興的要素」を飛躍的に高度化された「ビバップ」というジャズ・スタイルが誕生する。

チャーリー・パーカー/(現代ジャズへの進化)

パーカーの影響はルイに劣らず強烈で、以後のほとんどのジャズ・ミュージッシャンが彼のやり方を踏襲し、「モダン・ジャズ」の時代が幕を開ける。

これにより、ジャズの定義に「即興音楽」が広く使われるようなったが、原初のルイの発想は、あくまでも個性的表現の拡大であり、パーカーの高度な即興演奏も個性表現の一手段であり、即興自体もジャズの目的や本質ではないということもできる。ルイの時代の即興は、メロディラインに装飾をつけたり一部を変えたりする程度だったが。パーカーは高度な音楽的知識と美的センスで彼にしかできない極めてスリリングな演奏を行なってファンを魅了したのである。

次に現れるマイルスデイビスは、個人のソロが唯一の聴きどころである即興第一主義では、パーカーのような一種の天才にしか高度な即興は生み出せず、限界があることに気づき、複数の楽器が織りなすアンサンブル・サウンドにより、より幅広い個性表現ができるのではないかと考えるようになる。

Miles Davis – Autumn Leaves (Live In Japan 1964 )

この動きは、後の「ウェストコースト・ジャズ」というムーブメントにつながり、パーカーの即興原理を採用しつつも、そこだけに重点をおかず、即興部分とあらかじめ編曲されたアンサンブル・パートを勇気的に結びつけ、音楽としての統一感を保った「ハードバップ」というビーバップの発展的気洗練系ジャズとなっていった。

これにより個性的な「サウンド」を追求するとともに「音楽的統一感」を獲得するという音楽一般の当たり前の姿を統合していくこととなる。マイルズはこの「新たなサウンドの追求」という方向性から、60年代後半にはロック・サウンドを取り入れるまでになっていった。

また、ジャズは「個性の追求」という側面の他に、「混交・融合音楽」としての側面も強く持っている。ジャズが発生したニューオリンズはかつてスペイン、フランスが統治しており、ジャズを生み出したアフリカン・アメリカンのミュージッシャンたちは、ラテン文化圏で育ち、さらに、フランス人との間に生まれた「クレオール」という人々は、ヨーロッパのクラッシック音楽の素養を身につけ、それらの要素がジャズ誕生にも深く関わってきた。

King Oliver's Creole Jazz Band – Froggie Moore (1923)

そのように、アフリカン・アメリカンの間から自然発生した大衆芸能であるジャズは、誕生の時からラテン音楽や西欧音楽の要素を含んだ「混交・融合音楽」としての性格が強く、ジャズは「融合」への耐性が強い音楽ジャンルとなっていった。

この「融合への耐性の強さ」は、ラテン、ロック、クラッシックなどの多様な音楽ジャンルの要素を取り入れても、そちら側に取り込まれてしまうことなく、それらの他ジャンルの音楽を栄養としてより大きく育っていく逞しさも身につけたものとなっていった。

ジャズの特徴的なコード進行とClojureによる実装

ジャズは前述のように豊かなハーモニーと即興演奏を特徴として持っている。そのため、ジャズのコード進行は、基本的な三和音やセブンスコードだけでなく、複雑な和声進行や転回コードなどのジャズ独特のものが含まれている。代表的なジャズのコード進行としては以下のようなものがある。

  1. II-V-I進行: ジャズで最も基本的かつ一般的なコード進行で、メジャースケールに基づいており、II-V-I進行は、2度、5度、そして1度のコードからなるもので、例えばDm7(Dマイナー7)、G7(Gセブンス)、Cmaj7(Cメジャー7)などの順番で演奏される。
  2. Blues進行: ブルースの影響を受けたジャズには、12小節のブルース進行があり、一般的に、I7、IV7、V7のコードが組み合わされている。これには例えば、C7、F7、G7の順番がある。
  3. モード進行: ジャズではモード(音階の派生形)を使用して和声進行が行われる。そこでは例えば、ドリアン、ミクソリディアン、リディアン、フリジアンなどのモードが使用される。
  4. ツー・ファイブ・ワン進行: II-V-I進行の応用として、複数のII-V-I進行を繋げて構築される。この進行はジャズスタンダードの曲でよく見られるものとなる。
  5. モード・サブスティテューション: ジャズではしばしばコードの代わりに関連するモードを使用して和声を豊かにしている。これにより、新しい音色やコード進行が生まれる効果がある。
  6. ラテン進行: ジャズとラテン音楽の融合により、特有のコード進行が生まれている。例としてはボサノヴァやサンバなどのリズムに合わせた進行が含まれる。

これら以外にも、ジャズの世界では無限のバリエーションが存在し、ジャズの特徴的な和声のアプローチにより、ミュージシャンは自由な即興演奏を行い、コード進行を活かして個性的な音楽を生み出されている。

このようなジャズののコード進行をClojureを用いて実装してみる。数学と音楽とコンピューター“で述べたOvertoneは、Clojure言語をベースにした音楽プログラミングライブラリで、音楽の合成や演奏を行うためのツールとなる。ここでは、そのOvertoneを使用したジャズのコード進行を演奏する簡単な実装例について述べる。Clojureの詳細に関しては”Clojureと関数プログラミング“も参照のこと。

まず、Leiningen(Clojureのプロジェクト管理ツール)をインストールし、プロジェクトを作成する。project.clj ファイルにOvertoneの依存関係を追加する。

(defproject jazz-project "0.1.0-SNAPSHOT"
  :description "Jazz Example Project"
  :dependencies [[org.clojure/clojure "1.10.3"]
                 [overtone "0.10.3"]])

次に、src/jazz_project/core.clj というファイルを作成し、以下のコードを記述する。

(ns jazz-project.core
  (:use [overtone.live]))

(defn play-chord [freqs duration]
  (doseq [freq freqs]
    (at-now (* 0.5 (saw freq)))))

(defn -main []
  (boot)

  (def bpm 120)
  (def chord-duration (/ 60 bpm)) ; 1拍の長さ

  ; II-V-I進行の周波数
  (def ii-chord [261.63 329.63 392])
  (def v-chord [293.66 369.99 440])
  (def i-chord [329.63 392 493.88])

  (def chord-progressions
    [[ii-chord v-chord i-chord]
     [ii-chord v-chord i-chord]])

  (defn play-progressions [progressions]
    (doseq [chords progressions]
      (doseq [chord chords]
        (play-chord chord chord-duration)
        (Thread/sleep (* chord-duration 1000)))))

  (play-progressions chord-progressions)

  (shutdown))

このコードは、Overtoneを使用してII-V-I進行のジャズコード進行を演奏しており、play-chord 関数は、周波数と演奏時間を受け取り、コードの音を合成する役割を果たしている。play-progressions 関数は、指定されたコード進行を演奏する。

このコードを実行するには、プロジェクトのルートディレクトリで lein run コマンドを実行することで実現される。

このコードだけでは、ジャズ本来の「個性的な演奏」は実現できないが、コードの進行や組み合わせ、あるいは1拍の長さ等の部分に、”確率的生成モデルについて“で述べているような確率モデルを導入したり、”強化学習技術の概要と各種実装について“で述べているような強化学習のフレームワークを使って既存のエキスパートの情報を取り込んだりすることで、より「個性的な演奏」に近づけることができる。

参考図書

ジャズに関する図書としては以下のようなものがある。

世界最高のジャズ

ゼロから分かる! ジャズ入門 知れば知るほど、面白い

 

コメント

  1. […] ジャズの概要と機械演奏 […]

タイトルとURLをコピーしました