diff --git a/app/build.gradle b/app/build.gradle
index 82aec9cccd3964272ca7a0a9707298cda350bd2b..3a74477c12be2c33cad4536f0f2e0f7616d295e2 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
         applicationId "org.benoitharrault.ameixanonfree"
         minSdkVersion 16
         targetSdkVersion 30
-        versionCode 120
-        versionName "1.58.4"
+        versionCode 121
+        versionName "1.59.0"
         archivesBaseName = "$applicationId" + "_" + "$versionCode"
     }
 
diff --git a/app/src/chromatic/res/drawable-hdpi/audiospectrumanalyzer.png b/app/src/chromatic/res/drawable-hdpi/audiospectrumanalyzer.png
new file mode 100644
index 0000000000000000000000000000000000000000..558f23a815d17c956691e074ef0c63ae33ca0238
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/audiospectrumanalyzer.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/audiospectrumanalyzer.png b/app/src/chromatic/res/drawable-mdpi/audiospectrumanalyzer.png
new file mode 100644
index 0000000000000000000000000000000000000000..0864a297d0e3cdb40ba06b042fc1638e50eff648
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/audiospectrumanalyzer.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/audiospectrumanalyzer.png b/app/src/chromatic/res/drawable-xhdpi/audiospectrumanalyzer.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2d3775c74c45c2aea7b216008ba6efd066e7b2b
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/audiospectrumanalyzer.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/audiospectrumanalyzer.png b/app/src/chromatic/res/drawable-xxhdpi/audiospectrumanalyzer.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed6aa06c71e1b08f6136b62754070ae57de99099
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/audiospectrumanalyzer.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/audiospectrumanalyzer.png b/app/src/chromatic/res/drawable-xxxhdpi/audiospectrumanalyzer.png
new file mode 100644
index 0000000000000000000000000000000000000000..151b37320f253fade640905569b6dd1655702fd6
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/audiospectrumanalyzer.png differ
diff --git a/app/src/main/res/values/iconpack.xml b/app/src/main/res/values/iconpack.xml
index bcc7ec9d288f8a78a457429f32d591805581e2ab..8b38e31edd560ad3ce19d6d17fe8ae402c60e03b 100644
--- a/app/src/main/res/values/iconpack.xml
+++ b/app/src/main/res/values/iconpack.xml
@@ -65,6 +65,7 @@
         <item>atarashii</item>
         <item>atomic</item>
         <item>audiofx</item>
+        <item>audiospectrumanalyzer</item>
         <item>auditor</item>
         <item>aurdroid</item>
         <item>aurora</item>
diff --git a/app/src/main/res/xml/appfilter.xml b/app/src/main/res/xml/appfilter.xml
index 9b447c5b3f0444a54e1df24fe5830ff3e79d5817..bce0f8e87cc514f37f5ad9ad9581d3f495c7c6f1 100644
--- a/app/src/main/res/xml/appfilter.xml
+++ b/app/src/main/res/xml/appfilter.xml
@@ -612,6 +612,9 @@
     <item
         component="ComponentInfo{org.lineageos.audiofx/org.lineageos.audiofx.activity.ActivityMusic}"
         drawable="audiofx" />
+    <item
+        component="ComponentInfo{org.woheller69.audio_analyzer_for_android/org.woheller69.audio_analyzer_for_android.AnalyzerActivity}"
+        drawable="audiospectrumanalyzer" />
     <item
         component="ComponentInfo{com.rascarlo.aurdroid/com.rascarlo.aurdroid.MainActivity}"
         drawable="aurdroid" />
diff --git a/app/src/main/res/xml/drawable.xml b/app/src/main/res/xml/drawable.xml
index f196431ffe27596777cff067a7872b8caa1a3d15..18f32ed3f199ecc34177fc9d6e0ab9533c623380 100644
--- a/app/src/main/res/xml/drawable.xml
+++ b/app/src/main/res/xml/drawable.xml
@@ -65,6 +65,7 @@
     <item drawable="atarashii" />
     <item drawable="atomic" />
     <item drawable="audiofx" />
+    <item drawable="audiospectrumanalyzer" />
     <item drawable="auditor" />
     <item drawable="aurdroid" />
     <item drawable="aurora" />
diff --git a/icons/chromatic/audiospectrumanalyzer.svg b/icons/chromatic/audiospectrumanalyzer.svg
new file mode 100644
index 0000000000000000000000000000000000000000..59bd78843cd7abdaac96170e6d6c0173e91d3718
--- /dev/null
+++ b/icons/chromatic/audiospectrumanalyzer.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#3f51b5"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <path d="m21.292 16.013h-2.234l-0.94138 1.8451c-0.05056 0.10292-0.15901 0.16433-0.27328 0.15468-0.11398-0.0077-0.21228-0.08282-0.24967-0.19067l-1.0536-3.03-1.2283 1.574h-1.01e-4c-0.06875 0.08795-0.18263 0.12755-0.29117 0.10141-0.10855-0.02603-0.19187-0.11317-0.21318-0.22283l-0.95746-4.9696-1.1343 7.9631c-0.01889 0.1388-0.13649 0.24283-0.2765 0.24454h-0.0059c-0.13971 4.01e-4 -0.25882-0.10081-0.28103-0.23861l-0.96812-5.8867-0.80671 2.4592c-0.0382 0.11689-0.14715 0.1961-0.27017 0.1961h-2.654c-0.15428-0.0043-0.27702-0.13056-0.27702-0.28494 0-0.15428 0.12272-0.28052 0.27702-0.28484h2.447l1.1059-3.3694c0.04101-0.12474 0.16182-0.20534 0.29279-0.19529 0.13086 0.01017 0.23791 0.10835 0.25931 0.23791l0.85554 5.2027 1.1122-7.8082c0.0191-0.13911 0.13679-0.24354 0.2772-0.24585 0.13991-0.00714 0.26274 0.092572 0.28456 0.23097l1.1606 6.0261 1.1647-1.4923c0.06422-0.08212 0.16826-0.12272 0.27107-0.10564 0.10292 0.01698 0.18836 0.08885 0.22263 0.18735l1.0064 2.8934 0.71704-1.4055c0.04844-0.09559 0.14664-0.15569 0.25379-0.15529h2.409c0.15418 0.0043 0.27702 0.13056 0.27702 0.28484 0 0.15438-0.12282 0.28062-0.27702 0.28494z" fill="#fff" stroke="#fff" stroke-width=".42533"/>
+</svg>