2011年3月3日木曜日

AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する方法 - AWK

AWKプログラムを動かす
AWKのパターンと制御文
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
AWKの入力ファイルは、AWKプログラムの中で追加、変更、削除(= キャンセル)する事が出来ます。
変数 ARGC と ARGV を使います。


**** 手順
o 3つの手順について纏めました。
    + 1. 入力ファイルを後で追加する方法
    + 2. 読み込み予定の入力ファイルを削除(= キャンセル)する方法
        + (この手順を応用すると、入力予定のファイル名を変更する事も出来ます。)
    + 3. 後ろに続く入力ファイルをまとめて削除(= キャンセル)する方法

o 1. 入力ファイルを後で追加する方法
    + 次の書き方が便利です。「 ARGV[ARGC++] = "ファイル名" 」
    + ARGV[ARGC] に追加したいファイル名を入れた後に、ARGC に 1 を加えます。
--------
BEGIN {
    ARGV[ARGC++] = "ネギパーティ参加者.txt";
    ARGV[ARGC++] = "ネギパーティ参加者その2.txt";
}
{
    print "参加者 :" $1 "さん";
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


o 2. 読み込み予定の入力ファイルを削除(= キャンセル)する方法
    + 次のように書きます。「 ARGV[消したいファイルの順番] = "" 」
--------
BEGIN {
    ARGV[1] = ""; # 最初に読み込むファイルをスキップします。
}
{
    print "参加者 :" $1 "さん";
}
--------

    + ARGV[1] に別のファイル名を指定すると、AWKは指定したファイルを読み込みます。

o 3. 後ろに続く入力ファイルをまとめて削除(= キャンセル)する方法
    + 次の書き方が便利です。「 ARGC = (合計ファイル数 + 1) 」
--------
BEGIN {
    ARGC = 2; # ファイルを最初の1つだけ読み込みます。
}
{
    print "参加者 :" $1 "さん";
}
--------

    + この他に、2番目の方法を使って、ARGV のファイル名を1つずつ消す方法もあります。


o 詳しい情報はこちらです。
    + ARGC = ARGVに入っている要素の個数
    + ARGV = AWK起動時に指定した入力ファイル名とコマンド名
    + ARGIND = ARGVにおける現在入力中ファイルの位置 (Gawk専用)


**** メモ
o BEGIN だけでなく、ファイル読み込み中に変更する事が出来ます。
    + 読み込み中のファイルを削除した時の動作は、処理系によって異なります。
    + 詳しくは、「ARGC = ARGVに入っている要素の個数
o 現在のファイルの位置を調べたい時は、変数 ARGINV のメモ「ARGIND = ARGVにおける現在入力中ファイルの位置」(Gawk専用)をどうぞ。
    + この変数は Gawk限定ですが、メモ欄に、mawkなどでも動かす為の情報を載せました。


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)


==
関連ページ:
    ▼AWKプログラムを動かす
    ▼AWKのパターンと制御文▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > 入力ファイルを手入力する
    AWKPATH = コマンドでAWKファイル名を指定する時、ファイルの場所を省略する(Gawk, mawk32専用)
    BEGIN = 最初に実行する

Edison プラグインで、WAVファイルからピアノロール(= MIDI)に変換する方法 - FL STUDIO

ミキサー
○FL9.1
Edison は、WAVファイルなどの音声ファイルを加工するプラグインです。
その中に、音声ファイルからピアノロールに変換する機能があります。

o 大雑把に、音の傾向を把握したい時に便利です。
o 変換するのは、ノート(= 音符)と Velocity (= 音を弾く強さ)だけです。
o 正確な譜面にしたい時は、後で手作業で修正します。


**** 手順
o ミキサーを開きます。F9 キーが簡単です。
o ミキサー画面右上の空いている欄で、左側の▼を押します。
o 選択肢が出てきますので、「Select」-「Edison」
o Edison 画面の紫色部分に、音声ファイルをドロップします。
    + もしくは、紫色部分をクリックして、音声ファイルを選びます。
o 紫色部分に音声ファイルの波形が出てきます。内容を確認したい時は、左上にある横向き▲ボタンを押します。

o ここで、おもむろに、チャンネルウインドウを手前に出します。
o そして、ピアノロールに置き換えたい所を、緑色に光らせます。
    + 楽器名ボタンの右隣にある、光る部分です。

o Edison 画面に戻って、左から4つ目。工具アイコンをクリックします。はさみマークの右隣にあります。
o 選択肢が出てきますので、右下付近にある、「Convert to score and dump to piano roll」。

o ピアノロールに変換した後は、Edisonは不要です。
    + Edison 画面を閉じたい時は、Edison画面右上のx印。
    + ミキサーから Edison プラグインを外す時は、Edison を選択した時の▼をもう一度押します。
        + 選択肢が出てきますので、「Select」-「(none)」


**** 確認したバージョン
o FL STUDIO 9 Producer Edition   Version 9.1.0 (Signature Bundle)


==
関連ページ:
    ▼ミキサー(= Mixer)
    ▼FL STUDIO
    ▼制作メモ
    > Wave Candy プラグイン = 現在鳴っている音の波形を視覚的に確認する
    Fruity Balance プラグイン = エフェクトを通す途中で音量や定位を変更する
    ミキサートラックの名前を初期値に戻す