Skip to content

An offline-first, collaborative music production workstation (DAW) running entirely in the browser. Features real-time P2P sync, AI drum generation, and a Tone.js audio engine.

License

Notifications You must be signed in to change notification settings

mreshank/Notater

Notater

Capture your sound using the web. Anywhere. Instantly.

License: MIT Build Status TypeScript Next.js Tone.js

Notater is an offline-first, collaborative music production environment running entirely in your browser. No installs, no accounts required to start—just open the link and make noise.


🎹 Why Notater?

We're building the "Google Docs for Music Production".

  • 🤝 Real-time Collaboration: Jam with friends instantly via P2P WebRTC. No central server latency for note updates.
  • 🔊 Pro Audio Engine: Built on Tone.js, featuring polyphonic synthesizers, samplers, and a complete effects chain (Reverb, Delay, EQ).
  • 🥁 AI Drummer: Stuck on a beat? Let our generative AI assist you with drum patterns.
  • 📱 Install Everywhere: A fully capable PWA that works offline on iOS, Android, and Desktop.

🚀 Quick Start

Get your local studio running in 30 seconds.

# 1. Clone the repo
git clone https://github.com/mreshank/Notate.git
cd Notate

# 2. Install dependencies (we use pnpm)
pnpm install

# 3. Start the Studio
pnpm --filter notater-pwa dev

Open http://localhost:6951 and turn up your volume. 🔈

🛠️ Architecture

Notater is a modern monorepo built for speed and scale.

Package Purpose Stack
apps/web The Studio (PWA) Next.js 14, Zustand, Tailwind
packages/core Headless music logic pure TypeScript
packages/cli Automation tools Commander

For a deep dive into how the Audio Engine and P2P Sync work, check out the Architecture Guide.

🗺️ Roadmap

  • Core Engine: PolySynth, Drum Sampler, Sequencer.
  • PWA: Offline support, installability.
  • P2P Sync: Real-time session joining via WebRTC.
  • Cloud Save: Persist projects to database.
  • VST Support: Load WebAudio plugins.
  • Export: Mix down to WAV/MP3.

🤝 Contributing

We love contributors! Whether you're fixing a typo or rewriting the synth engine, we welcome your help.

Read our Contributing Guide to get started.

  1. Fork it (https://github.com/mreshank/Notate/fork)
  2. Create your feature branch (git checkout -b feature/cool-synth)
  3. Commit your changes (git commit -m 'feat: Add FM synthesis')
  4. Push to the branch (git push origin feature/cool-synth)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ by mreshank

About

An offline-first, collaborative music production workstation (DAW) running entirely in the browser. Features real-time P2P sync, AI drum generation, and a Tone.js audio engine.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages