Skip to content

Commit 99fa9e1

Browse files
committed
docs: update readme
1 parent 53282d9 commit 99fa9e1

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

README.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
# MIDI-FX
22

3-
MIDI-FX is a powerful tool for transforming and analyzing MIDI messages in creative ways. Its node graph architecture offers a high degree of flexibility, making it a valuable tool for enhancing musical performances.
3+
MIDI FX is a Free and Open Source MIDI Effects Processor. It uses a node graph architecture to let you build your own effects by freely connecting nodes together.
44

55
![Screenshot](/Screenshot.png)
66

7-
### Highlights
7+
### Things you can do with it
88

9-
- Installable Web App (cross-platform + offline support)
10-
- Transform MIDI (e.g. transpose, delay notes, convert velocity to CC)
11-
- Analyze MIDI (e.g. visualize CC changes, identify chords)
12-
- Web Serial API support (so you can receive MIDI from an Arduino)
9+
- Change the note number, velocity, or channel of MIDI messages
10+
- Convert Note Velocities into Continuous Change (MIDI CC) messages
11+
- See the name of the chord you're playing
12+
- See the value of a CC control as it changes
13+
- Practice playing chords on your MIDI keyboard
14+
- Wirelessly send MIDI messages between your devices via WebRTC
15+
- Convert an Arduino's Serial output to MIDI messages
16+
- ... and much more!
1317

14-
## How to use
18+
> This project is in it's early stages. I'm interested in learning how it can evolve, so testing and feedback is very much appreciated.
19+
20+
## Setup
1521

1622
Simply head to the deployed version at [danferns.github.io/midi-fx](https://danferns.github.io/midi-fx/).
1723

@@ -21,29 +27,23 @@ Most Chromium based browsers will work well. Firefox does not support the Serial
2127

2228
You will need to set up a virtual loopback device to forward the messages from MIDI-FX to your DAW and vice-versa. On Windows, you can accomplish this with [loopMIDI](https://www.tobias-erichsen.de/software/loopmidi.html).
2329

24-
## How it works
25-
26-
All nodes are implemented as their own Svelte components. This means that nodes can also access native Web APIs and customize their UI as needed.
27-
28-
Nodes can have multiple inputs and outputs. Each input is actually a function that is called for every MIDI message sent to it. Here's an input that simply logs the messages it receives:
30+
Create a port in loopMIDI. In your DAW, make sure to enable this port.
2931

30-
```ts
31-
(status: number, data1: number, data2: number) => {
32-
console.log(`Status: ${status} Data 1: ${data1} Data 2: ${data2}`);
33-
};
34-
```
35-
36-
An output is a `Set` of inputs (the functions). When an input is connected to an output, it is added to the `Set` that the output represents.
32+
## How to use
3733

38-
Under the hood, when a message is emitted through an output, all the inputs (the functions) in its `Set` are called, with the outgoing message bytes as their arguments.
34+
MIDI FX will generally lie *between* your MIDI input device and your DAW or hardware synth, etc. Start by adding the `External Input` and `External Output` nodes. Connect them together to check that the MIDI messages pass through transparently. Next, try adding some node between them like the Delay or Transpose, to see how MIDI-FX transforms the messages.
3935

4036
## Contributing
4137

42-
Thank you for your interest in contributing to MIDI-FX! To make development a better experience for all of us, this project is undergoing a major refactor, due to which I'm currently not accepting contributions. Please check back in a few weeks for any updates!
38+
Thank you for your interest in contributing to MIDI-FX! Contributions are very welcome. Here are some ways you can do it:
39+
40+
- Share MIDI FX presets or tips and tricks with the [Community](https://github.com/danferns/midi-fx/discussions/categories/show-and-tell).
41+
- Provide feedback, feature requests or bug reports in the GitHub Issues
42+
- Create a PR when there is a clear solution to the Issue
4343

4444
## License
4545

46-
Copyright (C) 2022 Daniel Fernandes
46+
Copyright (C) 2022-2024 Daniel Fernandes
4747

4848
This program is free software: you can redistribute it and/or modify
4949
it under the terms of the GNU General Public License as published by

0 commit comments

Comments
 (0)