Skip to content

NumberZero-0621/DAWIY

 
 

DAW(Digital Audio Workstation) + DIY(Do It Yourself) = DAWIY

自分好みのDAW環境をDIYする共通プラットフォーム」…を目指している

2026年3月9日時点のDAWIY

※画像は2026年3月9日時点


使用上の注意(フォーク元のリポジトリより)

論文等でこのリポジトリを使用する場合は、参考文献(.bibファイル想定?)に以下の文献を引用してください、とのこと:

@inproceedings{buffa2023wam,
  title={WAM-studio, a Digital Audio Workstation (DAW) for the Web},
  author={Buffa, Michel and Vidal-Mazuy, Antoine},
  booktitle={Companion Proceedings of the ACM Web Conference 2023},
  pages={543--548},
  year={2023}
}

ライセンス

このプロジェクトは、WAM-studio (Copyright (c) 2023 Antoine-Vidal-Mazuy) をベースにしています
元のコード部分には MIT License が適用されます(詳細はLICENSE.origを参照してください)

ただし、私(No.0)が追加・変更した部分については MIT No Attribution (MIT-0) を適用します
したがって、私の著作権を表示する義務はありませんが、責任は負いかねます(詳細はLICENSEを参照してください)


スタートガイド(ローカル)

ブラウザ版(Windows)

run_dev.cmdをダブルクリックするか、ターミナルで.\run_dev.cmdを実行

ブラウザ版(Mac / Linux)

シェルでsh run_dev.cmdまたはbash run_dev.cmdを実行

デスクトップ版 (Tauri)

※注意!:
初めてコンパイルする際にものすごく色々インストールされるので、ウェブ版に比べてファイルサイズがかなり(4~8GBくらい)増えることが予想されます
ストレージに20GB以上余裕のある方以外は非推奨です

Rust環境(cargo)がインストールされている必要があります

  • rustupのサイトからrustup-init.exeをダウンロードしてきて実行してください

また、Windows環境でビルドエラー(linker link.exe not foundcannot open input file 'kernel32.lib')が発生する場合は、以下のツールが必要です
(※MSVCの前提条件というページにほぼ同じことが書かれています):

  • Visual Studio Build Tools 2022(「C++によるデスクトップ開発」ワークロード)

  • Windows 10/11 SDK(Visual Studio Installerの「個別のコンポーネント」からインストール可能)

    • 「C++によるデスクトップ開発」にチェックを入れた後、画面右側のオプションはこのチェックだけで動きます

    Visual Studio Installerの様子

  • 各項目のインストールが終了したら、ターミナルでnpm run desktopを実行

    • フロントエンド、バックエンド、そしてTauriアプリウィンドウが同時に起動します

