Files
Cagire/website/src/pages/index.astro
Raphaël Forment 52cc890a67
Some checks failed
Deploy Website / deploy (push) Failing after 4m50s
Feat: website WIP and new words
2026-02-06 16:19:09 +01:00

105 lines
6.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cagire - Forth-based live coding sequencer</title>
<meta name="description" content="Forth-based live coding music sequencer">
<meta name="author" content="Raphaël Forment">
<meta name="keywords" content="live coding, forth, sequencer, music, audio, ableton link, synthesizer">
<link rel="canonical" href="https://cagire.raphaelforment.fr">
<meta property="og:title" content="Cagire - Forth-based live coding sequencer">
<meta property="og:description" content="Forth-based live coding music sequencer">
<meta property="og:type" content="website">
<meta property="og:url" content="https://cagire.raphaelforment.fr">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Cagire - Forth-based live coding sequencer">
<meta name="twitter:description" content="Forth-based live coding music sequencer">
<link rel="icon" href="/favicon.ico">
<meta property="og:image" content="/Cagire.png">
<link rel="stylesheet" href="/style.css">
</head>
<body>
<header>
<img class="icon" src="/Cagire.png" alt="Cagire">
<div>
<h1>CAGIRE: LIVE CODING IN FORTH</h1>
<p class="subtitle">AGPL-3.0 · Raphaël Maurice Forment · 2026</p>
</div>
</header>
<div class="examples-grid">
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
<div class="example-cell"><video src="" muted loop playsinline></video></div>
</div>
<h2>Download</h2>
<table class="downloads-table">
<tr>
<th>Platform</th>
<th>Desktop</th>
<th>Terminal</th>
</tr>
<tr>
<td>macOS (Universal)</td>
<td colspan="2"><a href="https://github.com/Bubobubobubobubo/cagire/releases/latest/download/cagire-macos-universal.pkg">.pkg</a></td>
</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 are available on <a href="https://github.com/Bubobubobubobubo/cagire/releases/latest">GitHub</a>. You can also compile the software yourself by getting it from Cargo!</p>
<video src="/mono_cagire.mp4" autoplay muted loop playsinline></video>
<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 associated 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>Features</h2>
<ul>
<li>Robust synthesis engine: synthesizers, sampling, effects, live input, and more to discover.</li>
<li>Ableton Link: jam with your friends or include other software / hardware to your setup.</li>
<li>32 banks × 32 patterns × 128 steps per project: (~131.000 scripts per project).</li>
<li>Forth: objectively the coolest / minimal / hackable language to make music with!</li>
<li>Embedded dictionary and documentation! Learn while coding!</li>
</ul>
<h2>Live Coding</h2>
<p>Live coding is a technique where a programmer writes code in real-time in front of an audience. It is a way to experiment with code, to share things and thoughts openly, to express yourself through code. It can be technical, poetical, weird, preferably all at once. Live coding can be used to create music, visual art, and other forms of media. Live coding is an autotelic activity: doing it is its own reward. There are no errors, only fun. Learn more at <a href="https://toplap.org">TOPLAP</a> or <a href="https://livecoding.fr">livecoding.fr</a>.</p>
<p class="colophon">
<a href="https://raphaelforment.fr">BuboBubo</a> · Audio engine: <a href="https://doux.livecoding.fr">Doux</a> · <a href="https://github.com/Bubobubobubobubo/cagire">GitHub</a> · AGPL-3.0 · <button id="theme-toggle" aria-label="Toggle theme">LIGHT</button>
</p>
<script is:inline src="/script.js"></script>
</body>
</html>