ラベル 制作メモ の投稿を表示しています。 すべての投稿を表示
ラベル 制作メモ の投稿を表示しています。 すべての投稿を表示

2018年3月23日金曜日

sed -i = 入力ファイルに上書きする - sed

sedは行単位で簡単に文字列変換したい時に便利なツールですが、sed -i で入力ファイルに直接上書きすることができます。


**** 書式
--------
sed -i -e 正規表現 入出力ファイル名
--------
o 正規表現 --(例:'s/ミク/ミクさん/g')。


**** 使用例
sed -i -e 's/ミク/ミクさん/g' ネギ.txt


**** メモ
o 日本語を扱う場合は、画面の文字コードとファイルの文字コードを合わせる必要があります。
(Git Bash画面の場合は、ファイルの文字コードをUTF-8に合わせると上手く変換できました。)
o 英数字だけの変換でしたら、特殊な環境でなければ、問題なく変換できます。


**** 確認した処理系
o GNU sed 4.4 (Git for Windows付属のGit Bash画面で実行)


==
関連ページ:
    ▼制作メモ

2017年11月13日月曜日

C++サウンドプログラミング

o VSTプラグイン開発(音声エフェクトなど)
VST Audio Plug-Ins SDK(VST SDK)で出来ること
VST SDKの最新版を入手する方法
WindowsでVST Audio Plug-Ins SDK (VST3 SDK)を使用する方法
Visual StudioでVST Audio Plug-Ins SDK(VST3)をビルドする方法(Visual Studio 2017)
----
初音ミク曲に必要な、未来の音の作り方。

o コンピューター・プログラミングで初音ミクする方法の一つです。
o VST規格に合わせて音を鳴らすプラグインや音を加工するプラグインを作ると、世界中にある多くの作曲ツールで使うことが出来ます。


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次

VST Audio Plug-Ins SDK(VST SDK)で出来ること

VST規格に合わせてプラグインを作ると、世界中にある、多くの作曲ツールで使うことが出来ます。

VST Audio Plug-Ins SDK (VST SDK)は、VSTプラグインを作るためのライブラリです。
公式版はC++で出ていますが、C#やJava用のライブラリも出ています。

VST SDKで出来ることは、
  • 音を鳴らす「VSTi」 (= 誰も知らない音色の楽器を作成できます)
  • 音声を加工する「VSTエフェクト」 (= 誰も聞いたことのない音声エフェクトを作成できます)
  • それらを使う「VSTホスト」(= 多くの作曲ツールが備えている機能です。)

**** メモ
現在のVST SDKの最新バージョンは、VST 3.6.8です。(2017年11月現在)
作曲ツールの方も、VST 3規格への対応が始まったところです。
  • MAGIX Music Maker Premium バージョン24 = VST3サンプルプラグインが動作しました。
  • FL Stuio 12.5 = VST 3サンプルプラグインが動作しました。
  • (VST 2規格しかサポートしていない作曲ツールもあります。)


**** 確認したバージョン
  1. VST 3.6.8 Audio Plug-Ins SDK
  2. MAGIX Music Maker Premium バージョン24.1.6.127 (UDP3)
  3. FL Stuio 12.5.1.5


==
関連ページ:
    ▼C++サウンドプログラミング
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > VST SDKの最新版を入手する方法
(2017年11月13日追加。VST3サンプルプラグインが動作した作曲ツール)

Visual StudioでVST Audio Plug-Ins SDK(VST3)をビルドする方法(Visual Studio 2017) - C++サウンドプログラミング

Visual Studioで最新のVST Audio Plug-Ins SDK(VST3 SDK)をビルドしたい時は、無料ソフト「CMake」を使用して、Visual Studioのプロジェクトファイルを作成します。


**** 手順:(以下、CMake 3.9.6 で確認しました。)

VST SDK最新版の入手や配置については、「WindowsでVST Audio Plug-Ins SDK (VST3 SDK)を使用する方法
(Visual Studioの公式対応バージョンもこちら)

1. CMake をインターネットから入手してインストールします。
Download | CMake (CMakeの公式ページ)
  • Release Candidate(rc)版は最新機能のお試しバージョン。
  • Latest Release版は、少し古いですが安定バージョンです。(今回こちらを試しました。CMake 3.9.6)
実行して問題がありましたら、他の良さそうなバージョンで試してみます。
(CMakeの古いバージョン(3.4まで)が入っている場合は、一旦アンインストールして下さいとの事です。)

2. CMake (cmake-gui)を実行します。

3. 画面が出てきますので、設定を行います。
Where is the Source code: 欄に、配置したVST3_SDKフォルダを指定(例:C:/VST_SDK/VST3_SDK)
Where to build the binaries: 欄に、実行ファイルを出力するフォルダを指定(例:C:/VST_SDK/VST3_SDK/Output)
  • 今存在しないフォルダを指定しても大丈夫です。
  • 次の4番の手順実行時に、「フォルダを作成しますか」質問が出てきますので、Yesボタンを押して作成。

4. 画面下部左側にある「Configue」ボタンを押します。
初回実行の場合、開発環境を選択する画面が出ますので、開発環境を選びます。
注意点は、64bitパソコンの場合にあります。
  • 64bitパソコンの場合、64bit実行ファイルを作成したい時は、Win64 が付いている名前を選ぶ事(例:Visual Studio 15 2017 Win64)
  • 64bitパソコンの場合、32bit実行ファイルを作成したい時は、Win64 が付いていない名前を選ぶと良いかもしれません。(例:Visual Studio 15 2017)
    (ビルド中に警告メッセージが出ますが、32bit実行ファイルが出来ました)
終了しましたら、一番下の欄に「Configuring done」メッセージが出て止まりますので、次に進みます。

5. 画面下部左側にある「Generate」ボタンを押します。
すぐに終了し、一番下の欄に「Generating done」メッセージが出て止まりますので、次に進みます。

6. 画面下部左側にある「Open Project」ボタンを押します。

7. Visual Studioが開きますので、後は普通にビルドします。
(実行ファイルは、「Where to build the binaries:」欄で入力した場所の、対応する階層に出来ます。)
(VST3の実行ファイル名は、.vst3です。)


**** 確認したバージョン
  1. CMake 3.9.6 (Windows win64-x64)
  2. VST 3.6.8 Audio Plug-Ins SDK
  3. Windows 10 Pro (64bit)
  4. Microsoft Visual Studio Community 2017 Version 15.4.0


==
関連ページ:
    ▼C++サウンドプログラミング
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
(2017年11月13日追加。64ビットパソコンで32ビット実行ファイルを作る手順)

2017年11月12日日曜日

WindowsでVST Audio Plug-Ins SDK (VST3 SDK)を使用する方法 - C++サウンドプログラミング

最新のVST Audio Plug-Ins SDK (VST3 SDK)は、そのままではビルド(コンパイル)できませんので、使用前に少し作業が必要です。


**** 手順
1. VST SDKを入手します。
2. C++開発環境も準備しておきます。
Windowsの場合は、Visual Studio 2017がおすすめです。(その他は、下記のメモ欄を参照)
  • 個人の場合は無料版(Visual Studio 2017 Community)もあります。
  • インストール時のポイントは、「C++によるデスクトップ開発」を選択する事。
3. ダウンロードしたzipファイルを解凍(展開)します。
4. Audio Plug-Ins SDKの場合は、VST2_SDKフォルダの下にある全フォルダを、VST3_SDKフォルダにコピーします。
下記のコマンドを実行するか、手動でコピーします。
  • Windowsの場合: copy_vst2_to_vst3_sdk.bat
  • OS XやLinuxの場合: copy_vst2_to_vst3_sdk.sh
5. 無料ソフト「CMake」を使って、目的の開発ツールに応じた(Visual Studioなどの)プロジェクトファイルを作成します。


**** メモ
VSTプラグインの開発や使用は、Windows以外でも行うことが出来ます。
公式対応している開発環境は、VST_SDK3フォルダの下にあるREADME.mdを参照。
(メモ帳やブラウザで確認することが出来ます。)