以上でアプリケーションが実行されるはず
ブラウザで http://localhost:5002 にてフロントエンドにアクセスできる
(自分でpublic.envファイルを変更した場合は、http://localhost:[任意のPORT]になるので注意)

変数を変更する必要がありましたら env.md を参照のうえ、適宜書き換えて下さい

スタートガイド(Docker)

docker.md を参照してください

DAWIYプラグインの導入方法

  • DAWの画面内に対応するTypeScript(.ts)ファイルをドラッグアンドドロップする
  • 「DAWIYプラグイン」ウィンドウ → 手動でインストール → エクスプローラーを開いて対応する.tsファイルを選択

DAWIYプラグイン開発ガイド(開発者さん向け)

今までに自分で実装してきたこと

だいぶ大まかやけど・・・

DAW的な機能の部分

  • ピアノロール

    • ノートの追加・削除
    • 再生バー
    • ノートの伸び縮み
    • 直感的な範囲選択
    • ショートカットキー
    • ベロシティレーン
    • etc.
      • まだまだ改良の余地あり

    ピアノロール画面

  • dawprojectファイルの入出力機能の追加

    • dawprojectを読み込み、プロジェクトとして展開
    • DAW上のイベント等を読み取り、.dawprojectに出力

    dawproject読み込みの様子

  • オートメーション機能

    • WAM-Studioの時点で元々実装されてはいたが、仕様をよりCakewalkっぽいものに寄せてみた
  • VSTプラグインに対応

    • まだまだ不安定。VSTによってはクラッシュする可能性アリ

DIY的な機能の部分

  • DAWIYプラグインという概念を用意、実装

    • DAW の入出力・UI・操作等に介入する処理を拡張
      • ノート,オーディオ,パターンの生成
      • 既存のノートやオーディオデータを選択・加工
      • 楽曲情報の可視化・分析
      • 外部/独自ファイル形式の設計
      • 外観の変更,操作性の拡張
    • TypeScriptで自作可能
      • 指定したディレクトリ内部にファイルを配置することで利用可能
  • 作成例

    • Memo / Sticky Notes
      • 画面上にフリーハンドで線を描いたり、テキストボックスを自由に配置
    • Stochastic Note Generator
      • 確率的に音符を配置しメロディを生成
    • Sample IO & UI Plugin
      • 独自のファイル形式(. sampletext)の入出力に対応
  • プラグインのパッケージマネージャーのプロトタイプも実装

    パッケージマネージャー

  • 機能の自由な追加・削除には程遠い

    • サーバとの連携・インストール等々・・・ 課題は山積み
  • AIアシスタント機能を実装

    • GeminiやOpenAIのAPIを利用
    • 用途1. プラグイン開発のバイブコーディング
      • 自然言語で要望を入力
      • LLMがコードを生成
      • ユーザが承認
      • .tsファイルが自動生成される
      • ページをリロードするとプラグインとして反映される
      • 実行→テスト
    • 楽曲制作の補助
      • 自然言語で要望を入力
      • LLMが自動的に、
        • メロディの生成
        • トラック名の変更
      • 等、楽曲の情報に介入

連絡等

自作の関連文献


背景 / 現状 / 課題(何が不満なの?)

私は趣味でDTMをやっているのですが、DAWを使っているうちに、いくつか課題点や問題点を考えるようになりました。
まず、DAWごとに操作感や拡張子やフォーマットなどの環境が異なるため、共同で音楽制作を行うのが難しい、と思いました。
そして、DAWによってはサービスを終了してしまうので、それによって今まで使い慣れてきたDAWを手放すことになり、新しい環境で1から制作をやるのは中々面倒です。
次に、機能やUIなどで、「もっとこうだったらいいのに...」という不満を感じることがあります。

  • DAWによってはある程度設定を変更することで操作感や見た目を変えることが出来ますが、機能単位で、自分好みにカスタマイズ出来ると尚嬉しいな、と思いました。
  • もちろん、VSTプラグイン等のエフェクターやインストゥルメント系のプラグインは豊富にあり、多くのDAWではそれらが使えるようになっているので、音色や効果についてはユーザーはかなり自由に操作することができるのですが、もっと、制作フローというか、ワークステーションそのものを思い通りにカスタマイズ出来るといいな、ということです。

その背景を経ての目的(だから、どうしたい?)

これらの課題を解決するために、私は、「自分好みのDAW環境をDIYする、共通プラットフォームの構築」という研究テーマを掲げました。
このプラットフォームを私はDAWとDIYの造語で「DAWIY」と名付けました。
ユーザーそれぞれが自分好みの音楽制作環境を自ら構築出来るようにしたい、ということです。
要は音楽版のAviUtlを作りてぇなぁってことですよ

  • DAWでもユーザ主導の設計・展開を!
  • 誰もが機能を追加・改良できる「DAWツールキット」を開発したい
  • もっと思い通りに、もっと手早く、もっとわかりやすくやりたい
  • もっと自由に音作りがしたい!
  • 作曲を、もっと楽しく!
  • クリエイターが理想の環境を自力で手に入れ、音楽の可能性をさらに探究できる未来を目指す

その目的を達成するための要件 / 理想(何が出来れば満足?)

やや具体化して要件をいくつか挙げるとするなら、

  • 試したい新しい機能の自由な取捨選択が可能であること
    • AviUtlのプラグインのノリ。機能の開発も自分たちで出来ちゃう!
    • パッケージマネージャーがあると嬉しい
  • GUIを柔軟に調整出来ること
  • ショートカットキーなど、馴染みのある操作が可能であること
  • なるべくPCスペックに優しく、またOSによる不自由(Windows・Macだから導入出来ない、など)が少ないこと
  • 非プログラマーであっても、なるべく直感的に機能の追加・削除やUIの調整が行えること

などです。
理想形としては、「2人のDTMerがいた時に、それぞれ全く違う見た目・制作環境に見えるのに、実は内部的には同じフォーマットのプロジェクトファイルで動作しており、容易にファイルの共有や共同編集が出来てしまう」というイメージです。

実際に欲しい「試したい新しい機能」一覧

モチベアップのためにも具体的に書き出してみよう(出来そうか出来なさそうか既にありそうかどうかに関わらず)

  • DAWにMIDIアニメーション的な要素を追加
    • ピアノ系の動画みたいな良い感じの動画がさっと作れるといいよね
    • ピアノロールの上をちびキャラが走るとか良いのでは?
    • ピアノロールを操作可能な状態でそのまま縦にしてみたりとかね
  • 楽譜の作法をDAWに持ち込むシリーズ ‐ MIDIノートを音符表記(♪)にする
    • 楽譜の「繰り返し記号」のように、特定の再生位置に来たら自動的に別の再生場所にジャンプする
    • MuseScoreとか、楽譜エディタ系のほうで作曲してた人が、何らかの理由でDAWを利用しなければいけなくなった時に助かるかも?
  • UTAU-歌声合成ツール、NEUTRINOなど、音声合成ソフトウェアでのマルチトラック化
    • というかDAWの中で直接いじりたいよね(スタンドアロンのものが割とあるため)
      • ピアノロールに音素を打ち込めるようにできないかしら
  • メロディの確率的生成
    • GriCoでやった通りではある メロディのポン出しや、アイディア出しに使える?
    • とにかく、「新しいメロディ」なるよくわからないものを模索していた
    • パートのどこかに実験的に組み込むことで面白い効果があるかもしれない
  • AIに操作を代行させる
    • ウェブ系なら比較的やりやすいかもしれない
    • オーディオを生成してもらう、というよりは、「こういうエフェクトをかけたいんだけど手持ちのVSTの中から探してー」とか「ここからここまでのトラックに一括でこういう処理をしたいからやってー」とか「ここに適当にベース入れといてー」とか、自分にとってやりたくない、めんどくさい操作が仮にあったとしよう。それを代行してもらうことでモチベをなるべく下げずにやりたい操作に集中出来るのではないだろうか
  • UIの中にGIFを仕込んだり、イラストを入れたり、めちゃめちゃヲタクチックに見た目を魔改造
    • あんまり俺はやるほうじゃないけど、時々PCをこういう風にヲタク全開にしてる人いるじゃない。DAWもそういう見た目に改造出来たりしたらやる気出るんじゃない?(ピアノロール画面の背景とかにイラストを薄く差し込む、などなど)(ピアノロールの上をキャラに走らせる、とかも面白いかもしれない)
    • REAPERは既にプラグインなどの発達もあり結構UIいじれる印象
  • VSTプラグインをお手軽に試用する機能
    • 新しいプラグインが発売された時とかに、プロモーション動画とかよくあるけど、それだけじゃどういう使い勝手なのか、とか、実際自分が求めているものなのか、とか、わかり辛いところがある。
    • なので、無料トライアルとして、エフェクターなりインストゥルメンタルなり、一旦挿せる!
    • ただそれを試用している状態なら音声のエクスポートはできないなどで制限をかける、購入までのフローを構築
    • 申し込んだプラグイン、会社など、そのリストに登録されたものだけを試用出来るようにする(世の中の全てのVSTプラグインを試用出来るようにしろと言っているわけではない)
    • 宣伝にもなるし、トライアルから購入までをDAW内でシームレスに出来ると、売上も上がるんじゃないかな(希望的観測)
  • ピアノロールを微分音等のように音律をいじれるようにする
    • 現在の微分音作曲環境は厳しい、手間がかかる、めんどい
      • Ableton Liveとかならそれらしいことが出来るみたい?
    • もっとお手軽に直感的に微分音作曲が出来るようにしたい
    • ピアノロールのそれぞれのHz等を細かく指定出来たりすると良いのではないか
    • インストゥルメンタル側も対応している必要がある
    • 駒沢大が関係のあることをやっていたはず
  • ピアノロールからピアノ要素を消す、アナログに周波数を変化させられるようにする(ピッチを描く!)
    • もう出来るプラグイン自体はあるはず
    • 要はCeVIOとかならピッチが描けるけど、それの楽器版をやりたいってこと
    • ヴァイオリンやギターなどの弦楽器ならわかりやすいと思う
    • ピアノとかドラムとか、本来音程がデジタル的なもの(?)でピッチを曲線にすると新しい音作りが出来るのではないか?
    • これの応用で、SVGとか、PNGとか、画像ファイルなどを取り込んでピッチに変換し、音にしてしまう、というのは、そういうコンセプトの曲とかMVとかならアリなのでは
      • MIDIアートの亜種、もっと解像度高い版?
      • これは既にありそう
  • 再生する度に演奏が(MIDI配列などの大規模なものから、若干響きが変わるみたいな軽度のものまで)変化する音源の作成
  • バイノーラルなど、立体音響、3D音響などの制作をもっと手軽に
    • 現行のDAWでも5.1chとか割とあるが、有料のものが多い印象
    • これは実際そこまで触れてないのでにわか状態、そこまで実現したいのかどうかもわからん
  • フォルダーに入ってる音源達の波形を分析して、元のオーディオに似た波形を毎秒探してコラージュして似たようなオーディオを再生成する、自動音MAD製造機
    • こいつはVSTプラグインのノリな気もするが、まぁブレインストーミングなので...
  • 純粋にマクロ機能が欲しい
    • AI代行でも似たようなことは言ったが、VBAのノリで、手動でも出来る操作を記憶させて、関数を選択して一括で自動的に実行してもらう、ということが出来ると嬉しいんじゃないだろうか
      • コミュニティでマクロを共有なんかあるとより良い
  • VSTプラグインのツリー構造をもっとわかりやすく
    • プラグインマネージャーでいくらでも出来るという意見は首肯。これは私が手を抜いているところが多分にありますごめんなさい
    • ただ、プラグインのサムネイルを表示、というかですね、パット見でどんなプラグインなのか、どういう機能があるのか、今欲しいやつなのかがわかると嬉しいと思うんですよ
    • 現行の作業だと一旦挿入して起動させて触ってみてやっとどういう働きをするかがわかるのでね
  • それこそLLMを組み込んで作曲を実践しながら音楽理論とかDAWの使い方とかの講座を家庭教師みたいに個々人に合わせてフレキシブルに出来たら面白いかもね
    • とにかく、最近Copilot君とかLLMがPCを操作出来るムーブメントが来ているので、そのままLLM君がDAWを操作出来る、という時代が来れば得られるものは大きいと思っている
  • オンライン同期リアルタイム同時共同音楽制作(アホみたいなネーミング)
  • 動画編集、MV制作などと合体
    • 制作する動画にMIDIの情報をリアルタイムに反映させたり、打ち込んだ歌詞をそのまま字幕情報として利用するなどして、今よりも楽にMVもどきが作れるかも
    • DAWを録画してちょっと編集して投稿、みたいな動画結構あるじゃないですか。あれをもっと華やかに出来ればなーとか
  • デイリーミッション的なものをつけてみる?
    • やはり毎日コツコツやるのが大事なので、チェックボックス的な?デイリーミッション的な?報酬はよくわからんけど
    • 少しずつでもいいからちょっとずつ進める、進めざるを得ない、といった状態は欲しいかもしれない
  • 意見は随時募集。要はもっと楽して思い通りの曲が作りたいんですよ、作曲の美味しい場所だけ食べていたいんですよ、人間って怠惰なんですよ、そんなもんすよね
    • 実は大半の機能がMaxで出来てしまうのではないかという恐怖が常につきまとい続ける
    • 「既存のこれを使えば出来そう」というものが見つかり次第書き込みたいところ
    • とにかくかゆいところに手を届けようぜ

About

「自分好みのDAW環境をDIYする共通プラットフォーム」...を目指している

Topics

Resources

License

MIT-0, MIT licenses found

Licenses found

MIT-0
LICENSE
MIT
LICENSE.orig

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 93.7%
  • TypeScript 2.3%
  • HTML 2.2%
  • Java 1.0%
  • SCSS 0.3%
  • CSS 0.2%
  • Other 0.3%