generated from pietschj/y4Project_repo
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Screencast uploaded, READMEs updated!
- Technical screencast added to Docs/Video - Readme in Docs/Video updated - Readme in Docs updated - Readme in root updated
- Loading branch information
Showing
4 changed files
with
107 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# project_y4 | ||
## Documentation | ||
Save your report here converted as a .pdf file. | ||
Please find the thesis for MS24 included alongside this file, in the `Docs` folder. | ||
|
||
The technical screencast is also included, in the `Docs\Video` folder. |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,14 @@ | ||
# Project_y4 DL836 | ||
## Video | ||
Save your video file here. | ||
This should contain a walkthrough your project with a voice-over. | ||
## Technical Screencast | ||
It was suggested that we upload the technical screencast to GitHub. | ||
|
||
However, since GitHub has a 100 megabyte file size limit, I've had to **highly** compress the 1.3 gigabyte video. | ||
|
||
As a result, the video is quite blurry, but it should still be watchable! | ||
|
||
Just in case you have trouble viewing the video, I have included a link to the video on YouTube below. | ||
|
||
I have also included a link to the video on my Google Drive, in case you want to download it. | ||
|
||
## [YouTube Link](https://youtu.be/U1PeNP-I0Ag) | ||
|
||
## [Google Drive Link](https://drive.google.com/file/d/1anWmi7Z2ECgtEkrIN7bikdldgvdncjGa/view?usp=share_link) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,49 +1,90 @@ | ||
## N00191671_Y4_FYP: MS24 | ||
|
||
Welcome to the MangoSynth24 repository! | ||
|
||
This repo contains the source code for my project. | ||
|
||
Eventually it will also contain the report and a screencast. | ||
|
||
It is being hosted [here](https://ms24.vercel.app/), deployed using Vercel. | ||
|
||
Feel free to play around with it, but bear in mind it's still very much in development. | ||
|
||
|
||
### Technologies | ||
|
||
- [x] [TailwindCSS](https://tailwindcss.com/) | ||
- [x] [Vite](https://vitejs.dev/) | ||
- [x] [Tone.js](https://tonejs.github.io/) | ||
- [x] [webaudio-controls](https://github.com/g200kg/webaudio-controls) | ||
|
||
<hr/> | ||
|
||
<details> | ||
<summary>Project Guidelines</summary> | ||
|
||
``` | ||
Please note: | ||
You have to submit your code using Github classroom. | ||
You are expected to submit regularly during each sprint. | ||
You should track issues and errors and describe these changes in your implementaiton chapters. | ||
Use branches to distinguish between different stages. | ||
Please note: | ||
* NO files larger than 100 MB can be committed using Github | ||
* If you wish to use larger files that this investigate the large file storage (LFS) option. | ||
* Include an appropriate .gitignore file for your source code. | ||
## Source Code | ||
Upload your source the code for your project to the "Source" folder | ||
## Report | ||
Upload your report to the "Docs" folder as a .pdf. You also have to submit this as a TurnItin document. | ||
## Screencast | ||
Create a walkthrough of your project with a voice-over. Upload a .mp4 file to video. | ||
``` | ||
</details> | ||
# MangoSynth24 (MS24) | ||
|
||
![MangoSynth24](img/logo.png) | ||
|
||
Welcome to the MS24 repository! 🥭 | ||
|
||
This repo contains the source code for my final year project. 🎓 | ||
|
||
You can find my thesis in the `Docs` folder [here](Docs/SDM_N00191671_Y4_MangoSynth_Dissertation-FINAL.pdf). 📜 | ||
|
||
You can find my technical screencast in the `Docs\Video` folder [here](Docs/Video/MS24_TechnicalScreencast_Compressed.mp4). 🎬 | ||
|
||
You can try out MS24 [here](https://ms24.vercel.app/), where it is hosted through Vercel. 🌐 | ||
|
||
|
||
## 🎹 Features | ||
#### Synth Features | ||
- 2x FM Oscillators | ||
- 1x AM Sub Oscillator | ||
- ADSR Envelopes (per-oscillator) | ||
- Unison Controls (per-oscillator) | ||
- Arpeggiation (per-oscillator, synced to BPM) | ||
- Multi-filter (LP, HP, BP, AP, Notch, LS, HS) | ||
- Low-Frequency Oscillator (LFO) | ||
- 9x FX to choose from: | ||
- Distortion | ||
- Chebyshev | ||
- Phaser | ||
- Tremolo | ||
- Vibrato | ||
- Delay | ||
- Reverb | ||
- Pitch Shift | ||
- Frequency Shift | ||
#### App Features | ||
- Light/Dark Mode | ||
- Preset System (with 16 default presets) | ||
- MIDI Support (including MIDI Learn) | ||
- Audio Recording & Exporting (lossless WAV) | ||
- Oscilloscope Visualizations | ||
- Tooltips | ||
|
||
## 🎮 Controls | ||
#### Playing Keys | ||
- **Mouse**: Click on the virtual keyboard to play notes. | ||
- **MIDI Keyboard**: Ensure it's connected before loading the page, then use normally. | ||
- **Computer Keyboard**: The image below shows which keys can be used. | ||
|
||
![Computer Keyboard](img/controls.png) | ||
|
||
#### Knobs & Sliders | ||
- Click and drag to adjust values. | ||
- You can also scroll with the mouse wheel to adjust values. | ||
- You can also type in values directly. | ||
- Hold ``SHIFT`` while adjusting to fine-tune. | ||
- Hold ``CTRL`` and click to reset to default value. | ||
- Right-click to open the MIDI-learn context menu. | ||
|
||
#### Buttons | ||
- Click on the green buttons to toggle major synth components. | ||
- Click on the purple buttons to toggle oscillator arpeggiators. | ||
|
||
#### Selectors | ||
- Click on the LFO or FX select boxes to change modulation target or effect type. | ||
|
||
## ⚙ Installation | ||
#### Electron App | ||
1. Go to the [Releases](https://github.com/IADT-projects/y4-project-Mangoshi/releases/tag/releases) page. | ||
2. Download the latest release (Windows only for now). | ||
3. Run the installer. | ||
4. Enjoy! | ||
#### Local Hosting | ||
1. Clone the repo. | ||
2. Run `npm install` to install dependencies. | ||
3. Run `npm run dev` to start the dev server. | ||
4. Open `localhost:3000` in your browser. | ||
5. Enjoy! | ||
|
||
## 📡 Technologies | ||
- JavaScript (Vanilla) | ||
- HTML | ||
- [TailwindCSS](https://tailwindcss.com/) | ||
- [Vite](https://vitejs.dev/) | ||
- [Tone.js](https://tonejs.github.io/) | ||
- [P5.js](https://p5js.org/) | ||
- [webaudio-controls](https://github.com/g200kg/webaudio-controls) | ||
- [extendable-media-recorder](https://github.com/chrisguttandin/extendable-media-recorder) | ||
- [extendable-media-recorder-wav-encoder](https://github.com/chrisguttandin/extendable-media-recorder-wav-encoder) | ||
- [vite-plugin-top-level-await](https://github.com/Menci/vite-plugin-top-level-await) | ||
- [browser-dtector](https://github.com/sibiraj-s/browser-dtector) |
724ab0d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs:
ms24 – ./
ms24-git-master-iadt.vercel.app
ms24.vercel.app
ms24-iadt.vercel.app