公式対応しているC++開発環境:(VST SDK 3.6.8の場合:詳細バージョンはREADME.mdを参照)
  • Visual Studio 2015以降
  • Xcode 6以降
  • Qt Creator
公式対応しているVSTプラグイン実行OS:(VST SDK 3.6.8の場合:詳細バージョンはREADME.mdを参照)
  • Microsoft Windows 7以降
  • Apple OSX 10.7以降
  • Apple iOS 8以降
  • Linux (ベータ版です)


**** 確認したバージョン
  1. VST 3.6.8 Audio Plug-Ins SDK
  2. Windows 10 Pro (64bit)
  3. Microsoft Visual Studio Community 2017 Version 15.4.0


==
関連ページ:
    ▼C++サウンドプログラミング
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > Visual StudioでVST Audio Plug-Ins SDK(VST3)をビルドする方法(Visual Studio 2017)

VST SDKの最新版を入手する方法 - C++サウンドプログラミング

次のWebページから、VST SDKの最新版をダウンロードできます。(2017年11月現在)
Developers (Steinberg社)

このページで取得できるSDKは、
  • VST Audio Plug-Ins SDK (VSTプラグインを作りたい方はこちら)
  • VST Module Architecture SDK
  • ASIO SDK

**** 手順
1. 上記の場所から、目的のSDKをダウンロードします。
VSTプラグイン開発の場合は、Webページのやや下部にある「VST 3.6.8 Audio Plug-Ins SDK」のようなリンクをクリック
# もし、SDKの公開場所が変わっていましたら、Web検索で見つけてください。

2. VST SDKのセットアップ手順は、「WindowsでVST Audio Plug-Ins SDK (VST3 SDK)を使用する方法
(Visual Studioの公式対応バージョンもこちら)


**** メモ
1. ドキュメントは、VST_SDK3フォルダの下にあります。
  • index.html = ドキュメント本体(英語:ブラウザで表示)
  • LICENSE.txt = このSDKの利用規約(英語)
  • README.md = このSDKの概要説明(英語:メモ帳やブラウザで表示可能です。)


**** 確認したバージョン
  1. VST 3.6.8 Audio Plug-Ins SDK
  2. Windows 10 Pro (64bit)
  3. Microsoft Visual Studio Community 2017 Version 15.4.0


==
関連ページ:
    ▼C++サウンドプログラミング
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > WindowsでVST Audio Plug-Ins SDK (VST3 SDK)を使用する方法

2017年3月17日金曜日

and (Script-Fu) = 全ての条件を満たした時だけ真にする - GIMP

GIMPのScript-Fuでは、and条件(AかつB)を指定したい時は、andを使用します。
Script-Fuのandは、and条件が3つ以上続く場合にも対応しています。


**** 書式:
(and (条件1) (条件2) ... (条件n) )

**** 実行例:
> (if (and (= 1 1)(= 2 2)(= 3 3)) 'ミクさん)

**** 実行結果:
ミクさん
#t

**** メモ:
andは、上記例のように、ifなどの条件文と共に用いられています。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年3月16日木曜日

#f (Script-Fu) = 論理値の「偽」 - GIMP

#t は、Script-FuなどSheme系言語では、論理値の偽の意味になります。

Script-Fu : #f
Sheme : #f
Common Lisp: f
JavaScript : false


**** 書式
#f

**** 実行例
(if #f 'ネギ 'ミクさん)

**** 実行結果
ミクさん


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

#t (Script-Fu) = 論理値の「真」 - GIMP

#t は、Script-FuなどSheme系言語では、論理値の真の意味になります。

Script-Fu : #t
Sheme : #t
Common Lisp: t
JavaScript : true


**** 書式
#t

**** 実行例:
(if #t 'ミクさん 'ネギ)

**** 実行結果:
ミクさん

**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年3月15日水曜日

cond (Script-Fu) = 条件式で分岐する - GIMP

condは、先頭セルの条件式が真となるリストを順番に探し、最初に見つかったリストの全ての後続セルを実行します。
(1) 先頭のリストから順に評価します。
(2) 1つのリストの条件式が真になった時、condは後続のリストを評価しません。


**** 書式:
(cond ((条件1) 実行文1) ((条件2) 実行文2) ((条件3) 実行文3) ........ )


**** 使用例:
(let* ((mikusan 39))
(cond ((= mikusan 39) (print 'ミクさん) (print 'おはようございます。))
((= mikusan 100) (print 'ネギさん) (print 'ネギですね。))
(t (print 'ネギ))
)
)

(let* は、ローカル変数の定義を行うものです。)


**** 実行結果:
ミクさん
おはようございます。
#t#


**** メモ:
condは、C言語系のif { ~ } else if { ~ } else if { ~ } に相当する機能です。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年3月14日火曜日

if (Script-Fu) = 条件で分岐する - GIMP

ifは、条件分岐を行います。
(1) 条件式が真(#t)の時にだけ指定した式を実行する
(2) 条件式が真(#t)の時に式1を実行し、偽(#f)の時に式2を実行する


**** 書式:
(if 条件式 真の時に実行する式)
(if 条件式 真の時に実行する式 偽の時に実行する式)


**** 使用例:
使用例1:
(if (= 39 (+ 30 9)) (print 'ミクさん))

実行結果1:
ミクさん
#t


使用例2:
(if #f 'ネギ 'ミクさん)

実行結果2:
ミクさん


使用例3:
((if #t + -) 390 3)

実行結果3:
393


**** メモ:
条件分岐はif以外にもありますので、用途に応じて使い分けます。
( cond, when, unless, case )

複数の条件を同時に判定する時は、and や or を併用します。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

(car ())は、Script-FuやSchemeではエラーになります - GIMP

(car ())の動作は、Script-FuやSchemeではエラーになります。
carなどで空になる可能性があるリストを扱う時は、渡されたリストが空でないかどうか事前判定を入れるとエラーを防げます。
(1) Common Lispの場合は NILになります。


**** 実行例
(car ())

**** 実行結果:
Script-Fu (GIMP = Scheme系)の場合
エラー

ご参考1 : Common Lispの場合
NIL

ご参考2 : Gauche (Sheme系)の場合
エラー


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年3月13日月曜日

unless (Script-Fu) = 条件式が偽の時だけ実行する(後続セルを全て実行) - GIMP

unlessは、先頭セルに書いた条件式が偽の時だけ、全ての後続セルを実行します。


**** 書式:
(unless (条件式) (真の時に実行する式1) (真の時に実行する式2) (式3以降も可能))

**** 使用例:
(unless (= 38 39) (print 'ミクさん) (print 'リンちゃん) (print 'レンくん) (print 'ルカ様))

**** 実行結果:
ミクさん
リンちゃん
レンくん
ルカ様
#t


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年3月12日日曜日

when (Script-Fu) = 条件式が真の時だけ実行する(後続セルを全て実行) - GIMP

whenは、先頭セルに書いた条件式が真の時だけ、全ての後続セルを実行します。
ifは1つしか実行しませんが、whenは後続の全セルを実行する違いがあります。

**** 書式:
(when (条件式) (真の時に実行する式1) (真の時に実行する式2) (式3以降も可能))

**** 使用例:
(when (= 39 39) (print 'ミクさん) (print 'リンちゃん) (print 'レンくん) (print 'ルカ様))

**** 実行結果:
ミクさん
リンちゃん
レンくん
ルカ様
#t

**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

Windowsコマンド(バッチファイル)で、自分で設定した環境変数を削除する方法(Windowsコマンド)

間違った名前の環境変数を設定してしまった時は、SETコマンドで削除する事が出来ます。

但し、削除が有効なのは、今開いているウィンドウだけです。
システム全体から特定の環境変数を削除する場合は、システムの詳細設定から登録されている環境変数を確認する必要があります。


**** 書式 :
SET (削除したい環境変数)=

**** 例:
(環境変数 NEGI を削除したい時)
SET NEGI=


**** メモ:
変数が削除された事を確認する時も、set コマンドを使います。

set NEGI
環境変数 NEGI が定義されていません

set
(現在設定されている環境変数の一覧が表示されます。)


**** 確認したバージョン
Windows 10


==
関連ページ:
    ▼Windowsコマンド。制御文と環境変数▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ

サクラエディタで、途中で改行しないようにする方法

サクラエディタは、行の途中で改行させないようにする事が出来ます。


**** 手順
上にあるメニューから[設定(O)]-[タイプ別設定(Y)...]
タイプ別設定画面が出てきますので、次の手順を行います。

(1) タイプ別設定画面の右上で、拡張子を確認します。(その拡張子に対して、折り返しなしが有効になります。)
(2) 左上側「レイアウト」枠の折り返し方法を「折り返さない」
(3) 右下の「OK」ボタンを押す


==
関連ページ:
    ▼Windows
    ▼ホームページを作る
    ▼制作メモ

2017年2月22日水曜日

carとcarの一度で書く時の最大組み合わせ回数は、GIMPで4 cadddr (Script-Fu) - GIMP

lispやscheme言語では、carとcdrは組み合わせて書く事が出来ますが、
GIMPでは、cadddrのように一度で書く時のcarとcarの最大組み合わせ個数が4となっています。


**** 説明
car
cadr
caddr
cadddr
(caddddr リスト) = GIMPではエラー


**** 実行例:
(cadddr '(リンちゃん レンくん ルカ様 ミクさん ネギ))
→ 実行結果:ミクさん
(caddddr '(リンちゃん レンくん ルカ様 ミクさん ネギ))
→ 実行結果(エラー):Error: ( : 1) eval: unbound variable: caddddr


**** メモ
リストを4つ以上辿りたい時は、(cdddr(cdddr リスト))のように記述します。
また、ループや再帰(自分自身を呼び出す)で辿る方法もあります。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年2月21日火曜日

cadr (Script-Fu) = リストの2番目の要素を取得する - GIMP

carとcdrは、4つまで組み合わせて、cadddrのように使用する事が出来ます。
cadrの意味は、(cdr リスト)のcarですので,リストの2番目の要素を取得する事が出来ます。


**** 書式
(cadr リスト)


**** メモ
この意味は、(car (cdr リスト))です。
cadrの場合、後ろから前に辿るのがポイントです。

(cadddr '(リンちゃん レンくん ルカ様 ミクさん ネギ))
→ 実行結果:ミクさん

(caddddr '(リンちゃん レンくん ルカ様 ミクさん ネギ))
→ 実行結果(エラー):Error: ( : 1) eval: unbound variable: caddddr


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年2月20日月曜日

cdr (Script-Fu) = リストから先頭要素を取り除いたリストを取得する - GIMP

cdrは、指定されたリストから先頭要素(= 先頭のS式)を取り除いた形のリストを取得します。


**** 書式:
(cdr リスト)


**** 実行例:
(cdr '(ネギ ミクさん ツインテール))
→ 実行結果:(ミクさん ツインテール)

(cdr '(ネギ))
→ 実行結果:()

(cdr '())
→ 実行結果(エラー):Error: ( : 1) cdr: argument 1 must be: pair

(cdr '((カイトさん ネギ) (ミクさん 髪飾り) (ミクさん ツインテール)))
→ 実行結果:((ミクさん 髪飾り) (ミクさん ツインテール))


**** メモ
空のリストを指定するとエラーになりますので、問題がある時は、nullチェックを行うようにします。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ

2017年2月19日日曜日

car (Script-Fu) = リストの先頭要素を取り出す - GIMP

carは、指定されたリストの先頭要素(= 先頭のS式)を取り出します。


**** 書式:
car リスト


**** 実行例:
(car '(ミクさん リンちゃん レンくん ルカさま))
→ 実行結果:ミクさん

(car '((ミクさん ネギ) リンちゃん レンくん ルカさま))
→ 実行結果:(ミクさん ネギ)

(car '(() リンちゃん レンくん ルカさま))
→ 実行結果:()

(car '())
→ 実行結果(エラー):Error: ( : 1) car: argument 1 must be: pair


**** メモ
空のリストを指定するとエラーになりますので、問題がある時は、nullチェックを行うようにします。


**** 確認したバージョン
GIMP 2.8.18


==
関連ページ:
    ▼GIMP
    ▼曲や動画を作る
    ▼制作メモ