atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
IRCAM OpenMusic 支援
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
IRCAM OpenMusic 支援
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
IRCAM OpenMusic 支援
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • IRCAM OpenMusic 支援
  • 非公式Tutorial 09 ディアトニック即興

IRCAM OpenMusic 支援

非公式Tutorial 09 ディアトニック即興

最終更新:2022年07月06日 23:32

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

09 ディアトニックによる即興


今回はディアトニック(いわゆるドレミファソラシからなる7音)を使ってメロディ、コード、ベースの各パートからなる即興的な調性音楽を作る。出力は前回触れたvoiceおよびpolyを用いる。


早速順を追って解説して行こう。
まず最初にchordで「ドレミファソラシ」(C4, D4, E4, F4, G4, A4, B4)を用意する。(ブロックを忘れずに!)

その下にomloopを用意する。以下の画像を見てみよう。


length, 1-, forloopを応用する方法は、これまでにも触れた通りである。今回は和音の数だけループの回数が必要で、その回数を参照する。
和音そのものもやはり参照するが、和音の中の1音ずつを参照する必要は無いので、ここではnthと組み合わせたりlistloopを使う必要は無い。

左のrotateはこれまでにも触れた通り、リストの並び順を変更するものである。
その下のomloop 1を見てみよう。


ここでは最初の音と次の音(ただしlistloopの最初には最初の音が来る)を比べて、最初の音の方が高い場合は、次の音を1オクターヴ上げている。そうでなければ元のオクターヴのまま返す。
これによって、いわゆる7つの教会旋法(モード。それぞれイオニア、ドリア、フリギア、リディア、ミクソリティア、エオリア、ロクリア)のリストが生成される。

先ほどのomloopに戻ろう。右側のom//は7で割った結果のあまりが6である場合をomifに求めている。
これはあまり6に相当するのがロクリア旋法(シドレミファソラ)で、後ほど作る5度のベースラインがロクリアの場合は減5度(シ・ファ)になるのを防ぐため、ファを+200でソにし、ソを-200でファにして、ファとソの順番を入れ替えている。
これによってベースラインの生成は短6度(シ・ソ)になり、協和度は和らぐ。

ここまでをcollectに入れてループさせている。



メインパッチに戻ろう。arithm-serでは0から11までの数値をリスト化している。
これをpermut-random(ワンスモード)で順番を入れ替えている。これは後で移調に用いるが、ソの順番をランダムで決めているのである。

次のomloop 2の中身を見てみよう。


input 0には先ほど生成した7つの教会旋法が入力されている。これを0ないし5のいずれかをnth-randomに選ばせてrotateさせる。0が来た場合は変わらないが、5が来た場合はエオリアが先頭に来る。つまり全体のオーダーは短調になる。

次に続く一連の過程は、いわゆるコード進行を決めている。ここではI度から始まり、途中経過はランダムにまかせ、最後はV度、I度の順に終わるように出来ている。左のfirst、右のfifth、そして最後にまたfirstを繋いでx-appendでまとめているのが、その流れである。
これだといわゆる常識的な和声進行から見れば理論的には間違いだらけだが、一応ある程度は体裁の整ったものとして聴ける。

ではその中間にあるomloop 3を見てみよう。


ここではlistloopとnthを組み合わせただけの単純なものである。メインパッチ上であればmapcarを組み合わせた方が処理が早いが、omloop内でさらにループを組む場合は、この方が確実に処理を行える。
リストには (1 2 3 5 6) を与えている。LISPは0からものを数えるので、ここではそれぞれII, III, IV, VI, VII度の各和音に相当する教会旋法を抽出している。
これをpermut-randomに入れることによって、中間でのランダムなコード進行を与えている。
これらをx-appendに入れれば、最初はI度、途中はランダムで、最後はV, Iで解決する。

omloop 2に戻ろう。右側のlistloopには、移調のオーダーが入っている。これをom* 100およびom+を用いて、先ほどのコード進行にそれぞれ数値を足す。これを移調オーダーの数だけループさせれば、12半音階それぞれの調でのコード進行が決定される。



メインパッチに戻ろう。
ここでflatを作成し、>キーでオプションのinputを出し、1を与えて外側の括弧を1つ外す。
この状態で試しにchord-seqを作成しinput 1にflatのoutputを代入してみると、コード進行がどのように行われているのかを確認することが出来る。


では次のomloop 4を見てみよう。


左側はそれぞれのコードの並び順を替えている。これは後でメロディ及びコードパートの生成に用いる。

