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

IRCAM OpenMusic 支援

非公式Tutorial 02 repeat-n omloop

最終更新:2013年11月09日 19:27

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

非公式チュートリアル02 repeat-n, omloop


今回はrepeat-nとomloopの2つの使い方について述べる。


まずは前回と同じようにchordを作成する。mキーで中身を表示し、クラスの大きさを見やすいように整えておく。


左下をorderにすると編集しやすい。新規に音を追加する場合はcommand+クリックで行う。
編集し終わったら自動的にブロックされるが、ブロックされていない場合はbキーでブロックしておく。

まず[[first]]というファンクションについて解説する。これはその名の通り括弧で囲まれたリストの中の1番目の値を抽出するものである。OpenMusicの母体であるLISPは常に0からものを数えるのであるが、このオブジェクト名の場合はfirst, secondというように1から数える。同様のオブジェクトはtenthまで有効である。
先ほどのchordの左から2番目のアウトプットをこのfirstに繋ぎevaluateすると、最初の値が表示される。先ほどのorderで左から順番にド、ミ、ソと入力していれば、最初のドの音の値である6000がLISPウィンドウに現れる。

今度はファンクションrepeat-nを作成しよう。repeat-nの左側のインプットに先ほどのchordの左から2番目のアウトプットの値を繋ぎ、repeat-nの右側のインプットはshift+クリックしてボックスを表示し、5と入力する。
ここで一旦evaluateしてみると、((6000 6400 6700)(6000 6400 6700)(6000 6400 6700)(6000 6400 6700)(6000 6400 6700))という値がLISPウィンドウに表示される。つまりここでは括弧で囲まれた数値のリスト(和音)が5回繰り返されたということになる。

このrepeat-nの下にchord-seqを作り、repeat-nのアウトプットからchord-seqの左から2番目のインプットにコードを繋ぐ。mキーで中身を表示させ、evaluateする。
すると、ドミソの和音が5回繰り返して表示される。



今度は、ファンクションomloopを作成する。
作成した直後はinputを持っていないが、以前と同じ方法の>キーでインプットを増やせる。ここでは1つに設定してchordの左から2番目のアウトプット(output 1)からコードを繋いでおこう。

ここでomloopをダブルクリックすると、中にいくつかのオブジェクトが置かれたサブパッチが現れる。


まずomloopウィンドウ上部にあるアイコンのうち、右から2つ目のLISTと書いたアイコンをクリックすると、listloopというオブジェクトが現れる。
このlistloopは、受け取ったリストのうち最初から最後までの値をループのたびに一つずつの値を返す。今ここでは(6000 6400 6700)という値が入力されているので、合計3回ループし、1番目のループでは6000、2番目は6400、3番目は6700が出力される。

listloopの左側に先ほど扱ったfirstを作り、その下にlistを作ってinputを2つに増やし、firstとlistloopからそれぞれ繋いでおこう。(画像参照)

ここでもう一度omloopウィンドウ上部のアイコン群を見よう。右側のグループの右から2番目のアイコンをクリックすると、collectというオブジェクトが現れる。これを先ほどのlistの下に置き、左から1番目のアウトプット(output 0)を画面下にあるオブジェクトのeachTimeに、左から2番目のアウトプット(output 1)をfinallyに接続する。(画像参照)

これで一旦omloopのサブウィンドウを閉じる。

このomloopをevaluateしてみると、結果は((6000 6000) (6000 6400) (6000 6700))となる。これについて説明しよう。
omloopの中に置いたfirstは常に与えられたリスト、ここでは(6000 6400 6700)の最初の値を参照し、listloopはループのたびにリストの中の値を順番に参照する。つまり最初のループではfirstは6000を、listloopも6000を返す。これがlistで括弧にまとめられるので(6000 6000)となる。これがcollectに代入される。次のループではfirstは6000を、listloopは6400を返す。これがlistで(6000 6400)となる。次のループではfirstは6000を、listloopは6700を返す。これがlistで(6000 6700)となる。リストの値はこれで最後なので、最後にcollectによって集められていたそれぞれのループごとの結果がさらに括弧でまとめられ、((6000 6000) (6000 6400) (6000 6700))となる。

