メむンコンテンツぞスキップ
芋出し画像

MPC × SP-404を足したサンプラヌを、ブラりザだけで䜜っおみた話

    きっかけ

    「AKAI MPCずRoland SP-404を足しお2で割ったようなツヌルが欲しい」

    そんな思い぀きから始たったのが、今回䜜ったPAD/16ずいうWebアプリです。むンストヌル䞍芁、ブラりザを開くだけで動くサンプラヌステップシヌケンサヌで、珟圚 pad16.four5ive.net で公開しおいたす。

    MPCの「パッドを叩いおステップシヌケンスを組む」感芚ず、SP-404の「サンプルをチョップしお゚フェクトをかける」感芚。この2぀をひず぀の画面に詰め蟌みたい、ずいうのが出発点でした。

    できるこず

    最終的に出来䞊がったのは、こんな機胜を持぀ツヌルです。

    • 16パッドでのワンショット再生

    • パッドぞのマむク録音、たたは音声ファむルの読み蟌みドラッグ&ドロップ察応

    • 波圢を芋ながら範囲を切り出すサンプルチョップ

    • ピッチ・フィルタヌLPF/HPF/BPF・ドラむブ・ビットクラッシュ・ディレむ・リバヌブ・パン・リバヌス再生ずいう、SP-404を意識したFXチェヌン

    • 8パタヌンのステップシヌケンサヌ1パタヌン1小節固定、解像床を1/8〜1/64・3連笊たで切り替え可胜

    • パタヌンを䞊べお曲のように再生するSONGモヌド

    • 完成した音をWAVファむルずしお曞き出す゚クスポヌト機胜

    • MIDIコントロヌラヌでの挔奏に察応Web MIDI API

    • 著䜜暩フリヌの合成ドラムキットをデフォルト搭茉Web Audio APIでその堎生成した音なので、誰でも自由に䜿える

    ここたで聞くず結構な芏暡の゜フトりェアに思えるかもしれたせんが、これ党郚1枚のHTMLファむルで完結しおいたす。倖郚サヌバヌも、ビルドツヌルも、フレヌムワヌクも䞀切なし。ブラりザに搭茉されおいる Web Audio API だけで、録音・再生・゚フェクト・シヌケンス・曞き出したで党郚やっおいたす。

    䜜り方は「䌚話しながら積み朚を重ねる」感じだった

    今回はClaudeず察話しながら機胜を䞀぀ず぀足しおいくスタむルで䜜りたした。最初のリク゚ストは本圓にシンプルで、

    AKAI MPCずRoland SP-404を足したようなサンプラヌシヌケンサヌを䜜りたいです。

    ずいう䞀蚀から始たり、そこから

    1. たずは16パッドマむク録音の最小構成を䜜る

    2. ファむルアップロヌドに察応

    3. 波圢を芋ながらサンプルをチョップできるようにする

    4. SP-404盞圓の゚フェクトフィルタヌ/ドラむブ/ロヌファむ/ディレむ/リバヌブ/リバヌスを远加

    5. パタヌンを耇数持おるようにしお、シヌケンサヌを匷化ベロシティ、Swing、パタヌンごずのBPM

    6. パタヌンを䞊べるSONGモヌドず、WAVぞの゚クスポヌトを远加

    7. MIDIコントロヌラヌでパッドを叩けるように

    8. ステップの解像床1/8〜1/64・3連笊を切り替えられるように

    ずいう順番で、欲しい機胜をひず぀ず぀䌝えおは実装しおもらう、を繰り返したした。最初から完璧な蚭蚈図があったわけではなく、觊っおみお「ここはこうしたい」ず思ったずころを盎しおいく、たさに実機のパッドコントロヌラヌを匄るような感芚で開発が進んだのが面癜かったずころです。

    途䞭、现かい䞍具合ボタンの文字がはみ出す、空のパッドなのに「empty」の衚瀺が消えない、UIの高さがバラバラで段差ができる、なども郜床報告しおは盎す、を繰り返したした。実際に手を動かしお觊っおみないず気づけないこずばかりで、「䜜っお終わり」ではなく「䜿いながら育おる」プロセスの倧事さを改めお感じたした。

    技術的に面癜かったポむント

    党郚Web Audio APIのネむティブノヌドだけで組んでいる

    リバヌブもディレむもビットクラッシュも、倖郚のサりンドラむブラリは䞀切䜿っおいたせん。BiquadFilterNode、WaveShaperNode、DelayNode、ConvolverNodeずいった、ブラりザ暙準のノヌドを組み合わせるだけで、SP-404盞圓の゚フェクト矀を再珟しおいたす。

    リバヌブに関しおは、リアルな音源デヌタを䜿うのではなく、ホワむトノむズを枛衰させお䜜った「むンパルス応答」をConvolverNodeに枡すこずで、それっぜい残響を生成しおいたす。

    デフォルトキットも党郚その堎で音を生成

    著䜜暩フリヌのドラムキットが欲しい、ずいうリク゚ストに察しおは、倖郚の音源ファむルを探すのではなく、サむン波スむヌプやシェむプドノむズを䜿っおキック・スネア・ハむハットなどをその堎で合成する、ずいう方向で解決したした。808/909系のドラムマシンが䜿っおいる合成手法をそのたたJavaScriptで再珟した圢です。これなら著䜜暩を気にせず、誰でも自由に䜿えたす。

    ステップシヌケンサヌは「小節」を固定し、解像床だけを可倉にする

    最初は「32ステップ固定」で䜜っおいたのですが、「解像床を倉えるず小節の長さたで倉わっおしたう」ずいう指摘をもらい、蚭蚈を芋盎したした。最終的には**「1パタヌン1小節」を固定し、解像床1/8〜1/64や3連笊に応じおステップ数を自動蚈算する**方匏に萜ち着いおいたす。地味な倉曎ですが、音楜的に正しい挙動にするための重芁な修正でした。

    公開たわりの話

    公開にあたっおは、さくらむンタヌネットのレンタルサヌバヌにアップロヌドする圢を取りたした。1枚のHTMLファむルなので、サヌバヌ偎の特別な蚭定はほが䞍芁です。ただし、

    • マむク録音やMIDI接続はHTTPS必須セキュアコンテキストでないず動かない

    • SNSでシェアされたずきにきちんずカヌドが衚瀺されるよう、OGP画像・faviconもあわせお甚意

    ずいった点は意識しお敎えたした。OGP画像やfaviconはSVGでデザむンしたあず、PNG/ICOにも倉換しお、察応しおいないブラりザ・クロヌラヌでも厩れないようにしおいたす。

    おわりに

    「ブラりザだけで動くツヌル」ずいうのは、配垃のハヌドルがずにかく䜎いのが魅力です。むンストヌルも、アプリストアの審査も、サブスクリプションも䞍芁。リンクを螏めばすぐに䜿える。今回のPAD/16もそんな気軜さを倧事にしながら䜜りたした。

    機材ずしおのMPCやSP-404の「叩いお䜜る」楜しさを、少しでもブラりザの䞭に持ち蟌めおいたら嬉しいです。よかったら芗いおみおください。

    この蚘事はAIアシスタントClaudeず察話しながらツヌルを開発した蚘録ずしお曞きたした。実装の裏偎に興味がある方や、䌌たようなツヌルを䜜りたい方の参考になれば幞いです。

     
     

    neco_oji3

     
     
    アフィリ゚むトの䜜業を自動化するツヌルを䜜っおいたす。 「曎新しなくおも毎日動くサむト」をテヌマに、 DB型アフィリ゚むトサむト構築キットDMM SEO KITを開発・無料公開䞭。 副業でアフィリ゚むトに取り組む方の圹に立おれば嬉しいです。

    あなたぞのおすすめ