Skip to content

Commit b334eb5

Browse files
v.1.2.0
1 parent 6a9e657 commit b334eb5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+306
-1566
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# JSS-01 |JavaScript Software Synthesizer
2-
# Copyright (c) 2023 Michael Kolesidis
2+
# Copyright (c) 2023 Michael Kolesidis <michael.kolesidis@gmail.com>
33
# GNU Affero General Public License v3.0
44

55
# dependencies

CHANGELOG.md

+19-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# 1.2.0
2+
3+
### Changes
4+
5+
- Fixed computer keyboard playability (language-independent)
6+
- Rewritten keyMapper and midiToNoteString in a concise and optimal way
7+
- Added checks for TypeScript
8+
- Optimized the size of all PNG and SVG images
9+
- Code cleanup
10+
- Updated all dependencies to their latest versions
11+
- Fixed typos in all readme files
12+
- Minor documentation updates
13+
- Minor updates and corrections
14+
115
# 1.0.6
216

317
### Changes
@@ -55,7 +69,7 @@
5569
- When using the on-screen and/or the computer keyboard, if playing multiple notes, the synthesizer stops playing all notes if at least one note is released
5670
- Partials sections don't work
5771
- High CPU load and performance issues
58-
- Opening the Dev Tools in Chrome results to severe performance detoriation: the app becomes unresponsive and crushes
72+
- Opening the Dev Tools in Chrome results to severe performance deterioration: the app becomes unresponsive and crushes
5973
- Severe performance issues on Firefox
6074

6175
# 0.5.3
@@ -72,7 +86,7 @@
7286
- When using the on-screen and/or the computer keyboard, if playing multiple notes, the synthesizer stops playing all notes if at least one note is released
7387
- Partials sections don't work
7488
- High CPU load and performance issues
75-
- Opening the Dev Tools in Chrome results to severe performance detoriation: the app becomes unresponsive and crushes
89+
- Opening the Dev Tools in Chrome results to severe performance deterioration: the app becomes unresponsive and crushes
7690
- Severe performance issues on Firefox
7791

7892
# 0.5
@@ -91,7 +105,7 @@
91105
- Distortion
92106
- Bit crusher
93107
- Frequency shifter
94-
- Chebyshev waveshapping
108+
- Chebyshev waveshaping
95109
- Responsive effects section
96110
- Synthesizer engine refactoring
97111
- Synthesizer effects connectivity
@@ -135,8 +149,8 @@
135149

136150
### Changes
137151

138-
- Computer keyboard playbility
139-
- 16 notes playble (one octave + 4 notes) using keys (A-L and W-P)
152+
- Computer keyboard playability
153+
- 16 notes playable (one octave + 4 notes) using keys (A-L and W-P)
140154
- Octave up/down (using Z,X keys)
141155
- Amplitude envelope section
142156
- Attack, decay, sustain, release bars

CITATION.cff

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ keywords:
3030
- MIDI keyboard
3131

3232
license: GNU Affero General Public License v3.0
33-
version: 1.0.6
33+
version: 1.2.0
3434
date-released: "2022-07-08"

