-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
159 lines (153 loc) · 5.42 KB
/
index.html
File metadata and controls
159 lines (153 loc) · 5.42 KB
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
---
layout: default
---
<div class="home-hero text-center px-3 py-5">
<h1 class="display-4">{{ site.title }}</h1>
<p class="lead home-hero__lead">
A pattern language for music — available as a Node module, as VST3 plugins
or Max for Live devices, and as standalone browser tools.
</p>
<p class="home-hero__sub">If JavaScript is your thing:</p>
<div class="my-4">
<pre
class="prettyprint d-inline-block mb-0"
><code>npm install scribbletune</code></pre>
</div>
<a class="btn-home-primary mr-3" href="/documentation">Documentation</a>
<a
class="btn-home-secondary"
href="https://github.com/scribbletune/scribbletune"
>
GitHub <img class="social-icon" src="/images/icons/gh.svg" alt="GitHub" />
</a>
</div>
<section class="home-pillars py-5">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<div class="pillar-card">
<div class="pillar-card__icon"><i class="icon icon-music"></i></div>
<h3 class="pillar-card__title">Node Module & Browser</h3>
<p class="pillar-card__body">
Generate MIDI files with JavaScript using the core
<code>scribbletune</code> npm package. Use the same API in the
browser — paired with Tone.js — to play patterns live.
</p>
<div class="pillar-card__code">
<pre class="prettyprint"><code>const clip = scribble.clip({
notes: scribble.scale('C4 major'),
pattern: 'x-x-xx-x',
});
scribble.midi(clip, 'melody.mid');</code></pre>
</div>
<a class="pillar-card__link" href="/documentation"
>Read the docs <i class="icon icon-right"></i
></a>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="pillar-card">
<div class="pillar-card__icon"><i class="icon icon-sliders"></i></div>
<h3 class="pillar-card__title">DAW Plugins</h3>
<p class="pillar-card__body">
Bring Scribbletune's pattern language directly into your DAW. Riff
and Drummer are available as VST3/AU plugins for Mac and Windows,
Max for Live devices, and a Bitwig controller script.
</p>
<ul class="pillar-card__list">
<li>Riff VST3/AU — melodic pattern generation</li>
<li>Drummer VST3/AU — 260+ genre patterns</li>
<li>Riff & Drummer Max for Live devices</li>
<li>Riff for Bitwig controller script</li>
</ul>
<a class="pillar-card__link" href="/plugins"
>Explore plugins <i class="icon icon-right"></i
></a>
</div>
</div>
<div class="col-md-4 mb-4">
<div class="pillar-card">
<div class="pillar-card__icon"><i class="icon icon-screen"></i></div>
<h3 class="pillar-card__title">Web Apps & Tools</h3>
<p class="pillar-card__body">
Browser-based tools built on Scribbletune's concepts. Sketch
Eurorack and VCV Rack patch diagrams with the Patch Notation Tool,
or build your own music apps using the browser API.
</p>
<ul class="pillar-card__list">
<li>Patch Notation Tool — SVG patch diagrams</li>
<li>
<a href="http://live.scribbletune.com/">live.scribbletune.com</a>
— session interface
</li>
</ul>
<a class="pillar-card__link" href="/plugins#pnt"
>Open tools <i class="icon icon-right"></i
></a>
</div>
</div>
</div>
</div>
</section>
<section class="home-audio py-4">
<div class="container">
<p class="home-section-title">Hear it</p>
<p class="home-section-sub">
Chords generated with the arp API, imported into Ableton Live:
</p>
<iframe
width="100%"
height="166"
scrolling="no"
frameborder="no"
allow="autoplay"
src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/652853867&color=%23080404&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true"
></iframe>
<a class="home-section-more" href="/examples"
>More examples <i class="icon icon-right"></i
></a>
</div>
</section>
<section class="home-latest py-5">
<div class="container">
<p class="home-section-title">Latest</p>
<div class="row mt-3">
{% for item in site.data.latest limit:3 %}
<div class="col-md-4 mb-4">
<div class="latest-card">
{% if item.type == "video" %}
<div class="video-wrapper">
<iframe
src="{{ item.embed }}"
frameborder="0"
allow="
accelerometer;
autoplay;
clipboard-write;
encrypted-media;
gyroscope;
picture-in-picture;
"
allowfullscreen
></iframe>
</div>
{% elsif item.type == "audio" %}
<iframe
width="100%"
height="100"
scrolling="no"
frameborder="no"
allow="autoplay"
src="{{ item.embed }}"
></iframe>
{% endif %}
<p class="latest-card__label">
<span class="latest-card__type">{{ item.type | upcase }}</span>{{
item.title }}
</p>
</div>
</div>
{% endfor %}
</div>
</div>
</section>