Skip to content

Commit

Permalink
chore: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
triyanox committed Jul 25, 2024
1 parent 0db9818 commit 7a15ea7
Showing 1 changed file with 63 additions and 101 deletions.
164 changes: 63 additions & 101 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,106 +1,68 @@
# Da.Synth (ダ・シンセ)

Welcome to Da.Synth, my playground for web-based synthesis! As a music producer and sound design enthusiast, I've always been fascinated by the innovative and quirky instruments from Teenage Engineering. This project is my attempt to bring some of that playful spirit into the browser.

[**Try Da.Synth Now!**](https://da-synth.achaq.dev)

⚠️ **Note**: This is very much a work in progress...

![Da.Synth Screenshot](.github/preview.jpeg)

## What's This All About?

Da.Synth is my experiment in creating a web-based synthesizer that captures the essence of boutique hardware synths. It's not trying to be a pro-level tool (at least not yet!), but rather a fun, quirky playground for sound experimentation.

## The Inspiration

As someone who loves tinkering with [Teenage Engineering](https://teenage.engineering/)'s products, I wanted to create something that captures their spirit of making music production accessible and fun. While I'm no DSP expert, I've tried to infuse some of that TE magic into this project:

- Embracing happy accidents and weird sounds
- Keeping things visually interesting (even if not always practical)
- Trying to strike a balance between simplicity and depth

### Current Features [WIP]

- A bunch of oscillators you can mess with
- Effects effects effects
- A UI that's trying its best to look cool
- The ability to save your happy accidents as presets

### Upcoming...

- Optimizing... everything [Probaby rewrite the damn thing in rust, jk 😅]

## Available Effects

Da.Synth comes with a variety of effects to shape your sound. Some are classic staples, while others are more experimental. Here's what's currently available:

### Standard Effects
1. Chorus
2. Compressor
3. Delay
4. Distortion
5. Filter
6. Flanger
7. Limiter
8. Phaser
9. Reverb
10. Stereo Widener
11. Tremolo

### Experimental Effects (*)
These effects are more experimental and may be a bit unstable:

12. Bitcrusher
13. Dimension Expander
14. Formant Filter
15. Granular
16. Ping Pong Delay
17. Sonic Transformer
18. Spectral Shaper

*Note: Effects marked with (\*) are experimental and may have bugs or unexpected behavior. But that's where the fun begins! just save relaod and try again 😅*

### Effect Chain
You can chain these effects in any order you like, creating unique and sometimes bizarre sound transformations. Feel free to experiment and find your own signature sound!



## Under the Hood

I'm building this with:
- [Next.js](https://nextjs.org/) (for the web stuff)
- [React](https://react.dev/) (for the knobs and buttons) ft. [shadcn-ui](https://ui.shadcn.com/):

The UI is built with React, using a mix of custom components and libraries like shadcn-ui. I'm trying to keep things simple and fun, with a focus on interactivity and visual feedback.

- Web Audio API (for all the bleeps and bloops):

I'm using the Web Audio API to handle all the audio processing. This includes generating sound waves, applying effects, and mixing everything together. It's a powerful tool that lets you create custom audio processing pipelines in the browser.

- Audio Worklets (for the heavy lifting and cool effects):

Audio Worklets are a new-ish feature that allows you to run custom audio processing code in a separate thread. This is great for performance and opens up a lot of possibilities for creating custom audio effects and synths. (I didn't use ScriptProcessorNode because it's deprecated and I like to live on the edge.)

## Goals

- Learn more about DSP and audio programming
- Create a fun, web-based playground for sound design
- Maybe, just maybe, create something that others find interesting or useful

## Current State

This project is in its early stages, so expect bugs, missing features, and general weirdness. I'm actively working on it, so feel free to check back for updates!

## Contributing

If you're interested in contributing, feel free to fork this repo and submit a PR. I'm open to suggestions, bug reports, and any other feedback you might have. Just keep in mind that this is a personal project, so I might not be able to address everything right away but don't forget to star while you're at it! ⭐


## License

Da.Synth is open-source software licensed under the MIT license. Feel free to use it, learn from it, or laugh at it!
## what's this?
a web-based synth playground.
inspired by quirky hardware.
made for happy accidents.

[play now](https://da-synth.achaq.dev)

⚠️ work in progress. expect weirdness.

![Da.Synth in action](.github/preview.jpeg)

## features (so far)
- oscillators (lots)
- effects (more than necessary)
- ui (trying its best)
- presets (save your mistakes)

## coming soon
- everything, but better

## the toybox
### standard tools
1. chorus
2. compressor
3. delay
4. distortion
5. filter
6. flanger
7. limiter
8. phaser
9. reverb
10. stereo widener
11. tremolo

### experimental toys*
12. bitcrusher
13. dimension expander
14. formant filter
15. granular
16. ping pong delay
17. sonic transformer
18. spectral shaper

*might break. that's half the fun.

## how it works
- next.js (web stuff)
- react (knobs and buttons)
- web audio api (bleeps and bloops)
- audio worklets (the magic)

## why?
- to learn
- to play
- to make noise

## can i help?
sure! fork, tinker, break things.
just remember to star ⭐

## fine print
MIT license. use it. learn from it. laugh at it.

---

Now excuse me while I go back to twisting knobs and making weird noises! 🎶✨
now go make some noise! 🎶✨

0 comments on commit 7a15ea7

Please sign in to comment.