Ardourは自由でオープンなソフトウェア(GPLv2)として配布されていることが特徴のDAWです。
この文章ではFedora26にArdour5をインストールして、基本的な使い方を紹介します。
ArdourクイックスタートはGitHub Pagesで読むこともできます。
ArdourクイックスタートはGitHub Pagesで読むこともできます。
declare
で行います。 declare name
の指定がなければコンパイル後のプラグイン名はファイル名と同じsawとなります。
declare nvoice
で最大同時発音数を指定することでMIDIノートを受け取れるようになります。nvoiceの指定がなければエフェクトとしてコンパイルされます。
// メタデータ。 declare name "Saw Synth"; declare author "Uhhyou"; declare version "1.0.0"; declare license "MIT"; declare description "A simple sawtooth synthesizer."; // declare nvoicesがあればinstrument、なければエフェクトとしてコンパイルされる。 declare nvoices "16"; import("stdfaust.lib"); // freq, gain, gateを定義してMIDIノートを扱う。 amp = hslider("amp", 0.5, 0.0, 1.0, 0.01); pan = hslider("pan", 0.5, 0.0, 1.0, 0.01); freq = hslider("freq", 440, 20, 20000, 1); gain = hslider("gain", 0.1, 0, 1, 0.01); gate = button("gate"); ampAttack = hslider("amp attack", 0.7, 0.0, 1.0, 0.001); ampRelease = hslider("amp release", 0.8, 0.0, 1.0, 0.001); cutoff = hslider("cutoff", 0.5, 0.0, 1.0, 0.01) : ba.lin2LogGain * 980 + 20; resonance = hslider("resonance", 0.2, 0.01, 1.0, 0.01) : ba.lin2LogGain * 100; filterAttack = hslider("filter attack", 0.25, 0.0, 1.0, 0.001); filterRelease = hslider("filter release", 0.9, 0.0, 1.0, 0.001); filterEnvAmount = hslider("filter envelope amount", 0.7, 0.0, 1.0, 0.01) : ba.lin2LogGain * 980 + 20; filterEnv = en.ar(filterAttack, filterRelease, gate); filter = fi.resonlp( cutoff + filterEnvAmount * filterEnv, resonance, 1); ampEnv = en.ar(ampAttack, ampRelease, gate); osc(f) = os.sawtooth(f) + os.sawtooth(f * (1.0 + 0.1 * no.pink_noise)); chord(numHarmo) = sum(i, numHarmo, osc((i + no.noise) * freq / numHarmo)) / numHarmo; process = chord(7) * amp * gain : filter : sp.panner(pan);
$ echo $LV2_PATH /home/<user_name>/.lv2:/usr/lib/lv2:/usr/local/lib/lv2
$ faust2lv2 saw.dsp $ cp -r saw.lv2/ ~/.lv2/
$ lv2ls ... https://faustlv2.bitbucket.io/saw ...