diff --git a/docs/_posts/2023-09-23-Beginners-guide-to-free-stems.md b/docs/_posts/2023-09-23-Beginners-guide-to-free-stems.md
index 413097d..bfc8e93 100644
--- a/docs/_posts/2023-09-23-Beginners-guide-to-free-stems.md
+++ b/docs/_posts/2023-09-23-Beginners-guide-to-free-stems.md
@@ -9,7 +9,7 @@ keywords: stem separation, proofing, free, easy to use, private, privacy, AI, no
intro: "Hello! I'm the creator of this site, and this post describes how I use my own website to get stems from mixed songs for free. Let's dive right in."
---
-
Table of contents
+
Table of contents
* Table of contents
{:toc}
@@ -27,13 +27,13 @@ Most common audio file extensions (wav, mp3, opus, flac, webm) should work. Note
When you visit , you land on the homepage of this site. From this blog post, you can also click [Home](/) in the top bar. Once you're on the home page, scroll down to the section named "Demixer apps", or [go there directly](/#demixer-apps):
-
+
## Download weights
In either app, click the "Download weights" button. You can also check the "Show dev logs" checkbox to display developer messages on the screen to describe how the model weights were loaded:
-
+
Both apps should show "Finished loading!" with 100% full, green progress bars on the weight load. The AI model is now initialized and ready to demix your tracks.
@@ -41,7 +41,7 @@ Both apps should show "Finished loading!" with 100% full, green progress bars on
In the "Single track" app (the first one), click "Choose file", browse to your song file, and then click "Load audio and demix." As the demixing proceeds, the progress bar will start filling up:
-
+
The track is demixed in 1-minute segments. Each segment that finishes demixing adds a notch to the progress bar.
@@ -81,7 +81,7 @@ Finally, on the Javascript log pane, there will be a finished message:
In the app itself, at the bottom under "Demixed outputs" there will be 5 files available for download:
-
+
These are the demixed stems from your track! Enjoy.
@@ -89,7 +89,7 @@ These are the demixed stems from your track! Enjoy.
In the "Batch demix" app (the second one), click "Choose file", browse to your folder of tracks, and then click "Start batch demix," where you will be asked if you accept to upload all of the files:
-
+
**N.B.!** I use the word "upload" but there is **no uploading being done anywhere outside of your computer.** A more accurate term is "load", since it's your web browser that is locally loading your audio file.
@@ -108,7 +108,7 @@ After you accept, the progress bar will fill up as each entire song is finished.
When the entire folder is done, you will have links to download zip files for each song in the folder containing the 5 demixed stems per song:
-
+
## Canceling a running job
diff --git a/docs/about.md b/docs/about.md
index d80562c..abb7f0a 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -1,10 +1,11 @@
---
+description: Learn more about freemusicdemixer.com, our mission, and the technology behind our free AI-based music demixing and stem separation tools.
header_class: about
---
# About
-### What is music demixing used for?
+## What is music demixing used for?
Music demixing allows stems for isolated components (vocals, drums, bass, other) to be extracted from a mixed song. Oftentimes, songs are available without the original stems, and you may wish to only use an isolated section of it in your own music project.
@@ -18,7 +19,7 @@ Demixed stems can be used for:
- Music generation
- ... and much more
-### Freemusicdemixer.com
+## Freemusicdemixer.com
Most demixing applications are complex Artificial Intelligence (AI) models that require a lot of computational power to run. Similar websites will have a job queue, where you submit your track and hope it gets processed in the backend on a heavyweight machine that's possibly running an expensive GPU.
@@ -31,13 +32,13 @@ When the demixing is complete, you can download the following stems in wav files
- Vocals
- Karaoke (bass + drums + melody)
-### Technical implementation
+## Technical implementation
Free-music-demixer is a web adaptation of [umx.cpp](https://github.com/sevagh/umx.cpp), which is more focused on parity with the original model. This project was inspired by the "AI at the edge" [GGML project](https://ggml.ai/) (including [whisper.cpp](https://github.com/ggerganov/whisper.cpp) and [llama.cpp](https://github.com/ggerganov/llama.cpp)), and WebAssembly is a great demo of client-side AI.
The inference code is written in C++, using Eigen3 for numerical operations. Emscripten is used to compile it to WebAssembly. The model weights are quantized and compressed from 424 MB down to 45 MB. [View source code on GitHub](https://github.com/sevagh/free-music-demixer).
-### Customizations to UMX
+## Customizations to UMX
The architecture of UMX has been modified to make it more suitable for use in a web application. These include:
- Quantizing the model weights to 8-bit integers
@@ -45,7 +46,7 @@ The architecture of UMX has been modified to make it more suitable for use in a
- Implementing a streaming LSTM architecture to allow larger tracks to be separated without crashing
- Implementing segmented inference (copied from Demucs) to allow much larger tracks to be separated without crashing
-### umx.cpp and demucs.cpp
+## umx.cpp and demucs.cpp
I intend to continue working on improving umx.cpp, and eventually working on demucs.cpp. Demucs is one of the current leading state-of-the-art models for music demixing, but it is computationally more intensive and harder to implement than umx.cpp.
diff --git a/docs/assets/blog/post1/batch_finished.png b/docs/assets/blog/post1/batch_finished.png
deleted file mode 100644
index 94e703e..0000000
Binary files a/docs/assets/blog/post1/batch_finished.png and /dev/null differ
diff --git a/docs/assets/blog/post1/batch_finished.webp b/docs/assets/blog/post1/batch_finished.webp
new file mode 100644
index 0000000..e01fa33
Binary files /dev/null and b/docs/assets/blog/post1/batch_finished.webp differ
diff --git a/docs/assets/blog/post1/batch_start.png b/docs/assets/blog/post1/batch_start.png
deleted file mode 100644
index 4820cee..0000000
Binary files a/docs/assets/blog/post1/batch_start.png and /dev/null differ
diff --git a/docs/assets/blog/post1/batch_start.webp b/docs/assets/blog/post1/batch_start.webp
new file mode 100644
index 0000000..a82aca0
Binary files /dev/null and b/docs/assets/blog/post1/batch_start.webp differ
diff --git a/docs/assets/blog/post1/freemdx.png b/docs/assets/blog/post1/freemdx.png
deleted file mode 100644
index c2a73e1..0000000
Binary files a/docs/assets/blog/post1/freemdx.png and /dev/null differ
diff --git a/docs/assets/blog/post1/freemdx.webp b/docs/assets/blog/post1/freemdx.webp
new file mode 100644
index 0000000..33f9cf0
Binary files /dev/null and b/docs/assets/blog/post1/freemdx.webp differ
diff --git a/docs/assets/blog/post1/single_finished.png b/docs/assets/blog/post1/single_finished.png
deleted file mode 100644
index 891560c..0000000
Binary files a/docs/assets/blog/post1/single_finished.png and /dev/null differ
diff --git a/docs/assets/blog/post1/single_finished.webp b/docs/assets/blog/post1/single_finished.webp
new file mode 100644
index 0000000..a7bf10f
Binary files /dev/null and b/docs/assets/blog/post1/single_finished.webp differ
diff --git a/docs/assets/blog/post1/single_inprogress.png b/docs/assets/blog/post1/single_inprogress.png
deleted file mode 100644
index d76477c..0000000
Binary files a/docs/assets/blog/post1/single_inprogress.png and /dev/null differ
diff --git a/docs/assets/blog/post1/single_inprogress.webp b/docs/assets/blog/post1/single_inprogress.webp
new file mode 100644
index 0000000..c90196d
Binary files /dev/null and b/docs/assets/blog/post1/single_inprogress.webp differ
diff --git a/docs/assets/blog/post1/weights_downloaded.png b/docs/assets/blog/post1/weights_downloaded.png
deleted file mode 100644
index 80093f0..0000000
Binary files a/docs/assets/blog/post1/weights_downloaded.png and /dev/null differ
diff --git a/docs/assets/blog/post1/weights_downloaded.webp b/docs/assets/blog/post1/weights_downloaded.webp
new file mode 100644
index 0000000..01d6fe2
Binary files /dev/null and b/docs/assets/blog/post1/weights_downloaded.webp differ
diff --git a/docs/assets/css/style.scss b/docs/assets/css/style.scss
index 9121152..f0ea565 100644
--- a/docs/assets/css/style.scss
+++ b/docs/assets/css/style.scss
@@ -126,7 +126,7 @@ header h1:before {
.btn-github .icon {
color: #94ffff; /* Light Cyan */
opacity: 1.0;
- background: url("../images/cyantocat.png") 0 0 no-repeat;
+ background: url("../images/cyantocat.webp") 0 0 no-repeat;
}
.btn-github:hover {
@@ -204,7 +204,7 @@ div.mdx-container {
padding: 2%;
overflow: auto; /* Will add a scrollbar if the content overflows */
z-index: 1;
- background: url('../images/mixer.jpg') no-repeat center center/cover;
+ background: url('../images/mixer.webp') no-repeat center center/cover;
}
div.mdx-container-batch {
@@ -221,7 +221,7 @@ div.mdx-container-batch {
overflow: auto; /* Will add a scrollbar if the content overflows */
z-index: 1;
opacity: 0.9;
- background: url('../images/mixer_batch.jpg') no-repeat center center/cover;
+ background: url('../images/mixer_batch.webp') no-repeat center center/cover;
}
.bottom-right {
@@ -481,13 +481,13 @@ div.tag-cloud {
.blog-post .meta {
font-size: 0.9em;
- color: #777;
+ //color: #777;
margin-bottom: 10px;
}
-.blog-post .description {
+.blog-post .summary {
font-size: 1em;
- color: #555;
+ //color: #555;
}
.giscus-spacing {
diff --git a/docs/assets/images/cyantocat.png b/docs/assets/images/cyantocat.png
deleted file mode 100644
index 78fd927..0000000
Binary files a/docs/assets/images/cyantocat.png and /dev/null differ
diff --git a/docs/assets/images/cyantocat.webp b/docs/assets/images/cyantocat.webp
new file mode 100644
index 0000000..74e7e44
Binary files /dev/null and b/docs/assets/images/cyantocat.webp differ
diff --git a/docs/assets/images/mixer.jpg b/docs/assets/images/mixer.jpg
deleted file mode 100644
index ca99c25..0000000
Binary files a/docs/assets/images/mixer.jpg and /dev/null differ
diff --git a/docs/assets/images/mixer.webp b/docs/assets/images/mixer.webp
new file mode 100644
index 0000000..f7e4e73
Binary files /dev/null and b/docs/assets/images/mixer.webp differ
diff --git a/docs/assets/images/mixer_batch.jpg b/docs/assets/images/mixer_batch.jpg
deleted file mode 100644
index a4cbfb4..0000000
Binary files a/docs/assets/images/mixer_batch.jpg and /dev/null differ
diff --git a/docs/assets/images/mixer_batch.webp b/docs/assets/images/mixer_batch.webp
new file mode 100644
index 0000000..9f5b2ff
Binary files /dev/null and b/docs/assets/images/mixer_batch.webp differ
diff --git a/docs/assets/images/music-demix.png b/docs/assets/images/music-demix.png
deleted file mode 100644
index 92b9421..0000000
Binary files a/docs/assets/images/music-demix.png and /dev/null differ
diff --git a/docs/assets/images/music-demix.webp b/docs/assets/images/music-demix.webp
new file mode 100644
index 0000000..87d2c1e
Binary files /dev/null and b/docs/assets/images/music-demix.webp differ
diff --git a/docs/assets/sponsors/crescent.jpg b/docs/assets/sponsors/crescent.jpg
deleted file mode 100644
index 0381396..0000000
Binary files a/docs/assets/sponsors/crescent.jpg and /dev/null differ
diff --git a/docs/assets/sponsors/crescent.webp b/docs/assets/sponsors/crescent.webp
new file mode 100644
index 0000000..e74a5f0
Binary files /dev/null and b/docs/assets/sponsors/crescent.webp differ
diff --git a/docs/assets/sponsors/left_banner_crescent.jpg b/docs/assets/sponsors/left_banner_crescent.jpg
deleted file mode 100644
index ac636dc..0000000
Binary files a/docs/assets/sponsors/left_banner_crescent.jpg and /dev/null differ
diff --git a/docs/assets/sponsors/left_banner_crescent.webp b/docs/assets/sponsors/left_banner_crescent.webp
new file mode 100644
index 0000000..266921c
Binary files /dev/null and b/docs/assets/sponsors/left_banner_crescent.webp differ
diff --git a/docs/assets/sponsors/onair-banner-spotify.png b/docs/assets/sponsors/onair-banner-spotify.png
deleted file mode 100644
index 525acd0..0000000
Binary files a/docs/assets/sponsors/onair-banner-spotify.png and /dev/null differ
diff --git a/docs/assets/sponsors/onair-banner-spotify.webp b/docs/assets/sponsors/onair-banner-spotify.webp
new file mode 100644
index 0000000..7b42a5e
Binary files /dev/null and b/docs/assets/sponsors/onair-banner-spotify.webp differ
diff --git a/docs/assets/sponsors/right_banner_onair.jpg b/docs/assets/sponsors/right_banner_onair.jpg
deleted file mode 100644
index ee217a1..0000000
Binary files a/docs/assets/sponsors/right_banner_onair.jpg and /dev/null differ
diff --git a/docs/assets/sponsors/right_banner_onair.webp b/docs/assets/sponsors/right_banner_onair.webp
new file mode 100644
index 0000000..55bccae
Binary files /dev/null and b/docs/assets/sponsors/right_banner_onair.webp differ
diff --git a/docs/blog.md b/docs/blog.md
index 594e9ac..e590d0d 100644
--- a/docs/blog.md
+++ b/docs/blog.md
@@ -71,7 +71,7 @@ Over time, I hope to add the following categories:
diff --git a/docs/index.md b/docs/index.md
index 879841d..f1e3a7e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -14,7 +14,7 @@ In music demixing or music source separation, AI models are used to separate the
Load a song to decompose it into **bass, drums, vocals, melody, and karaoke** using a near-state-of-the-art AI model, [Open-Unmix](https://github.com/sigsep/open-unmix-pytorch) with the [UMX-L](https://zenodo.org/record/5069601) pretrained weights. This site is created and maintained by [Sevag H](https://github.com/sevagh).
-
+
## Runs locally in your browser!
@@ -60,7 +60,7 @@ Ready to try it on your own music files?
-
+
@@ -93,7 +93,7 @@ To cancel the running job, refresh the page
-
+
diff --git a/docs/sponsors.md b/docs/sponsors.md
index de61b7d..860f80c 100644
--- a/docs/sponsors.md
+++ b/docs/sponsors.md
@@ -1,4 +1,5 @@
---
+description: Support freemusicdemixer.com through sponsorships and donations. Find out how you can help us continue to provide free AI-based music demixing and stem separation tools for amateur and professional audio engineers and musicians.
header_class: sponsors
---
@@ -18,10 +19,10 @@ Interested? [Contact us!](mailto:sevagh+freemdx@protonmail.com)
We are currently partnered with [The Crescent](https://www.thecrescentmtl.com), a company based in Montreal that provides music, live stream concerts, and content production. Check them out!
-![crescent-medium](./assets/sponsors/crescent.jpg)
+![crescent-music-sponsor](./assets/sponsors/crescent.webp)
## OnAir Music
We also work with [OnAir Music](https://open.spotify.com/artist/7IYLENV1pGGPvL6wkyl7t5), a collection of royalty-free music for use in Twitch streams and other applications. OnAir has also contributed a [stem dataset for AI music demixing research](https://github.com/sevagh/OnAir-Music-Dataset) to help researchers develop better AI stem separation applications (like the one that powers this website).
-
+