omloopの下にchord-seqを作成してこの結果をevaluateしてみると、ドド、ドミ、ドソという2音ずつの和音3つが表示されるのである。


さて先ほどlistloopを使ったが、omloop内のループファンクションには他にもforloop, whileloop, onlistloopがある。
ここではもう一つのよく使われるforloopについて見てみよう。

まずnoteを作る。デフォルトのC4(ド)のまま用いるので、そのままbキーでブロックする。
その下にomloopを作成し、>キーでインプットを2つにしておく。
input 0にはchordのoutput 1を繋ぎ、input 1はshift+クリックでボックスを出し12と入れておく。

omloopの中身を開き、上のアイコンの左側の群の一番左にあるFORのアイコンをクリックし、forloopを作成する。
forloopの左側のインプット(input 0)をクリックしてボックスが出る。デフォルトで0が入っているのでその0のまま用いる。
右側のインプットには、omloopの中に現れたinput 1のアイコンのアウトプットをそのまま繋ぐ。omloopの外側ではボックスに12を入れていたから、ここでは12が入力される。
これでforloopは0から始まって12までのループのたびに1ずつ増える数値を出力する。

その下にファンクションom*を用意する。これは掛け算のオブジェクトである。左側のインプットにforloopのアウトプットを、右側のインプットはボックスを出して100を入力しておく。
これでforloopの出力する数値はそれぞれ100倍される。最初のループでは0だから0*100=0である。次のループでは1が来るので1*100=100になる。次は2*100=200、という具合である。

その下にom+を用意し、左側のインプットにはオブジェクトinput 0のアウトプットを、右側にはom*のアウトプットを繋ぐ。
input 0にはnoteのC4(ド)の音、つまり数値6000が入っていたので、先ほどのom*からの出力を足すと、それぞれ6000+0=6000, 6000+100=6100, 6000+200=6200 ... となる。

先ほどと同じようにcollectを用意する。om+のアウトプットをそれに繋ぐ。collectのoutput 0はeachTimeに、output 1はfinallyに繋ぐ。
ここまで出来たらomloopのサブウィンドウを閉じる。

パッチのメインウィンドウに戻り、omloopをevaluateしてみると、(6000 6100 6200 6300 6400 6500 6600 6700 6800 6900 7000 7100 7200)という結果が出力される。

今度はchord-seqを作成する。
omloopのアウトプットをchord-seqの左から2番目のinput 1に繋いでevaluateすると、ド、ド#、レ、レ#、ミ・・・と半音ずつ上がる単音がオクターブ上のドまで表示されるはずである。中身をクリックして鳴らして確認しよう。

待てよ、とここで気づいた人は勘が良い。ド、ド#、レ、レ#、ミ・・・オクターブ上のド、まで数えると、音符は合計で13個ある。
先ほど12という数値を与えたのに、なぜ13個あるのだろうか。
ここでLISPは0からものを数えるという原則が生きてくる。0-12でループすると、実はその数値は0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12の合計13個あるのである。
ここは初心者に取って混乱しやすい場面なので、ぜひとも注意してほしい。


参照

当wiki内

  • 連続演算子
  • 反復 OMLoop

公式チュートリアル

  • Tutorial 15
  • Tutorial 16

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

  • 非公式Tutorial 03 random
  • 非公式Tutorial 01 note chord chord-seq
  • 非公式Tutorial 概要





タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「非公式Tutorial 02 repeat-n omloop」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • unofficial-tutorial02-1.png
  • unofficial-tutorial02-2.png
  • unofficial-tutorial02-2_.png
  • unofficial-tutorial02-3.png
  • unofficial-tutorial02-3_.png
  • unofficial-tutorial02.png
  • unofficial-tutorial02_.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.