-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
115 lines (107 loc) · 5.39 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<html>
<head>
<link rel="icon" href="assets/favicon-96x96.png">
<link rel="stylesheet" href="assets/main.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta property="og:title" content="Virtual Megus">
<meta property="og:locale" content="en_US">
<meta name="description" content="A generative music experiment">
<meta property="og:description" content="A generative music experiment">
<link rel="canonical" href="https://megus.org/virtual-megus">
<meta property="og:url" content="https://megus.org/virtual-megus">
<meta property="og:site_name" content="Virtual Megus">
<meta property="og:image" content="https://megus.org/virtual-megus/assets/virtual-megus.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@sugem">
<meta name="twitter:creator" content="@sugem">
<script type="application/ld+json">{"description":"A generative music experiment","@type":"WebPage","url":"https://megus.org/virtual-megus","image":"https://megus.org/virtual-megus/assets/virtual-megus.png","headline":"Virtual Megus","@context":"http://schema.org"}</script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/core/AudioFileManager.js"></script>
<script type="text/javascript" src="js/core/Composer.js"></script>
<script type="text/javascript" src="js/core/Core.js"></script>
<script type="text/javascript" src="js/core/FX.js"></script>
<script type="text/javascript" src="js/core/Mixer.js"></script>
<script type="text/javascript" src="js/core/MixerChannel.js"></script>
<script type="text/javascript" src="js/core/Sequencer.js"></script>
<script type="text/javascript" src="js/core/Unit.js"></script>
<script type="text/javascript" src="js/core/utils.js"></script>
<script type="text/javascript" src="js/core/VisualLayer.js"></script>
<script type="text/javascript" src="js/core/Visualizer.js"></script>
<script type="text/javascript" src="js/fx/Delay.js"></script>
<script type="text/javascript" src="js/units/SubSynthVoice.js"></script>
<script type="text/javascript" src="js/units/MonoSynth.js"></script>
<script type="text/javascript" src="js/units/PolySynth.js"></script>
<script type="text/javascript" src="js/units/DrumMachine.js"></script>
<script type="text/javascript" src="js/visuals/VCommon.js"></script>
<script type="text/javascript" src="js/visuals/VDots.js"></script>
<script type="text/javascript" src="js/visuals/VMegusLogo.js"></script>
<script type="text/javascript" src="js/visuals/VTriangles.js"></script>
<script type="text/javascript" src="js/units/SynthPresets.js"></script>
<script type="text/javascript" src="js/composer1/Composer1.js"></script>
<script type="text/javascript" src="js/composer1/GDrums1.js"></script>
<script type="text/javascript" src="js/composer1/GBass1.js"></script>
<script type="text/javascript" src="js/composer1/GArp1.js"></script>
<script type="text/javascript" src="js/composer1/GPad1.js"></script>
<script type="text/javascript" src="js/composer1/GMelody1.js"></script>
<script type="text/javascript" src="js/composer1/Harmony.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-104711057-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-104711057-2');
</script>
</head>
<body onload="init();">
<h1>Virtual Megus</h1>
<p id="subtitle">A generative music experiment</p>
<div id="mainContainer">
<canvas id="visuals" width="1024" height="1024"></canvas>
<div id="buttonContainer" class="buttonContainer1">
<button id="playButton" class="mainButton" onclick="play();"></button>
<button id="stopButton" class="mainButton" onclick="stop();"></button>
<button id="pauseButton" class="mainButton" onclick="pause();"></button>
</div>
</div>
<div id="textContent">
<p>
Generative music is one of my long-time interests. Virtual Megus is an attempt to create a system
that plays neverending electronic music. I’m not into abstract noises, so my goal is to
achieve pleasant-sounding results. As a musician, I obviously have some biases, and my system
probably has them too, hence the name — Virtual Megus.
</p>
<p>Virtual Megus works in Chrome and Firefox browsers.</p>
<h3>Current features</h3>
<ul>
<li>Audio engine (synths and effects):</li>
<ul>
<li>Drum machine</li>
<li>Monophonic subtractive synth</li>
<li>Polyphonic subtractive synth</li>
</ul>
<li>Music generation:</li>
<ul>
<li>Simple, but pretty powerful drum pattern generator</li>
<li>Primitive random bass line generator</li>
<li>Primitive random arpeggio generator</li>
<li>Simple melody generator</li>
<li>Chord progressions generator</li>
<li>Simple song structure generator</li>
</ul>
<li>UI:</li>
<ul>
<li>Simple visualizer</li>
</ul>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/Megus/virtual-megus">Source code on GitHub</a></li>
<li><a href="https://megus.org">My website</a></li>
<li><a href="https://twitter.com/sugem">My Twitter</a></li>
</ul>
<p id="updated">Last update: August 18, 2020.</p>
</div>
</body>
</html>