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

IRCAM OpenMusic 支援

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

最終更新:2022年07月07日 00:20

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

非公式チュートリアル12 ハイドンの名によるメヌエット


モーリス・ラヴェル作曲の「ハイドンの名によるメヌエット」という曲がある。これは国民音楽協会という当時のフランスの作曲家の協会が、ハイドン没後100周年を記念して、ラヴェルを含む6人の作曲家に、ハイドンHaydnの名を音列に見立てて、その動機をもとにピアノ小品の作曲を委嘱したものである。ラヴェルの他は、ドビュッシー、デュカス、ダンディ、アーン、ヴィエルヌがそれぞれピアノ曲を作曲した(ヴィエルヌはオルガニストであり、オルガンでの演奏を想定していたと思われる)。とはいえラヴェルの曲が圧倒的に優れていた点は、Haydnの音列を逆行形や反行形も用いながら作曲したことであり、調性音楽(厳密に言えば旋法音楽とも言える)でありながらシェーンベルクら新ウィーン楽派の十二音技法のアイデアをも先取りするものであった。筆者(imahori)は作曲家としてはドビュッシーを第一に尊敬しているが、この曲集に限ってはラヴェルに軍配があがると思っている。

Haydnの音列は、以下のような法則によって導き出されている。まずアルファベットのテーブルを組む。

A B C D E F G
H I G K L M N
O P Q R S T U
V W X Y Z

これにより、2行目以降の文字は1列目の文字に置き換える。ただしHは、ドイツではシのナチュラルを意味するので、ここでは例外としてBと同様に扱う。そうすると、HAYDNという文字列はBADDGとなり、音名に読み替えるとシラレレソというメロディが導き出される。

今回のパッチは、このテーブルに基づき、任意の文字列と、それを音名変換させるためのchordを与えて、文字列によってchordを新たに生成することを目的とする。


まずメインパッチは2つの入力(文字列とchord)と1つの出力(chord)を持つサブパッチとする。(このサブパッチの名前は自由につけて良い。例示ではsur le nom de quelqu’un(誰かの名による)と命名した。)

文字列には"Haydn"を指定する。(先頭のみ大文字であることがミソである)

chordはスクリーンショットを参照のこと。テーブル最上段のA4 B4 C5 D5 E5 F5 G5 (6900 7100 7200 7400 7500 7600 7800) を指定してある。

ではそのサブパッチの中身を見てみよう。


まず左側input 0だが、omifとstringpにより、input 0に与えられた引数が文字列であるかどうかを確認している。

その次に string-downcase を指定し、文字列中のアルファベットを全て小文字に直している。これにより、大文字も小文字も含む文字列であっても、内部処理は全て小文字によって行われている。

次にomloopを見てみよう。


length, 1-, forloop の組み合わせは、これまでのチュートリアルに出てきたとおりである。

その次にcharを指定し、文字列からループごとのn番目の文字を参照している。例えば最初のループだと、forloopの出力は0から始まるので1番目のループなら0が指定され、先頭の0番目の文字(普通に数えると1番目)が参照される。

次にその文字がアルファベットであるかどうかをalpha-char-pによって判断している。もしアルファベットであれば(返り値がtであれば)、char-codeでその文字のアスキーコードを出力させている。そうでなければ、つまりアルファベット以外の文字であれば、nil(偽の値として使われるシンボル。これまでのチュートリアルにも出てきた)を返している。

それをcollectしてomloopがループするわけだが、最後にすべてのループが終わった後、collectのoutput 1(0から数えるので実質2番目のアウトプット)にremoveでnilを指定する。すると先ほどのアルファベット以外の文字だった場合にnilを返していたのが、ここで全て取り除かれる。

今度はomloop 1を見てみよう。


まずinput 0には、先ほどのomloopからの出力で、文字列の各文字のアスキーコードによる数値が入っている。アルファベット以外の文字の出力は取り除かれているから、ここの数値は全てaからzまでのいずれかの文字による数値である。

