Last active
May 13, 2025 19:00
-
-
Save MaxMatti/7062e865926a2b2b6b7ea22f43a81ec7 to your computer and use it in GitHub Desktop.
Electronic Music Genre Generator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta name="author" content="Max Staff <[email protected]>" /> | |
<meta name="license" content="LGPLv3" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
<link rel="icon" type="image/x-icon" href="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjUwIDI1MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIzLjYgMjQ3LjZhMzUgMzUgMCAwIDEtOC0xLjggMTE2IDExNiAwIDAgMS0xNy44LTguNWwtNy40LTRhOTQ5IDk0OSAwIDAgMS0zMi43LTE4Yy0xNC03LjctMzEuMi0xNy44LTM0LjYtMjAuMmE0NCA0NCAwIDAgMS04LjUtOC40Yy0yLTIuNi0zLTQuOC00LjEtOC4xLTEuNS00LjctMi05LjItMi41LTIybC0uNC0xMS4zYy0uNi0xNC4yLTEtMzcuMy0xLTUyLjMgMC0yMCAuNC0yNi40IDIuMi0zMy4zQTI1IDI1IDAgMCAxIDIwIDQ0LjJjMy41LTIuMyAxMi4yLTYuNCAyMC4zLTkuN2w1LjYtMi40YTIxODYgMjE4NiAwIDAgMSA0Ni42LTIxYzMuMi0xLjYgMTMtNS43IDE2LTYuN3E5LTMgMTctMi4zYzggLjggMTEuNSAyIDM1IDExLjhsMTguOCA3LjcgMTAuMiA0LjMgMTguMiA3LjdjMTguNyA4LjMgMjMuMSAxMC45IDI4LjQgMTYuNSAyLjEgMi4yIDIuOSAzLjIgMy44IDUuMiAzLjQgNyAzLjkgMTIuNiAzLjMgNDUtLjcgNDctMS43IDY4LTMuMyA3NS4yLTEgNC41LTMgOS01LjIgMTItNC42IDYuMy0xMC4yIDEwLjMtMzUuNiAyNS41bC0xNi40IDkuOWE0MTMgNDEzIDAgMCAxLTQwLjggMjIuNCAzNyAzNyAwIDAgMS0xOC4zIDIuMyIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik04NC41IDE5OWMtNS44LTEuNS0xMC42LTctMTEuMy0xMy0uNS00LjcgMi4yLTkuNiA2LjMtMTEuNSAxLjUtLjYgMi0uNyA0LjEtLjdhOSA5IDAgMCAxIDQuNS45bDIuMi44LS4xLTQ3LjNhNjk5IDY5OSAwIDAgMC0yMS41LTEwLjZjLS40IDAtLjQgMi41LS4zIDI3LjUuMiAyNy41LjIgMjcuNi0uMyAyOS43LTEuNiA2LTYuNiA5LjctMTIgOC45LTYuNy0xLTEyLTkuMS0xMC4yLTE1LjhxMS41LTUuMiA2LTcuNWMxLjUtLjggMi0uOSA0LS45IDEuOSAwIDIuNS4xIDMuOC43bDEuNy44Yy4yIDAtLjEtMzEuOS0uNC0zMi4zYTkgOSAwIDAgMC0yLjgtMS43bC0xNi04LjF2MjEuM2MwIDIwLjIgMCAyMS41LS40IDIyLjhxLTEuNyA1LTUuNyA2LjRhOSA5IDAgMCAxLTEwLTIgMTIgMTIgMCAwIDEtNC40LTkuOGMwLTMuNyAxLTYgMy43LTguOCAyLjItMi4yIDYtMy4zIDguMy0yLjNsMS40LjRjLjMgMCAuNC00LjMuNC0yNy42IDAtMjAgMC0yNy45LjMtMjguM3EuOS0xLjYgMS45LTEuN2MuNSAwIDEuNi40IDEyLjMgNS43bDQzIDIxYzIuNCAxLjEgMyAxLjcgNCAzLjRsLjYgMS4zLjIgMzMuN2MuMiAzNy4yLjMgMzUuNy0xLjQgMzlxLTIuNCA0LjYtNy41IDUuN2MtMS43LjMtMi42LjMtNC40LS4yTTYxIDExNi4ydi0yLjZsLTkuMy00LjctOS41LTQuN2MtLjMgMCAuMSA1LjIuNSA1LjYuNy44IDE3IDkgMTggOSAuMyAwIC40LS42LjMtMi42bTYxLjItNDJjLTYtLjgtOS40LTItMTEuNy00LjMtMS42LTEuNi0yLTIuNi0xLjctNC4yLjItMS4zIDEuOS0yLjkgNC0zLjlhMjggMjggMCAwIDEgMTQuMS0yLjJjNiAuMiA5LjkgMSAxMy42IDIuN2wxLjkgMUwxNDUgNjJhMTAzMSAxMDMxIDAgMCAwIDI3LjUtMTUuM3EwLS4yLS43LS42bC0xNi45LTdMMTIzLjYgMjZjLTEuNi0uNy0yLS43LTQgLjVhMTA1NCAxMDU0IDAgMCAxLTMzLjQgMTcuOEw4MS43IDQ3QTIzIDIzIDAgMCAxIDY4IDUwLjRhMjEgMjEgMCAwIDEtOS42LTEuNiA4IDggMCAwIDEtMy42LTNxLTEuMS0xLjcuMy0zLjZjMi0zIDguOS00LjcgMTYuOC00LjUgNC4zLjIgNi44LjYgOSAxLjdsMS41LjYgNC4xLTIuMSAyMC0xMC41IDE2LjItOC40IDMuMi0xLjcgMS40LjVhNDggNDggMCAwIDEgNi44IDIuOGwxMi40IDUuMSAzNS41IDE1YzQuNyAyIDUuNSAyLjQgNS42IDMuNSAwIDEtLjYgMS41LTMuOCAzLjNsLTEzLjEgNy4yLTI2LjIgMTQuNmMtNy42IDQuMi04LjIgNC41LTE0IDUuMS0zLjMuNC01IC4zLTguMi0uMSIvPjxwYXRoIGQ9Im0xMjguMiAyNDcuNy40LTFxLjUtLjYuNy0xLjRjMC0uNS4yLTE0LjcuMi0zMS43LjMtNjAgLjUtNzguOC43LTgyLjVhMzQgMzQgMCAwIDEgNC4yLTE1LjVjMS40LTIuNSA1LjktNy4xIDguNC04LjggMS45LTEuMyA3LjctNC40IDE5LjYtMTAuOGwyOS4zLTE1LjVMMjI1LjIgNjNjOS00LjcgMTEuMS02LjEgMTItOHEuNS0yLjEgMi4yIDEuNWMzLjIgNi41IDMuOCAxMy43IDMuMyA0MC43YTE0MjUgMTQyNSAwIDAgMS0yLjIgNjljLS44IDEyLTMuNCAxOC44LTkuMyAyNS00LjQgNC41LTEwLjcgOC44LTMxLjQgMjEuMmwtMTQuNiA4LjhhNzU4IDc1OCAwIDAgMS0zNS4xIDIwLjEgNTEgNTEgMCAwIDEtMTguNiA2LjVjLTIuNy40LTMgLjQtMy4zIDAiIGZpbGw9IiM4ODgiLz48cGF0aCBkPSJNMTQ3LjkgMjA3LjVxLTEtLjUtMS43LTJjLS43LTEuNC0uNy0xLjctLjctNC4xcTAtNC44IDIuMy05LjRjMy02LjIgOC4xLTExLjQgMTEuOC0xMS45cTEuNC0uMSAxLjYtLjdjLjMtLjUuNC02LjguNC0yNi41IDAtMTQuMy4yLTI2LjguMy0yNy45cS4xLTEuOC41LTIuNGMuMy0uMyA1LTIuOCAxMC40LTUuN2wzMS4xLTE2LjVhMjkwIDI5MCAwIDAgMSAyMS45LTExLjVjLjQuNC0uMiA2NC43LS42IDY2LjgtLjUgMi4zLTEuNSA1LjMtMi44IDcuOC0zLjYgNi45LTcuOCAxMC43LTExLjYgMTAuM3EtMi4yIDAtMy40LTIuNWMtLjYtMS4zLS43LTEuNy0uNy0zLjkgMC01LjUgMi44LTExLjggNy42LTE2LjZxMy41LTMuNCA2LTMuMyAxLjMgMCAxLjQtLjZjLjItLjUuNS0yNi4xLjQtMjcuNy0uMS0uNy0xLjEtLjMtNC42IDEuOGwtNS43IDMuMmMtNS42IDMtOS40IDUuNC05LjYgNS45bC0uNSAyMC4zYy0uMyAxNS4yLS40IDIwLjItLjcgMjEuNi0yIDkuMy05LjUgMTguNy0xNSAxOC43LTEuOCAwLTIuNy0uNS0zLjYtMi4xLS42LTEtLjYtMS4zLS41LTQuNSAwLTMgLjItMy43IDEtNS45IDEtMyAxLjctNC42IDMuNi03LjQgMi44LTQuMiA2LjctNy40IDkuNS03LjlxMS0uMSAxLjQtLjVjLjEtLjEuMy03LjQuNC0xNy45IDAtOS42LjItMjAgLjMtMjMgLjEtNS4zIDAtNi44LS43LTYuOGwtNi4yIDMtMjQuOCAxMy41Yy0uMi4zLS4zIDYuOC0uNSAyNy43bC0uMyAyOS4zYy0uNSA3LTYuMyAxNi4yLTEyIDE5LTIgMS00LjMgMS01LjcuM201OC4xLTg3YTI3NSAyNzUgMCAwIDEgMTYtOWMuMi0uNi41LTguOC4zLTkuNWwtLjUtLjZhMzMwIDMzMCAwIDAgMC0xOS4zIDEwLjZjLS4zLjYtLjYgOS0uMyA5LjdxLjIuNi42LjZ6Ii8+PC9zdmc+" /> | |
<title>Electronic Music Genre Generator</title> | |
<style> | |
#favicon { | |
display: none; | |
} | |
body { | |
font-family: sans-serif; | |
text-align: center; | |
background-color: white; | |
color: black; | |
margin: 0; | |
padding: 0; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
min-height: 100%; | |
} | |
a { | |
background-color: lightblue; | |
color: black; | |
} | |
a#reroll { | |
background-color: lightcoral; | |
} | |
@media (prefers-color-scheme: dark) { | |
body { | |
background-color: black; | |
color: white; | |
} | |
a { | |
background-color: midnightblue; | |
color: white; | |
} | |
a#reroll { | |
background-color: maroon; | |
} | |
} | |
h1 { | |
font-size: 2em; | |
margin: 2cm; | |
} | |
div.button-holder { | |
display: flex; | |
flex-wrap: wrap; | |
justify-content: center; | |
} | |
a { | |
display: inline-flex; | |
align-items: center; | |
justify-content: center; | |
text-decoration: none; | |
font-size: 2em; | |
border-style: none; | |
border-radius: 0.2cm; | |
width: 6cm; | |
height: 2cm; | |
margin: 0.5cm; | |
cursor: pointer; | |
flex: none; | |
} | |
a > svg { | |
height: 1em; | |
} | |
iframe { | |
width: 80%; | |
height: 500px; | |
border: 1px solid #ccc; | |
} | |
</style> | |
</head> | |
<body> | |
<h1 id="title"></h1> | |
<div class="button-holder"> | |
<a id="search-spotify" target="_newtab"> | |
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 168 168"><path fill="#1ED760" d="m83.996 0.277c-46.249 0-83.743 37.493-83.743 83.742 0 46.251 37.494 83.741 83.743 83.741 46.254 0 83.744-37.49 83.744-83.741 0-46.246-37.49-83.738-83.745-83.738l0.001-0.004zm38.404 120.78c-1.5 2.46-4.72 3.24-7.18 1.73-19.662-12.01-44.414-14.73-73.564-8.07-2.809 0.64-5.609-1.12-6.249-3.93-0.643-2.81 1.11-5.61 3.926-6.25 31.9-7.291 59.263-4.15 81.337 9.34 2.46 1.51 3.24 4.72 1.73 7.18zm10.25-22.805c-1.89 3.075-5.91 4.045-8.98 2.155-22.51-13.839-56.823-17.846-83.448-9.764-3.453 1.043-7.1-0.903-8.148-4.35-1.04-3.453 0.907-7.093 4.354-8.143 30.413-9.228 68.222-4.758 94.072 11.127 3.07 1.89 4.04 5.91 2.15 8.976v-0.001zm0.88-23.744c-26.99-16.031-71.52-17.505-97.289-9.684-4.138 1.255-8.514-1.081-9.768-5.219-1.254-4.14 1.08-8.513 5.221-9.771 29.581-8.98 78.756-7.245 109.83 11.202 3.73 2.209 4.95 7.016 2.74 10.733-2.2 3.722-7.02 4.949-10.73 2.739z"/></svg> Search | |
</a> | |
<a id="search-youtube" target="_newtab"> | |
<svg viewBox="0 -3 28.57 25.57" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"><g><path d="M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042 0 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z" fill="#FF0000"></path><path d="M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z" fill="white"></path></g></svg> Search | |
</a> | |
<a id="search-youtubemusic" target="_newtab"> | |
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 176 176"><g><circle fill="#FF0000" cx="88" cy="88" r="88"/><path fill="#FFFFFF" d="M88,46c23.1,0,42,18.8,42,42s-18.8,42-42,42s-42-18.8-42-42S64.9,46,88,46 M88,42 c-25.4,0-46,20.6-46,46s20.6,46,46,46s46-20.6,46-46S113.4,42,88,42L88,42z"/><polygon fill="#FFFFFF" points="72,111 111,87 72,65"/></g></svg> Search | |
</a> | |
<a id="reroll" onclick="updateTitleAndIframe()"> | |
<svg viewBox="0 0 250 250" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M123.6 247.6a35 35 0 0 1-8-1.8 116 116 0 0 1-17.8-8.5l-7.4-4a949 949 0 0 1-32.7-18c-14-7.7-31.2-17.8-34.6-20.2a44 44 0 0 1-8.5-8.4c-2-2.6-3-4.8-4.1-8.1-1.5-4.7-2-9.2-2.5-22l-.4-11.3c-.6-14.2-1-37.3-1-52.3 0-20 .4-26.4 2.2-33.3A25 25 0 0 1 20 44.2c3.5-2.3 12.2-6.4 20.3-9.7l5.6-2.4a2186 2186 0 0 1 46.6-21c3.2-1.6 13-5.7 16-6.7q9-3 17-2.3c8 .8 11.5 2 35 11.8l18.8 7.7 10.2 4.3 18.2 7.7c18.7 8.3 23.1 10.9 28.4 16.5 2.1 2.2 2.9 3.2 3.8 5.2 3.4 7 3.9 12.6 3.3 45-.7 47-1.7 68-3.3 75.2-1 4.5-3 9-5.2 12-4.6 6.3-10.2 10.3-35.6 25.5l-16.4 9.9a413 413 0 0 1-40.8 22.4 37 37 0 0 1-18.3 2.3" fill="#fff"/><path d="M84.5 199c-5.8-1.5-10.6-7-11.3-13-.5-4.7 2.2-9.6 6.3-11.5 1.5-.6 2-.7 4.1-.7a9 9 0 0 1 4.5.9l2.2.8-.1-47.3a699 699 0 0 0-21.5-10.6c-.4 0-.4 2.5-.3 27.5.2 27.5.2 27.6-.3 29.7-1.6 6-6.6 9.7-12 8.9-6.7-1-12-9.1-10.2-15.8q1.5-5.2 6-7.5c1.5-.8 2-.9 4-.9 1.9 0 2.5.1 3.8.7l1.7.8c.2 0-.1-31.9-.4-32.3a9 9 0 0 0-2.8-1.7l-16-8.1v21.3c0 20.2 0 21.5-.4 22.8q-1.7 5-5.7 6.4a9 9 0 0 1-10-2 12 12 0 0 1-4.4-9.8c0-3.7 1-6 3.7-8.8 2.2-2.2 6-3.3 8.3-2.3l1.4.4c.3 0 .4-4.3.4-27.6 0-20 0-27.9.3-28.3q.9-1.6 1.9-1.7c.5 0 1.6.4 12.3 5.7l43 21c2.4 1.1 3 1.7 4 3.4l.6 1.3.2 33.7c.2 37.2.3 35.7-1.4 39q-2.4 4.6-7.5 5.7c-1.7.3-2.6.3-4.4-.2M61 116.2v-2.6l-9.3-4.7-9.5-4.7c-.3 0 .1 5.2.5 5.6.7.8 17 9 18 9 .3 0 .4-.6.3-2.6m61.2-42c-6-.8-9.4-2-11.7-4.3-1.6-1.6-2-2.6-1.7-4.2.2-1.3 1.9-2.9 4-3.9a28 28 0 0 1 14.1-2.2c6 .2 9.9 1 13.6 2.7l1.9 1L145 62a1031 1031 0 0 0 27.5-15.3q0-.2-.7-.6l-16.9-7L123.6 26c-1.6-.7-2-.7-4 .5a1054 1054 0 0 1-33.4 17.8L81.7 47A23 23 0 0 1 68 50.4a21 21 0 0 1-9.6-1.6 8 8 0 0 1-3.6-3q-1.1-1.7.3-3.6c2-3 8.9-4.7 16.8-4.5 4.3.2 6.8.6 9 1.7l1.5.6 4.1-2.1 20-10.5 16.2-8.4 3.2-1.7 1.4.5a48 48 0 0 1 6.8 2.8l12.4 5.1 35.5 15c4.7 2 5.5 2.4 5.6 3.5 0 1-.6 1.5-3.8 3.3l-13.1 7.2-26.2 14.6c-7.6 4.2-8.2 4.5-14 5.1-3.3.4-5 .3-8.2-.1"/><path d="m128.2 247.7.4-1q.5-.6.7-1.4c0-.5.2-14.7.2-31.7.3-60 .5-78.8.7-82.5a34 34 0 0 1 4.2-15.5c1.4-2.5 5.9-7.1 8.4-8.8 1.9-1.3 7.7-4.4 19.6-10.8l29.3-15.5L225.2 63c9-4.7 11.1-6.1 12-8q.5-2.1 2.2 1.5c3.2 6.5 3.8 13.7 3.3 40.7a1425 1425 0 0 1-2.2 69c-.8 12-3.4 18.8-9.3 25-4.4 4.5-10.7 8.8-31.4 21.2l-14.6 8.8a758 758 0 0 1-35.1 20.1 51 51 0 0 1-18.6 6.5c-2.7.4-3 .4-3.3 0" fill="#888"/><path d="M147.9 207.5q-1-.5-1.7-2c-.7-1.4-.7-1.7-.7-4.1q0-4.8 2.3-9.4c3-6.2 8.1-11.4 11.8-11.9q1.4-.1 1.6-.7c.3-.5.4-6.8.4-26.5 0-14.3.2-26.8.3-27.9q.1-1.8.5-2.4c.3-.3 5-2.8 10.4-5.7l31.1-16.5a290 290 0 0 1 21.9-11.5c.4.4-.2 64.7-.6 66.8-.5 2.3-1.5 5.3-2.8 7.8-3.6 6.9-7.8 10.7-11.6 10.3q-2.2 0-3.4-2.5c-.6-1.3-.7-1.7-.7-3.9 0-5.5 2.8-11.8 7.6-16.6q3.5-3.4 6-3.3 1.3 0 1.4-.6c.2-.5.5-26.1.4-27.7-.1-.7-1.1-.3-4.6 1.8l-5.7 3.2c-5.6 3-9.4 5.4-9.6 5.9l-.5 20.3c-.3 15.2-.4 20.2-.7 21.6-2 9.3-9.5 18.7-15 18.7-1.8 0-2.7-.5-3.6-2.1-.6-1-.6-1.3-.5-4.5 0-3 .2-3.7 1-5.9 1-3 1.7-4.6 3.6-7.4 2.8-4.2 6.7-7.4 9.5-7.9q1-.1 1.4-.5c.1-.1.3-7.4.4-17.9 0-9.6.2-20 .3-23 .1-5.3 0-6.8-.7-6.8l-6.2 3-24.8 13.5c-.2.3-.3 6.8-.5 27.7l-.3 29.3c-.5 7-6.3 16.2-12 19-2 1-4.3 1-5.7.3m58.1-87a275 275 0 0 1 16-9c.2-.6.5-8.8.3-9.5l-.5-.6a330 330 0 0 0-19.3 10.6c-.3.6-.6 9-.3 9.7q.2.6.6.6z"/></svg> Reroll | |
</a> | |
</div> | |
<script> | |
const prefixes = [ | |
"2-step ", | |
"Acid ", | |
"Acid ", | |
"Acid ", | |
"Acid ", | |
"Acousmatic ", | |
"African ", | |
"Afro ", | |
"Afro ", | |
"Afro ", | |
"Afro ", | |
"Afro", | |
"Afro", | |
"Aggro", | |
"Algo", | |
"Alternative ", | |
"Alternative ", | |
"Alternative ", | |
"Ambient ", | |
"Ambient ", | |
"Ambient ", | |
"Ambient ", | |
"Asian ", | |
"Atmospheric ", | |
"Balearic ", | |
"Balearic ", | |
"Baltimore ", | |
"Bass ", | |
"Bass ", | |
"Bass", | |
"Berlin ", | |
"Big ", | |
"Big room ", | |
"Birmingham ", | |
"Bit", | |
"Black ", | |
"Bleep ", | |
"Blog ", | |
"body ", | |
"Bouncy ", | |
"Brazilian ", | |
"Brazilian ", | |
"Break", | |
"Break", | |
"Breakbeat ", | |
"Bro", | |
"Broken ", | |
"Brooklyn ", | |
"Chicago ", | |
"Chicago ", | |
"Chill", | |
"Chip", | |
"Christian ", | |
"City ", | |
"Cloud ", | |
"Cold ", | |
"Complex", | |
"Contemporary ", | |
"cosmic ", | |
"Crunk ", | |
"Cyber ", | |
"dance ", | |
"dance ", | |
"dance ", | |
"dance ", | |
"Dance-", | |
"Dance-", | |
"Dance-", | |
"Dancehall ", | |
"Danger ", | |
"Dark ", | |
"Dark ", | |
"dark ", | |
"Dark ", | |
"Dark ", | |
"Dark", | |
"Dark", | |
"Death ", | |
"Deconstructed ", | |
"Deep ", | |
"Denpa ", | |
"Detroit ", | |
"Digital ", | |
"Disco ", | |
"Disco ", | |
"Diva ", | |
"Down", | |
"Dream ", | |
"Dream", | |
"Drift ", | |
"Drill 'n' ", | |
"Drill", | |
"Drum and ", | |
"Drum", | |
"Drum", | |
"Dub ", | |
"Dub ", | |
"Dub", | |
"Dub", | |
"Dub", | |
"dub", | |
"Dungeon ", | |
"Dutch ", | |
"Early ", | |
"Elec", | |
"Electro ", | |
"Electro ", | |
"Electro ", | |
"Electro ", | |
"Electro", | |
"Electro", | |
"Electro", | |
"Electro-", | |
"Electroacoustic ", | |
"Electroacoustic ", | |
"Electroni", | |
"Electronic ", | |
"Electronic ", | |
"electronic ", | |
"Electronic ", | |
"Electronic ", | |
"electronic ", | |
"Emo ", | |
"Ethereal ", | |
"Ethnic ", | |
"Euphoric ", | |
"Euphoric ", | |
"Euro", | |
"Euro", | |
"Euro", | |
"Euro", | |
"Euro", | |
"Experimental ", | |
"Fidget ", | |
"Flash", | |
"Florida ", | |
"Folk", | |
"Free ", | |
"Free", | |
"French ", | |
"French", | |
"Funk ", | |
"Funk ", | |
"Funk ", | |
"Funk", | |
"Funk", | |
"Funky ", | |
"Future ", | |
"future ", | |
"Future ", | |
"Future ", | |
"Future ", | |
"Future ", | |
"Future", | |
"Garage ", | |
"Ghetto ", | |
"Ghetto", | |
"Glitch ", | |
"Goa ", | |
"Happy ", | |
"Hard ", | |
"Hard ", | |
"Hard ", | |
"hard ", | |
"hard ", | |
"Hard ", | |
"Hard ", | |
"Hard", | |
"Hard", | |
"Hard", | |
"Hard", | |
"Hard", | |
"Hard", | |
"Hardcore ", | |
"Harsh ", | |
"Harsh ", | |
"Haunt", | |
"Hi-", | |
"Hip ", | |
"Hip hop ", | |
"Hipster ", | |
"House ", | |
"Hyper", | |
"Hypnagogic ", | |
"Ill", | |
"Indie", | |
"Industrial ", | |
"Industrial ", | |
"Industrial ", | |
"Industrial ", | |
"Industrial ", | |
"Industrial ", | |
"Instrumental ", | |
"Intelligent ", | |
"Intelligent ", | |
"Italo ", | |
"Italo ", | |
"Italo ", | |
"J-", | |
"Jackin ", | |
"Jazz ", | |
"Jazz", | |
"Jazz", | |
"Jersey ", | |
"Juke ", | |
"Jump", | |
"Jungle ", | |
"Jungle ", | |
"Jungle", | |
"Kawaii ", | |
"Kraut", | |
"Lap", | |
"Latin ", | |
"Latin ", | |
"Liquid ", | |
"Live ", | |
"Live", | |
"Lo-fi ", | |
"Lofi ", | |
"Mainstream ", | |
"Mall", | |
"Manila ", | |
"Martial ", | |
"Melbourne ", | |
"Melodic ", | |
"Miami ", | |
"Micro", | |
"Micro", | |
"Midtempo ", | |
"Minimal ", | |
"Minimal ", | |
"Minimal ", | |
"Moombah", | |
"Moombah", | |
"Moombah", | |
"Mumble ", | |
"Neo ", | |
"Neoclassical ", | |
"Neoclassical ", | |
"Neuro", | |
"New ", | |
"New ", | |
"New ", | |
"New ", | |
"New ", | |
"New Jersey ", | |
"Night", | |
"Nintendo", | |
"Noise ", | |
"noise ", | |
"Nu ", | |
"Nu-", | |
"Nu-", | |
"Nu-skool ", | |
"Outsider ", | |
"Philly ", | |
"Phonk", | |
"Plunder", | |
"Post-", | |
"Post-", | |
"post-", | |
"Post-", | |
"Power ", | |
"Power ", | |
"Progressive ", | |
"Progressive ", | |
"Progressive ", | |
"Progressive ", | |
"Progressive ", | |
"Psy", | |
"Psy", | |
"Psychedelic ", | |
"Psychedelic ", | |
"Pumping ", | |
"Ragga ", | |
"Ragga", | |
"Ragga", | |
"Rally ", | |
"Rara ", | |
"Rave ", | |
"Raw", | |
"Reggae", | |
"Regional ", | |
"Russ ", | |
"Sample", | |
"Scouse ", | |
"Sequencer ", | |
"Sham", | |
"Shangaan ", | |
"Slap ", | |
"Snap ", | |
"Sophisti-", | |
"Soulful ", | |
"Sound", | |
"Soviet", | |
"Space ", | |
"Space ", | |
"Space ", | |
"Space", | |
"Speed ", | |
"Speed", | |
"Splitter", | |
"Stadium ", | |
"Synth", | |
"Synth-", | |
"Synth-", | |
"Synth-", | |
"Synth-", | |
"Tech ", | |
"Tech ", | |
"Tech", | |
"Tecno", | |
"Toytown ", | |
"Trance ", | |
"Trap", | |
"Trap", | |
"Tribal ", | |
"Tribal ", | |
"Trip ", | |
"Trip ", | |
"Tropical ", | |
"UK ", | |
"UK ", | |
"UK ", | |
"UK ", | |
"UK ", | |
"UK ", | |
"UK ", | |
"Uplifting ", | |
"Vapor", | |
"Vocal ", | |
"Witch ", | |
"Wonky ", | |
"World", | |
]; | |
const suffixes = [ | |
"", | |
"", | |
"", | |
"", | |
"", | |
"Ambient", | |
"ambient", | |
"bag", | |
"Baggy", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"bass", | |
"beat", | |
"beat", | |
"beat", | |
"beat", | |
"beat", | |
"beat", | |
"beats", | |
"bient", | |
"bient", | |
"Boogie", | |
"bounce", | |
"Breakbeat", | |
"breakbeat", | |
"breaks", | |
"breaks", | |
"breaks", | |
"breaks", | |
"breaks", | |
"carioca", | |
"Chill-out", | |
"clash", | |
"club", | |
"club", | |
"club", | |
"club", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"core", | |
"Crunk", | |
"cumbia", | |
"dance", | |
"dance", | |
"dance", | |
"dance", | |
"Darkcore", | |
"delia", | |
"Disco", | |
"disco", | |
"disco", | |
"disco", | |
"disco", | |
"disco", | |
"disco", | |
"drill", | |
"drill", | |
"Drone", | |
"drum and bass", | |
"drum and bass", | |
"dub", | |
"dub", | |
"Dub", | |
"EDM", | |
"EDM", | |
"electro", | |
"Electro", | |
"electro", | |
"electronic", | |
"electronic", | |
"electronic", | |
"electronica", | |
"electronics", | |
"Footwork", | |
"frenchcore", | |
"funk", | |
"funk", | |
"funk", | |
"funk", | |
"funk", | |
"funky", | |
"fusion genres", | |
"fusion genres", | |
"Gabber", | |
"garage", | |
"garage", | |
"garage", | |
"garage", | |
"gaze", | |
"Glitch", | |
"Grime", | |
"grind", | |
"guarachero", | |
"hardcore", | |
"hardcore", | |
"hardcore", | |
"hardcore", | |
"hardcore", | |
"hardcore", | |
"hardcore", | |
"hardstyle", | |
"hip hop", | |
"hip hop", | |
"hip hop", | |
"hip hop", | |
"hop", | |
"hop", | |
"hop", | |
"hop", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"house", | |
"improvisation", | |
"industrial", | |
"industrial", | |
"industrial", | |
"industrial", | |
"industrial", | |
"Isolationism", | |
"jack swing", | |
"jazz", | |
"Jump-up", | |
"Jungle", | |
"Kuduro", | |
"line", | |
"melody", | |
"metal", | |
"metal", | |
"metal", | |
"MIDI", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"music", | |
"New-age", | |
"new-age", | |
"noise", | |
"noise", | |
"NRG", | |
"NRG", | |
"ology", | |
"phonics", | |
"phonk", | |
"phonk", | |
"Plugg", | |
"poetry", | |
"polo", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"pop", | |
"psytrance", | |
"psytrance", | |
"psytrance", | |
"punk", | |
"punk", | |
"punk", | |
"R&B", | |
"R&B", | |
"rap", | |
"rap", | |
"rap", | |
"rave", | |
"rave", | |
"rave", | |
"Reductionism", | |
"rock", | |
"rock", | |
"rock", | |
"rock", | |
"rock", | |
"rock", | |
"rock", | |
"romantic", | |
"Sambass", | |
"scape", | |
"Schaffel", | |
"School", | |
"soft", | |
"soul", | |
"soul", | |
"sound", | |
"sound", | |
"sound", | |
"sound", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"step", | |
"style", | |
"style", | |
"style", | |
"style", | |
"style", | |
"style", | |
"swing", | |
"swing", | |
"synth", | |
"synth", | |
"synth", | |
"tech", | |
"tech", | |
"tech", | |
"tech", | |
"techno", | |
"Techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"techno", | |
"tek", | |
"tek", | |
"tekno", | |
"tempo", | |
"terror", | |
"ton", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"trance", | |
"Trap", | |
"trap", | |
"trap", | |
"trap", | |
"tro", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tronica", | |
"tune", | |
"Underground", | |
"vapour", | |
"wall", | |
"Wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
"wave", | |
]; | |
function capitalization(word, suffix) { | |
if (word == "" || word.endsWith(" ") || word.endsWith("-")) { | |
return suffix[0].toUpperCase() + suffix.substring(1); | |
} else { | |
return suffix[0].toLowerCase() + suffix.substring(1); | |
} | |
} | |
function updateTitleAndIframe() { | |
let word = ""; | |
if (Math.random() < 0.1) { | |
word += capitalization(word, prefixes[Math.floor(Math.random() * prefixes.length)]); | |
} | |
word += capitalization(word, prefixes[Math.floor(Math.random() * prefixes.length)]); | |
word += capitalization(word, suffixes[Math.floor(Math.random() * suffixes.length)]); | |
word = word.trim(); | |
document.getElementById("title").innerHTML = `Your Electronic Music Genre of the Day: ${word}`; | |
const searchTerm = `${word.replaceAll(" ", "+")}`; | |
document.getElementById("search-spotify").href = `https://open.spotify.com/search/${searchTerm}`; | |
document.getElementById("search-youtube").href = `https://www.youtube.com/results?search_query=${searchTerm}`; | |
document.getElementById("search-youtubemusic").href = `https://music.youtube.com/search?q=${searchTerm}`; | |
} | |
updateTitleAndIframe(); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment