Skip to content

Commit

Permalink
Screencast uploaded, READMEs updated!
Browse files Browse the repository at this point in the history
- Technical screencast added to Docs/Video
- Readme in Docs/Video updated
- Readme in Docs updated
- Readme in root updated
  • Loading branch information
Mangoshi committed May 11, 2023
1 parent eda9d51 commit 724ab0d
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 55 deletions.
5 changes: 3 additions & 2 deletions Docs/README.md
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.
18 changes: 14 additions & 4 deletions Docs/Video/README.md
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)
139 changes: 90 additions & 49 deletions README.md
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)

1 comment on commit 724ab0d

@vercel
Copy link

@vercel vercel bot commented on 724ab0d May 11, 2023

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

Please sign in to comment.