Lots + MIDI implementation
This commit is contained in:
173
website/src/pages/index.astro
Normal file
173
website/src/pages/index.astro
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Cagire</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'CozetteVector';
|
||||
src: url('/CozetteVector.ttf') format('truetype');
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'CozetteVector', monospace;
|
||||
background: #0a0a0a;
|
||||
color: #e0e0e0;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 1rem;
|
||||
line-height: 1.3;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #64a0b4;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #64a0b4;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 0.25rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
p { margin: 0.25rem 0; }
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
margin: 0.5rem 0;
|
||||
}
|
||||
|
||||
a { color: #cccc44; }
|
||||
|
||||
ul {
|
||||
padding-left: 1.5rem;
|
||||
margin: 0.25rem 0;
|
||||
}
|
||||
|
||||
li { margin: 0.1rem 0; }
|
||||
|
||||
pre {
|
||||
background: #1a1a1a;
|
||||
padding: 0.5rem;
|
||||
overflow-x: auto;
|
||||
margin: 0.25rem 0;
|
||||
}
|
||||
|
||||
.downloads-table {
|
||||
border-collapse: collapse;
|
||||
margin: 0.5rem 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.downloads-table th,
|
||||
.downloads-table td {
|
||||
padding: 0.25rem 0.75rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.downloads-table th {
|
||||
color: #64a0b4;
|
||||
}
|
||||
|
||||
.downloads-table td:first-child {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.downloads-table tr:nth-child(even) {
|
||||
background: #151515;
|
||||
}
|
||||
|
||||
.note {
|
||||
color: #555;
|
||||
font-size: 0.8rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.note a {
|
||||
color: #777;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>CAGIRE: LIVE CODING IN FORTH</h1>
|
||||
|
||||
<table class="downloads-table">
|
||||
<tr>
|
||||
<th>Platform</th>
|
||||
<th>Desktop</th>
|
||||
<th>Terminal</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>macOS (ARM)</td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-macos-aarch64-desktop.app.zip">.app</a></td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-macos-aarch64.tar.gz">.tar.gz</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>macOS (Intel)</td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-macos-x86_64-desktop.app.zip">.app</a></td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-macos-x86_64.tar.gz">.tar.gz</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Windows</td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-windows-x86_64-desktop.exe">.exe</a></td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-windows-x86_64.zip">.zip</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linux</td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-linux-x86_64-desktop.deb">.deb</a></td>
|
||||
<td><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-linux-x86_64.tar.gz">.tar.gz</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="note">All releases on <a href="https://github.com/Bubobubobubobubo/cagire/releases/latest">GitHub</a>. You can also compile the software yourself or get it from Cargo!</p>
|
||||
|
||||
<img src="/cagire.png" alt="Cagire screenshot">
|
||||
|
||||
<h2>About</h2>
|
||||
<p>Cagire is a step sequencer where each step contains a Forth script instead of typical note data. When the sequencer reaches a step, it runs the script. Scripts can produce sound, trigger samples, apply effects, or do nothing at all. You are free to define what your scripts will do. Cagire includes a built-in audio engine called <a href="https://doux.livecoding.fr">Doux</a>. No external software is needed to make sound. It comes with oscillators, sample players, filters, reverb, delay, distortion, and more.</p>
|
||||
|
||||
<h2>Code Examples</h2>
|
||||
<p>A minimal script that plays a middle C note using a sine wave:</p>
|
||||
<pre>c4 note sine sound .</pre>
|
||||
|
||||
<p>Sawtooth wave with lowpass filter, chorus and reverb:</p>
|
||||
<pre>saw sound 1200 lpf 0.2 chorus 0.8 verb .</pre>
|
||||
|
||||
<p>Pitched-down kick drum sample with distortion:</p>
|
||||
<pre>kkick sound 1.5 distort 0.8 speed .</pre>
|
||||
|
||||
<h2>Features</h2>
|
||||
<ul>
|
||||
<li>32 banks × 32 patterns × 128 steps per project</li>
|
||||
<li>Ableton Link synchronization</li>
|
||||
<li>Built-in synthesis engine (oscillators, samples, wavetables)</li>
|
||||
<li>Effects: filters, reverb, delay, distortion, chorus</li>
|
||||
<li>User-defined words and shared variables</li>
|
||||
<li>Embedded dictionary and documentation</li>
|
||||
</ul>
|
||||
|
||||
<h2>Live Coding</h2>
|
||||
<p>Live coding is a technique where a programmer writes code in real-time, often in front of an audience. It can be used to create music, visual art, and other forms of media. Learn more at <a href="https://toplap.org">TOPLAP</a> or <a href="https://livecoding.fr">livecoding.fr</a>.</p>
|
||||
|
||||
<h2>Credits</h2>
|
||||
<ul>
|
||||
<li><a href="https://raphaelforment.fr">BuboBubo</a> (Raphaël Maurice Forment)</li>
|
||||
<li><a href="https://doux.livecoding.fr">Doux</a> audio engine, Rust port of Dough by <a href="https://eddyflux.cc/">Felix Roos</a></li>
|
||||
<li><a href="https://github.com/sourcebox/mi-plaits-dsp-rs">mi-plaits-dsp-rs</a> by Oliver Rockstedt, based on <a href="https://mutable-instruments.net/">Mutable Instruments</a> Plaits by Emilie Gillet</li>
|
||||
<li>Related: <a href="https://strudel.cc">Strudel</a>, <a href="https://tidalcycles.org">TidalCycles</a>, <a href="https://sova.livecoding.fr">Sova</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Links</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/Bubobubobubobubo/cagire">GitHub</a></li>
|
||||
<li><a href="https://ko-fi.com/raphaelbubo">Ko-fi</a></li>
|
||||
</ul>
|
||||
|
||||
<p style="margin-top: 2rem; color: #666;">AGPL-3.0 License</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user