右側はfirstとfifthによってそれぞれI度とV度を抽出している。これはベースラインに常に五度の空虚和音(パワーコード)を与えている。(先ほど説明した通り、ロクリアの場合は和音のオーダーを入れ替えてあるので、短6度が来るようになる。)
さらにom-で2400を与え、2オクターヴ下に下げている。

collectは2つ用意する。
eachTimeとfinallyはそれぞれ >キーでオプションのinputを出し、outputを2つ用意し、それぞれのcollectからの出力を繋ぐ。



メインパッチに戻ろう。

ここまでは処理の固まりはそれぞれループさせる必要があったので、いくつかのomloopごとに処理がまとまっているが、次はサブパッチを用意してそれぞれの処理をまとめる。

ここでは3つのサブパッチを作成する。それぞれメロディ、コード、ベースを作成し、それぞれchord-seqを経由したのちvoiceにまとめる。
似たような処理ではあるが3つとも微妙に異なる。

まずはメロディのサブパッチについて見てみよう。


サブパッチ左上のアイコンをクリックしてinputを用意する。
inputにはomloop 4のoutput 0を繋ぐ。ここにはランダムに並び替えられたコードが来る。
これのfirstを取ってlengthを見ると和音の音数7が入っているはずである。これを元にリズムを生成する。
生成すべき小節数は8*12=96個ある。この8という数は先ほどのコード進行の生成時に、I-x-x-x-x-x-V-Iという並びにしたためにIが2回反復されるので、7より1つ増えているためである。12は最初にarithm-serで作成した0-11までの移調の数である。
この96個分の拍子のそれぞれ分子7と分母8をrepeat-nで繰り返せば良い(ここでは常に7/8とする)。
メロディは常に8分音符を与えることとする。8分音符1個ずつが7個並んでリズムを作成するので、冒頭に7を置き、その後に1を7回繰り返したリストをrepeat-nで作成し、それらをlistでまとめる。このlistの出力結果は (7 (1 1 1 1 1 1 1)) となる。さらにそれをrepeat-nで96回繰り返すが、このrepeat-nによって外側に余計な括弧が1つ増えてしまうため、flatでオプションを出して1を与え、外側の括弧1つ分だけを除去する。
これら3つの出力をpulsemakerに入れる。
voiceを用意し、input 1に繋ぐ。

対して右側は、これまで用いて来たchord-seqと同じ内容である。ここではom+ 1200で1オクターヴ上げている。また後で音色を変更するようにmidiチャンネルに (1) を括弧付きのリストとして与えておこう。

ここでのchord-seqでの情報はchordリストおよびmidiチャンネルの両方が必要であるため、output 0から出力し、voiceのinput 2に入力する。(voiceのinput 2は、chord-seqのoutput 0およびoutput 1のいずれのフォーマットも入力可能である。)

サブパッチ左上のアイコンをクリックしてinputをもう一つ用意し、voiceのinput 3に繋ぐ。
ver. 6.7現在ではサブパッチ内でinputを新たに用意すると、アイコン上では1と表示されるものの、名前の表記は自動的にinput 2となる。これはLISPの0から数える原則に沿っておらず、本チュートリアルの呼称としても紛らわしいので、手動でinput 1に名前を変更しておこう。

同じようにサブパッチのoutputを用意し、voiceのoutput 0から繋いで出力する。


では次のサブパッチを見てみよう。ここではコードを生成する。

リズム形成の部分は先ほどとほぼ同じである。コードは1つの和音を8分音符7つ分(二重付点4分音符)伸ばすので、pulsemakerのinput 2にくる3つめのrepeat-nは、ここでは他の2つのrepeat-nと同じように、単純に1を繰り返せば良い。

問題は右側である。ここではom- 1200でiオクターヴ下げたのち、omloop 5に繋いでいる。


実はこのomloopは、画像を見てお分かりの通り、omloop 6との二重ループになっている。

omloop 6の中身を見てみよう。


ここでは前のomloop 4によってランダムソートされたコードが来ている。その各音をlistloopで抽出する。
km-randomでは-1から1までの数、つまり -1 0 1 のいずれかがランダムで出力される。
これにom* 1200およびom+を通すことによって、和音の各音はそれぞれオクターヴ下、変化無し、オクターヴ上のいずれかに置き換えられる。
これによって、教会旋法として与えられた音階そのものの房状和音の各音が「転回」される。つまり和音は常にディアトニック全ての音を含みながら、その全ての音程は上下に様々な幅をもつことになる。

