マガジンのカバー画像

Audio関連

54
運営しているクリエイター

#JUCE

音量やデータを滑らかに変化させる ~ 積分器で簡単に

まえがきVST 等、オーディオの内部処理で音量を変えたりする場合、急に大きく変えると波形が不連続となり、「プチッ」というノイズが出ることがあります。 そのため、音量を滑らかに変化させる必要があります。 (振幅が小さいところで切り替わると気にならず、テストでは気付かないことがあるので注意が必要です) ランプ関数JUCE のチュートリアルでは、前の Gain と比べて違ってたら、その間を applyGainRamp() によってフレーム内で滑らかに変化させる例が載っています

VST プラグインのプロトタイピングから検証までを MATLAB で ~ MATLAB の VST 生成機能を使う ~ データインスペクターでログ比較

まえがきみなさんは信号処理系のプラグインを作る場合、プロトタイピングや検証はどうされてますか? 私は、JUCE や Wwise でプラグインを作る前に、まずは効果を MATLAB/Simulink で確認し、MATLAB で VST 化してリアルタイム検証を行っています。 今年の ADC でも、「最初に MATLAB で作ってから JUCE にする」って言ってた方がいましたね。 "super helpful" と。(--)(__) Musical sound codin

JUCE / MATLAB ~ スタンドアローン VST の活用方法

まえがきJUCE や MATLAB はスタンドアローンの VST(.exe) が生成できます。 DAW なしで単体起動でき、外部入力に対して処理を行うことができます。 また、後述する Virtual I/O アプリを使うと、PC上の任意の音(プレイヤーやWebブラウザ等)に対して処理が行えます。 通常、公式の AudioPluginHost アプリを用いてデバッグしている方が多いのではないかと思いますが、スタンドアローン版を使えば、デバッグ時もそのまま任意音声を入力して

JUCE ~ v143ビルドエラーの対処方法

最近の Projucer ではデフォルトのリンクライブラリが Visual Studio 2022 相当になっている(Visual Studio 2022 がインストールされてるか Windows11 だと?)ようで、Visual Studio 2019 等を使っている場合はビルドエラーが出ることがあります。 これは、JUCE ではき出したライブラリと Visual Studio 側のライブラリのバージョン不一致により起こります。 v141/142 の時は対応ライブラリを

MATLAB/Simulink でアルゴリズム開発 ~ C/C++ の検証を MATLAB で ~ C Caller / C Function

まえがき私は通常、MATLAB/Simulink でアルゴリズム開発を行い、組み込み・VST(JUCE)用に C/C++ 化を行うことが多いです。 その場合、検証用テストデータの作成および、C/C++ での実行結果の検証にも MATLAB/Simulink を使います。 これだけでもかなり効率的ではあるのですが、テストデータを C/C++ に持って行ったり、実行結果を MATLAB に持っていったりと、MATLAB <-> C/C++ 開発環境の行ったり来たりが面倒です。

JUCE~既存プロジェクトをコピーして始める

前回は新規作成方法でしたが、ついでに既存プロジェクトを元に別プロジェクトを作成する方法を。 1.新規フォルダー作成 2.既存プロジェクトの .jucerファイルと Source フォルダーをコピー 3..jucer ファイルのファイル名を変更して起動 4.設定(歯車アイコン)で、Project Name、Plugin Name等を変更 Project Name を変えると、左上のプロジェクト名に即時反映されます。 CTRL+Zとかが効かないのがイマイチですが。 5.ID

JUCE でディレクトリ名、クラス名、VST/アプリ名、生成ファイル名を個別に設定する

JUCE でVST/アプリを新規作成する場合、まずは Projucer で "Project Name" にプロジェクト名を入れて "Create Project" するわけですが、デフォルトではこのプロジェクト名が、ディレクトリ名、クラス名、VST/アプリ名、生成ファイル名(VST/アプリのフィル名)として使われます。 しかし場合によっては、これに別々の名前を使いたいこともあるかと思います。 今回はその設定方法を、備忘録も兼ねて書いておきます。 ディレクトリ名、クラス

JUCEがモーダルウインドウ禁止になったので仕方なくリファクタリングしてみた

SHOULD NEVER USE THIS METHOD! さて、少し前から、「プログラム的に危険である」「Androidが非対応」ということで非推奨(というか、"you SHOULD NEVER USE THIS METHOD!")になっていたモーダルウインドウ(入力待ちダイアログ)。 ついに6.1.0からデフォルトで使えなくなり、Async(非同期)系の、プロセスはすぐ次に移動してコールバックで処理を行う方法のみに変わりました。 具体的には、 AlertWindow