文字列a(#\aと指定する)のchar-codeを出力し、om-でその差を求めている。aは97であるから、例えばここにbが来ると98となり、98-97=1となり、aから数えて1の差があるということになる。

次にこの差を、与えられたchordのlengthで割る。アルファベットのテーブルを見てみると、1行には7列のアルファベットがあることがわかる。これをchordでラシドレミファソと指定しているのだが、そのlengthは7であるから、ここでは7が来る。(chordのlengthは可変である。後述。)

Haydnのhは例外だから後で処理するとして、aはそのまま1行目のa、次にyがテーブル上のdに来ることを知るためには、剰余(割り算のあまり)を出せば良い。yはアスキーコード113で、113-97=25, 25//7=3...4となり、4番目の列、つまりdとみなすことができる。

その例外のhの処理は、次のomifで行っている。char-codeで#\hを指定し、もしhであれば、強制的に11を返り値として出力するようにしている。そうでなければ、これから説明する次のセクションの返り値となる。

一方、chordに入力されている数値は、過去のチュートリアルで見てきたとおり、MIDIナンバーがセント単位の数値で与えられている(例:C4=6000)これを100で割り、さらに12で割ることで、オクターブに関係なく音名を把握することができる。例えばC4=6000なら6000/100//12=5...0となり、cとみなされる。

これを先ほどの剰余算の出力につなぐ。Haydnが(hの例外はすでに処理されているので)baddgとなるので、 (1 0 3 3 6) が出力されている。一方chordの (6900 7100 7200 7400 7500 7600 7800) は、12の剰余で (9 11 0 2 4 5 7) となっているから、これをomloopのループで順にnthで拾っていけば、LISPは0からものを数えるので1はリスト中の2番目、つまり11となり、次は0なのでリスト中の1番目つまり9となる・・・という具合で、したがって出力は (11 9 2 2 7) が得られる。

今度はsur le nom de quelqu’unのパッチに戻って見てみよう。今のomloop 1の出力を100倍し、 (1100 900 200 200 700) を得ている。

次にlist-minでリスト中の最低値を得る。ここでは6900がそれにあたる。これを1200で剰余算し、5...7で5番目のオクターブを得る。それに1200を掛けて6000となるので、(1100 900 200 200 700) にそれを足せば、 (7100 6900 6200 6200 6700) が得られる。


最後のomloop 2を見てみよう。これはlist-minで得られた数値よりも低い場合、強制的に1200を足して1オクターブ上げている。

これでパッチは完成である。Haydnの音列シラレレソが得られる。画像1のパッチの下部(出力結果)のchordをダブルクリックで開き、左下(デフォルトはchord)をorderにして、音の並びを確認してみよう。



ラヴェルは同じシステムを使って、師匠フォーレの誕生日を祝って作曲した、ヴァイオリンとピアノのための「ガブリエル・フォーレの名による子守唄」という曲も書いている。そこで文字列に "Gabriel Faure"と入力する。(正確にはFauréであり最後にアクサンテギュがつくのだが、ここでは処理の都合上割愛する。)苗字と名前の間にスペースが含まれているが、これはパッチの処理で「アルファベット以外の文字はnilを返す」としてちゃんとはじいてくれるはずだ。出力結果は「ソラシレシミミファラソレミ」となり、子守唄に使われたメロディと同一の音列が得られる。

もう一つ、このシステムによって作曲された曲がある。モーリス・デュリュフレ作曲、オルガンのための「アランの名による前奏曲とフーガ」である。デュリュフレはレクイエムで有名な作曲家であり、寡作だがオルガンや無伴奏コラールなどの教会音楽を残している。ここで名前が引用されているアランというのは、デュリュフレの盟友でありやはりオルガニスト・作曲家であり、第二次世界大戦で若くして戦死したジャン・アランのための追悼作品である。2013年に亡くなったフランスの代表的なオルガニスト、マリー=クレール・アランの兄にあたる。

この曲は実はラヴェルたちのものと微妙にテーブルが異なっていて、AからHまでを一列とする

A B C D E F G H
I G K L M N O P
Q R S T U V W X
Y Z

となる。

そこで、(この場合ラヴェルのテーブルをパッチ処理する際に用いたHの例外は考慮しなくても良いのだが、)パッチの右辺を「ラ、シ♭、ド、レ、ミ、ファ、ソ、シ(ナチュラル)」と指定してみる(画像1の右上に3つ並んだchordクラスの一番右)。オクターブはこの曲に倣ってA3から始める。

文字列に "Alain" を指定すると、「アランの名による前奏曲とフーガ」で用いられるのと同じく「ラレララファ」という音列が得られる。

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「非公式Tutorial 12 ハイドンの名によるメヌエット」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • unofficial-tutorial12-1.png
  • unofficial-tutorial12-2.png
  • unofficial-tutorial12-3.png
  • unofficial-tutorial12-4.png
  • unofficial-tutorial12-5.png
  • unofficial-tutorial12-6.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. 英傑大戦wiki
もっと見る
新規Wikiランキング

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

  1. MadTown GTA (Beta) まとめウィキ
  2. MADTOWNGTAまとめwiki
  3. まどドラ攻略wiki
  4. ちいぽけ攻略
  5. SurrounDead 攻略 (非公式wiki)
  6. Shoboid RPまとめwiki
  7. シュガードール情報まとめウィキ
  8. 戦国ダイナスティ攻略@ウィキ
  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.