このような和音はラヴェル以降さまざまな音楽で見られる。これはポップスやそれに近いニューエイジの音楽シーンにも見られ、日本のここ30年ほどの例で言えば坂本龍一、久石譲、吉松隆のような作曲家たちの作風にも多く見られる響きとなるわけである。

以上がこのコードパートを決定するサブパッチの概要であるが、chord-seqのmidiチャンネルに(2)を与えるのを忘れずに。


ベースラインのサブパッチは、概要としては全く先の2つの例と同じものである。しかしインプットは3つ用意し(先述の通り名前は手動で変更しておくこと)、これのinput 1には先ほどのomloop 4のoutput 1から繋ぐ。
chord-seqのmidiチャンネルには(3)を与える。

3つのパッチのそれぞれinput 1(ベースラインはinput 2)には、テンポの数値を入力する。

これら3つのサブパッチをlistでまとめ、最後にpolyのinput 1に繋いで出力する。

このpolyをevaluateするごとに、それぞれのランダムのファンクションが働いて再生結果は変わる。
再生して問題が無ければ、今回のパッチは完成である。




ただしせっかく作ったのだから、気に入った出力を保存してみたい。

その前に、気に入った出力があったら、そこでpolyをブロックしておく。これをしないと、後述するsave-as-midiまたはexport-musicxmlをevaluateすると、polyまで再びevaluateされることになり、せっかく気に入った出力が再度のevaluateによって変わってしまうので注意!


保存の方法は2つある。まずはpolyの中身をウィンドウで開いた状態で、メニューのfile > export で midiまたはmusic xmlを選ぶ方法である。これだと確実に出力できる。


他の方法としてはパッチ内に保存用のファンクションを作成してevaluateすることができる。(保存対象のクラスのブロックは必須。)
まずは伝統的なmidiデータとしての保存である。これはsave-as-midiを用いる。input 0にはpolyを、input 1にはファイル名を入力する。

この際、unique-pathnameというファンクションを使い、outfileと組み合わせると、より確実である。
input 0にはoutfileを繋げる。input 1には先頭名(プレフィクス)をダブルクォーテーションで囲んだ文字列で、input 2には拡張子(ここではmid)をやはりダブルクォーテーションで囲って入力する。
こうすると、同じファイル名があっても自動的に番号がつけられて別々のファイルとして保存される。
保存先に指定したoutfileの出力先は、ワークスペースのフォルダの中のout-filesが指定される。(これはアプリケーション設定で変更可能である。)


もう一つはmusic xmlデータとしての保存である。これはexport-musicxmlを用いる。これを使うと、小節線などのpolyのデザインをそのままFinaleやSibeliusで読み込めるようになる。
以前はsave-as-etfというファンクションがあり、これは今でも存在するが、これの出力はFinaleの古い規格であるため、現在はmusic xmlを使う方が推奨される。

それぞれ出力したファイルをアップロードしておいたので、各自参照して頂きたい。
(ダウンロード時にファイル名が上手く取得できないようなので、手動で改名して下さい)
  • diatonic1.mid
  • diatonic1.xml


参照


非公式チュートリアル 前後

  • 非公式Tutorial 08 multi-seq voice poly
  • 非公式Tutorial 10 メシアン様式即興
  • 非公式Tutorial 概要

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「非公式Tutorial 09 ディアトニック即興」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • diatonic1.mid
  • diatonic1.xml
  • Unofficial-tutorial09-1.png
  • Unofficial-tutorial09-10.png
  • Unofficial-tutorial09-11.png
  • Unofficial-tutorial09-12.png
  • Unofficial-tutorial09-13.png
  • Unofficial-tutorial09-14.png
  • Unofficial-tutorial09-15.png
  • Unofficial-tutorial09-2.png
  • Unofficial-tutorial09-3.png
  • Unofficial-tutorial09-4.png
  • Unofficial-tutorial09-5.png
  • Unofficial-tutorial09-6.png
  • Unofficial-tutorial09-7.png
  • Unofficial-tutorial09-8.png
  • Unofficial-tutorial09-9.png
  • Unofficial-tutorial09.png
IRCAM OpenMusic 支援
記事メニュー