README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
[![made-with-typescript](https://img.shields.io/badge/Made%20with-TypeScript-01004c.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
77
[![MIT license](https://img.shields.io/badge/License-AGPLv3-01004c.svg)](https://www.gnu.org/licenses/agpl-3.0.html)
8-
[![Version](https://img.shields.io/badge/version-1.0.6-01004c.svg)](https://shields.io/)
8+
[![Version](https://img.shields.io/badge/version-1.2.0-01004c.svg)](https://shields.io/)
99
[![Netlify Status](https://api.netlify.com/api/v1/badges/93c42090-6fc9-4c3d-a462-42b535ea9d15/deploy-status)](https://app.netlify.com/sites/javascript-software-synthesizer/deploys)
1010

1111
## Technologies Used
@@ -111,9 +111,9 @@ In order to use your [MIDI keyboard](https://en.wikipedia.org/wiki/MIDI_keyboard
111111
<img width="900px" src="./screenshots/elements/sequencer.png">
112112
Right above the on-screen keyboard you can find the Sequencer. There is an included sequence preinstalled, so you can just press the <strong>Play button</strong> and listen to it. <br><br>
113113

114-
The first input from the left controls the rate of the sequence (speed). The second input is the base value of the notes of the sequence (16n stands for a 16th note value, 8n for an 8th and so on). You can input your own sequences in the main input by writing the sequence of the desired notes in this form: <strong>"C4", "F5", "D2"\*\*</strong>. You can include parts with notes of half the base value by including them in brackets, ex. <strong>"C4", ["F5", "D2"]</strong>. In this examples, if the base value is 16n (16th notes), C4 will have a value of 16th, and each of the F5 and D2 will have a value of 32th (or a value of a 16th combined).
114+
The first input from the left controls the rate of the sequence (speed). The second input is the base value of the notes of the sequence (16n stands for a 16th note value, 8n for an 8th and so on). You can input your own sequences in the main input by writing the sequence of the desired notes in this form: <strong>"C4", "F5", "D2"\*\*</strong>. You can include parts with notes of half the base value by including them in brackets, ex. <strong>"C4", ["F5", "D2"]</strong>. In these examples, if the base value is 16n (16th notes), C4 will have a value of 16th, and each of the F5 and D2 will have a value of 32th (or a value of a 16th combined).
115115

116-
When your sequence is ready, you can add it to the sequencer using the <strong>Add button</strong>. In order to go back to the default sequence, you can simply write <strong>default</strong> in the sequence input field and then click the Add button. There are two extra sequences included, the bassline of "I Feel Love" by Donna Summer (peoduced by Giorgio Moroder), which can be accessed by writing <strong>i feel love</strong> in the sequence input field and then pressing the add button, and the riff of "Funky Town", that can be accessed by writing <strong>funky town</strong>.
116+
When your sequence is ready, you can add it to the sequencer using the <strong>Add button</strong>. In order to go back to the default sequence, you can simply write <strong>default</strong> in the sequence input field and then click the Add button. There are two extra sequences included, the bassline of "I Feel Love" by Donna Summer (produced by Giorgio Moroder), which can be accessed by writing <strong>i feel love</strong> in the sequence input field and then pressing the add button, and the riff of "Funky Town", that can be accessed by writing <strong>funky town</strong>.
117117

118118
You can find some additional information about the JSS-01 and sound synthesis in this short [presentation](./assets/presentation/JSS%20Presentation.pdf).
119119

@@ -154,8 +154,8 @@ The JSS-01 is using FM synthesis implementing the FMSynth of Tone.js, While ther
154154

155155
## Contributing
156156

157-
Feel free to submit issues and pull requests. It would be great to create a community around JSS-01, to contiue its development and evolution, making it more capable and easier to use, increasing its creative and artistic potential.
158-
If you are interested in becoming part of out community it would be useful to have a look to our dedicated document regarding [Contributing](https://github.com/michaelkolesidis/javascript-software-synthesizer/blob/main/CONTRIBUTING.md), as well as, out [Code of Conduct](https://github.com/michaelkolesidis/javascript-software-synthesizer/blob/main/CODE_OF_CONDUCT.md). It a nutshell, we want our community to be a safe space for everyone, so that we can all have a pleasant and joyful experience!
157+
Feel free to submit issues and pull requests. It would be great to create a community around JSS-01, to continue its development and evolution, making it more capable and easier to use, increasing its creative and artistic potential.
158+
If you are interested in becoming part of out community it would be useful to have a look to our dedicated document regarding [Contributing](https://github.com/michaelkolesidis/javascript-software-synthesizer/blob/main/CONTRIBUTING.md), as well as, out [Code of Conduct](https://github.com/michaelkolesidis/javascript-software-synthesizer/blob/main/CODE_OF_CONDUCT.md). In a nutshell, we want our community to be a safe space for everyone, so that we can all have a pleasant and joyful experience!
159159

160160
## Changelog
161161

@@ -222,12 +222,12 @@ None, yet! We will have to add way more features for that.
222222

223223
## Contributors
224224

225-
- [Michael Kolesidis](ttps://github.com/michaelkolesidis)
225+
- [Michael Kolesidis](https://github.com/michaelkolesidis)
226226
- [Chris Strawser](https://github.com/mcochris)
227227
- [Margarita Marmaridou](https://github.com/mamarmar)
228228
- [Omar Shehata](https://github.com/OmarShehata)
229229

230-
You name could be here and it would be great to have you aboard!
230+
Your name could be here and it would be great to have you aboard!
231231

232232
## Other
233233

REFERENCES.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# References
22

3-
As developers, a significant proportion of our time is browsing through online developer communities, trying to find solutions to smaller of bigger problems we face, as well as offering our help when we can. This document is an attempt to include (most of) the sources of the chunks of code that were found elsewhere, adapted for, and implemented in this project.
3+
As developers, a significant proportion of our time is browsing through online developer communities, trying to find solutions to smaller or bigger problems we face, as well as offering our help when we can. This document is an attempt to include (most of) the sources of the chunks of code that were found elsewhere, adapted for, and implemented in this project.
44

5-
This will be of tremendous help, both for contributors, who will be able to understand the code better, and for other developers who just liked something from the project and would like to implement it their projects.
5+
This will be of tremendous help, both for contributors, who will be able to understand the code better, and for other developers who just liked something from the project and would like to implement it in their projects.
66

77
Tha main third-party source of code for the project is the documentation of the Tone.js, NexusUI and WEBMIDI.js projects, and this is where anyone wishing to implement the project's core functionality should look at first.
88

@@ -13,4 +13,4 @@ Tha main third-party source of code for the project is the documentation of the
1313
- [Sliding menu](https://codepen.io/dannievinther/pen/NvZjvz?editors=1100) by [Dannie Vinther](https://github.com/dannievinther)
1414
- [Changing keyboard key colors](https://github.com/nexus-js/ui/issues/69) (used for dark mode) by [Ben Taylor](https://github.com/taylorbf)
1515
- [Footer always at the bottom](https://www.freecodecamp.org/news/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c/) by [Dominic Fraser](https://github.com/dominicfraser)
16-
- [Computer keyboard keyup and keydown event listeners](https://dev.to/je_we/building-a-simple-piano-with-tone-js-and-nexusui-part-1-415c) by Je We
16+
- [Computer keyboard _keyup_ and _keydown_ event listeners](https://dev.to/je_we/building-a-simple-piano-with-tone-js-and-nexusui-part-1-415c) by Je We

SECURITY.md

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
# JavaScript Software Synthesizer Security Policy
22

3-
## Supported Versions
4-
5-
| Version | Supported |
6-
| ------- | ------------------ |
7-
| 1.0.6 | :white_check_mark: |
8-
| < 1.0.6 | :x: |
9-
103
## Reporting a Vulnerability
114

12-
In case of finding a vulnerabiity, please open an issue. If the vulnerability is related to Tone.js or any other library used, please contact the respective authors.
5+
In case of finding a vulnerabiity, please open an issue. If the vulnerability is related to Tone.js or any other library used, please contact the respective authors as well.

assets/fm.png

-19.9 KB
Loading

0 commit comments

Comments
 (0)