Skip to content

Commit

Permalink
Merge branch 'next'
Browse files Browse the repository at this point in the history
  • Loading branch information
Eliastik committed Mar 31, 2024
2 parents eb0fa62 + c0692b4 commit a16efaf
Show file tree
Hide file tree
Showing 21 changed files with 1,648 additions and 1,208 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@ public/service-worker.js
public/service-worker.js.map
public/workbox-*
public/worklets/*
public/workers/*
.rollup.cache
32 changes: 30 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This program uses the Web Audio API. A browser supporting this API is therefore

## About

* Version: 2.1.1 (2/8/2024)
* Version: 2.2.0 (3/31/2024)
* Made in France by Eliastik - [eliastiksofts.com](http://eliastiksofts.com) - Contact : [eliastiksofts.com/contact](http://eliastiksofts.com/contact)
* License: GNU GPLv3 (see the LICENCE.txt file)

Expand All @@ -37,6 +37,20 @@ This program uses the Web Audio API. A browser supporting this API is therefore

## Changelog

* Version 2.2.0 (3/31/2024):
- The percentage of audio processing as well as the estimated remaining audio processing time is now displayed in the "Audio processing in progress" popup;
- It's now possible to cancel audio processing in progress;
- When opening an audio file, no initial processing is now performed at the beginning, to speed up application use. This behavior can be reactivated from the settings;
- Modified audio can now be saved in MP3 format;
- It's now possible to pause or play audio by pressing the Space key;
- Small adjustments have been made to the user interface (larger buttons on larger screens, for example);
- Bug fixes:
- An error message is now displayed if no microphone has been found when clicking on the "Record via microphone" button from the application's home screen;
- Fixed a rare crash with the 8-bit Effect filter;
- Fixed a bug in the audio player when compatibility mode was disabled and audio processing launched, or when the sampling frequency was modified;
- Minor code improvements;
- Dependencies updated.

* Version 2.1.1 (08/02/2024) :
- Enhanced filters:
- It's now possible to import a custom environment for the Reverb filter;
Expand Down Expand Up @@ -168,7 +182,7 @@ Ce programme utilise la Web Audio API. Un navigateur supportant cette API est do

## À propos du programme

* Version du programme : 2.1.1 (08/02/2024)
* Version du programme : 2.2.0 (31/03/2024)
* Made in France by Eliastik - [eliastiksofts.com](http://eliastiksofts.com) - Contact : [eliastiksofts.com/contact](http://eliastiksofts.com/contact)
* Licence : GNU GPLv3 (voir le fichier LICENCE.txt)

Expand All @@ -190,6 +204,20 @@ Ce programme utilise la Web Audio API. Un navigateur supportant cette API est do

## Journal des changements

* Version 2.2.0 (31/03/2024) :
- Le pourcentage de traitement audio ainsi que le temps de traitement audio restant estimé s'affiche désormais dans la popup "Traitement audio en cours" ;
- Il est désormais possible d'annuler un traitement audio en cours ;
- Lors de l'ouverture d'un fichier audio, aucun traitement initial n'est désormais effectué au début pour accélérer l'utilisation de l'application. Ce comportement peut être réactivé depuis les paramètres ;
- Il est désormais possible de sauvegarder l'audio modifié au format MP3 ;
- Il est désormais possible de mettre en pause ou de jouer l'audio en appuyant sur la touche Espace ;
- Des petits ajustements de l'interface utilisateur ont été apportés (boutons plus gros sur les grands écrans par exemple) ;
- Correction de bugs :
- Un message d'erreur s'affiche désormais si aucun microphone n'a été trouvé lors du clic sur le bouton "Enregistrer via le micro" depuis l'écran d'accueil de l'application ;
- Correction d'un plantage rare avec le filtre Effet 8-bit ;
- Correction d'un bug du lecteur audio lorsque le mode de compatibilité était désactivé puis un traitement audio lancé, ou lorsque la fréquence d'échantillonage était modifiée ;
- Petites améliorations mineures du code ;
- Mise à jour des dépendances.

* Version 2.1.1 (08/02/2024) :
- Amélioration de certains filtres :
- Il est désormais possible d'importer un environnement personnalisé pour le filtre Reverbération ;
Expand Down
22 changes: 11 additions & 11 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,37 +49,37 @@
* [x] - Display processing progress: maybe using a worklet counting processed audio samples / estimated total samples of the audio?
* [x] Fix: display estimated remaining time
* [x] - Cancel audio processing (disconnect node and ignore callback from processAudio)
* [ ] - Display information message when canceling initial audio processing
* [ ] - Don't do the initial audio processing (when choosing an audio file) - can be reenabled in the settings
* [ ] - Use space key to pause/play audio
* [x] - Display information message when canceling initial audio processing
* [x] - Use space key to pause/play audio
* [x] - Don't do the initial audio processing (when choosing an audio file) - can be reenabled in the settings
* [x] Save/download rendered audio in other formats (MP3 for example) -> LAMEJS (MP3)

#### Issues to fix

* [ ] - (Minor) Bug when playing audio in compatibility mode then disabling compatibility mode, then processing audio: the audio keep playing without sound
* [x] - (Minor) Bug when playing audio in compatibility mode then disabling compatibility mode, then processing audio: the audio keep playing without sound
* [x] - Same bug when changing sample rate

#### Known issues to fix
### Known issues to fix

* [x] - (Minor) 8-bit effect randomly crash in compatibility mode when changing filter settings
* [x] - (Minor) No error message when no microphone is found for the recorder. Display an error message to fix the issue
* [x] - (Minor) Enable reverb filter when choosing custom environment, and no other environment was downloaded (network error)
* [ ] - (Medium) Bug when changing recorder settings on Chrome mobile
* [ ] - (Very minor) Fix sourcemaps for libraries + worklets copy (cache)
* [ ] - (Major) Fix Soundtouch Worklet audio speed adjustment not working (as now, fallback to classic script processor node, not working in Firefox) - use another library for time stretch?
* [ ] - If fixed: enable Soundtouch Worklet in compatibility/direct mode
* [ ] - (Medium) Bug when changing recorder settings on Chrome mobile
* [ ] - (Medium) Vocoder doesn't work well on sample rate > 96,000 Hz
* [ ] - (Very minor) Fix sourcemaps for libraries + worklets copy (cache)

### Would be good but not important

* [ ] Save/download rendered audio in other formats (MP3, WAV)?
* [ ] - Create new filters (equalizer?, volume/gain?)
* [ ] - If adding new filters: hide some advanced filters, and make possible to add them if needed in the UI
* [ ] - Save into localstorage filters settings + filter presets that can be set by the user?
* [ ] - Use dependency injection instead of Singleton?
* [ ] - Enhance limiter?
* [ ] - Filter "Autotuner"?
* [ ] - Save into localstorage filters settings?
* [ ] - Graphical visualization of audio + apply filters in a portion of the audio?
* [ ] - Real-time filters editing when recording audio (reuse existing filters)?
* [ ] - Enhance limiter?
* [ ] - Filter "Autotuner"?
* [ ] - Advanced settings for audio channel number? By default use the number of channel of the host if possible (but some filters force 2-channel)
* Soundtouch limit the possibility to use more than 2 channels
* [ ] - Optimize performance: split processing into smaller chunks + threaded (Worker, not yet possible)
Expand Down
7 changes: 6 additions & 1 deletion next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const withPWA = require("next-pwa")({
({ asset }) => {
if (
asset.name.startsWith("server/") ||
asset.name.startsWith("../public/worklets/") ||
asset.name.startsWith("../../public/worklets/") ||
asset.name.match(
/^((app-|^)build-manifest\.json|react-loadable-manifest\.json)$/
)
Expand Down Expand Up @@ -41,6 +41,11 @@ const nextConfig = withPWA({
to: "../../public/worklets/",
context: "node_modules/@eliastik/simple-sound-studio-lib/dist/worklets"
},
{
from: "*.js",
to: "../../public/workers/",
context: "node_modules/@eliastik/simple-sound-studio-lib/dist/workers"
},
],
})
);
Expand Down
Loading

0 comments on commit a16efaf

Please sign in to comment.