メニュー

  • トップページ
    • ダウンロード
    • インストール
  • クイックスタート
    • セッションの開始
    • パッチの作成
    • ワークスペースでのパッチの操作
    • アプリケーションを作る (1)
    • アプリケーションを作る (2)
    • アプリケーションを作る (3)
    • オブジェクトの操作 (1)
    • オブジェクトの操作 (2)
    • 保存・終了
  • ユーザーマニュアル
  • 基本リファレンス
  • ライブラリリファレンス
    • Esquisse
    • LZ
    • OMAlea
    • OMChaos
    • OMClouds
    • Profile
    • RepMus
    • Situation


  • OpenMusicの歴史
  • 非公式Tutorial 概要
    • 01 note chord chord-seq
    • 02 repeat-n omloop
    • 03 random
    • 04 omif subpatch
    • 05 様々なファンクション
    • 06 バッハ平均律
    • 07 武満徹分析
    • 08 multi-seq voice poly
    • 09 ディアトニック即興
    • 10 メシアン様式即興
    • 11 文字列のファンクション
    • 12 ハイドンの名による
    • 13 リズム1
    • 14 リズム2ファーニホウ1
    • 15 リズム3ファーニホウ2
    • 16 リズム4ファーニホウ3


  • 掲示板


  • 落書き
  • 落書き20150822



ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
人気記事ランキング
  1. Esquisse
  2. autotransp
  3. リファレンス
  4. interpol-tab
  5. 非公式Tutorial 09 ディアトニック即興
  6. pstgenerate
  7. rossler
  8. remove-rests
  9. ライブラリリファレンス
  10. as->om
もっと見る
最近更新されたページ
  • 421日前

    トップページ
  • 973日前

    ユーザーマニュアル
  • 1184日前

    非公式Tutorial 03 random
  • 1190日前

    非公式Tutorial 12 ハイドンの名によるメヌエット
  • 1190日前

    非公式Tutorial 10 メシアン様式即興
  • 1190日前

    非公式Tutorial 09 ディアトニック即興
  • 1190日前

    非公式Tutorial 08 multi-seq voice poly
  • 1190日前

    非公式Tutorial 07 武満徹分析
  • 1910日前

    非公式Tutorial 14 リズム2ファーニホウ1
  • 1977日前

    掲示板
もっと見る
人気記事ランキング
  1. Esquisse
  2. autotransp
  3. リファレンス
  4. interpol-tab
  5. 非公式Tutorial 09 ディアトニック即興
  6. pstgenerate
  7. rossler
  8. remove-rests
  9. ライブラリリファレンス
  10. as->om
もっと見る
最近更新されたページ
  • 421日前

    トップページ
  • 973日前

    ユーザーマニュアル
  • 1184日前

    非公式Tutorial 03 random
  • 1190日前

    非公式Tutorial 12 ハイドンの名によるメヌエット
  • 1190日前

    非公式Tutorial 10 メシアン様式即興
  • 1190日前

    非公式Tutorial 09 ディアトニック即興
  • 1190日前

    非公式Tutorial 08 multi-seq voice poly
  • 1190日前

    非公式Tutorial 07 武満徹分析
  • 1910日前

    非公式Tutorial 14 リズム2ファーニホウ1
  • 1977日前

    掲示板
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. Shoboid RPまとめwiki
  2. テイルズオブ用語辞典
  3. トリコ総合データベース
  4. 固めまとめWiki
  5. ストグラFV まとめ@非公式wiki
  6. イナズマイレブンGO2 クロノ・ストーン ネップウ/ライメイ 攻略wiki
  7. みんなで決めるゲーム音楽ベスト100まとめwiki
  8. グランツーリスモWiki
  9. 魔法科高校の劣等生Wiki
  10. ゆっくり虐め専用Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ゲームカタログ@Wiki ~名作からクソゲーまで~
  3. ストグラ まとめ @ウィキ
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. MADTOWNGTAまとめwiki
  3. まどドラ攻略wiki
  4. ちいぽけ攻略
  5. SurrounDead 攻略 (非公式wiki)
  6. Shoboid RPまとめwiki
  7. シュガードール情報まとめウィキ
  8. 戦国ダイナスティ攻略Wiki@ウィキ
  9. ソニックレーシング クロスワールド @ ウィキ
  10. 20XX @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. angler - MADTOWNGTAまとめwiki
  2. 参加者一覧 - MADTOWNGTAまとめwiki
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  5. SILENT HILL f - アニヲタWiki(仮)
  6. ギャプラン - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. XVI - MADTOWNGTAまとめwiki
  8. 模擬ドラフト結果 - おんJ模擬ドラフトまとめwiki
  9. 参加者一覧 - ストグラ まとめ @ウィキ
  10. 白狐 - MADTOWNGTAまとめwiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.