Skip to content
Snippets Groups Projects
Commit a88b5bd6 authored by David Huss's avatar David Huss :speech_balloon:
Browse files

Start writing manual

parent 6f8ecf95
Branches
Tags
No related merge requests found
# daisy-looper
---
software: daisyy-looper
hardware: daisyy-hardware
language: C++
---
# daisyy-looper
![Photograph of the OLED-Screen on the daisyy](images/screen.jpg)
*daisy-looper* is a software that can be installed on the [daisyy hardware](https://code.hfbk.net/sdiy/daisyy/daisyy-hardware) developed in the course *Synthesizer DIY* that took place during winter semester 2023/2024 at HFBK Hamburg.
## Overview
The looper allows you to record audio from the input and [overdub](https://en.wikipedia.org/wiki/Overdubbing) onto up to 5 different virtual "tapes" called *buffers*. The recorded sounds stored in each buffer will be displayed as a waveform and can be played back at different speeds (including reverse speed) or no speed at all.
Just like with real tape the pitch of the played back sounds changes when the speed of the playhead changes. This can be used for interesting effects.
## Interface
![Mockup of the Daisy Looper Interface](images/interface.svg)
| Element | Description |
| -------------- | ------------------------------------------------------------ |
| Loop Start | Changes where the loop start position is within the current buffer |
| Loop Length | Changes the length of the loop |
| Mix | Mixes between incoming audio and the output of the looper<br>All the way to the left only the incoming (»dry«) audio is heard<br>All the way to the right only the looped (»wet«) audio is heard |
| Speed | Changes the speed of the playhead<br>With a centered knob the speed is 0% |
| Input Gain | Adjusts the level of the incoming audio before it gets converted to digital<br>The RGB-LED displays the incoming audio levels (red means it is clipping) |
| Loop Volume* | Adjusts the volume of the Loopers output |
| Reverb Amount* | Mixes in a Reverb that affects both the incoming and the looped signal |
| LFO Amount* | Adjusts the Amount with which the LFO will affect the position of the playhead, this can lead to very mangled and experimental sounds |
| Rec Menu | Pressing and holding this button opens up the `REC MENU` where settings for the way things are recorded can be changed |
| Play Menu | Pressing and holding this button opens up the `PLAY MENU` where settings affecting the Playback can be changed |
| FX Menu | Pressing and holding this button opens up the `FX MENU` where certain aspects of the effects can be changed more in depth (e.g. Reverb Decay time, LFO-Waveform or Speed, etc.) |
| REC Button | Pressing this button records audio, overwriting/erasing sounds that are already there |
| OVR Button | Pressing this button overdubs audio, adding to sounds that are already there |
| Buffer Menu | Pressing and holding this button will let you change the currently active buffer, giving you a new, clean slate to record into |
*Depending on the settings in the `FX MENU` this knob can have different functions
## Menus
### Play Menu
![Illustration of the Options in the Play Menu](images/menu-play.jpg)
| What | Options | Description |
| --------- | --------------------------------- | ------------------------------------------------------------ |
| Play Mode | Stop / <u>Loop</u> / Multi / MIDI | How the looper plays back audio:<br><b>Stop:</b> Don't play at all<br><b><u>Loop:</u></b> Play a loop with a single playhead (default)<br><b>Multi:</b> Play a loop with multiple playheads<br><b>MIDI:</b> Play only on incoming MIDI notes |
| Mix Mode | <u>Active</u> / Sum / Ring | How the 5 available Buffers are mixed with each other<br><b><u>Active:</u></b> Only the currently active/visible buffer is heard (default)<br><b>Sum:</b> All buffers are heard, even if they are not visible<br><b>Ring:</b> All buffers are ring-modulated with the incoming audio (meaning only if *both* the input and our loop produce sounds we hear something) |
| Restart | - | Press to jump the playhead back to the start of the loop |
| Slow Down | - | Press and hold to start a vinyl-style slowdown |
| Reverse | - | Press and hold to reverse the playback |
# What does the looper do?
*daisy-looper* is a software that can be installed on the [daisyy hardware](/sdiy/daisyy/daisyy-hardware) developed in the course *Synthesizer DIY* that took place during winter semester 2023/2024 at HFBK Hamburg. The looper allows you to record audio present at the input and [overdub](https://en.wikipedia.org/wiki/Overdubbing) into up to 5 different virtual "tapes" called *buffers*. The recorded sounds stored in each buffer will be displayed as a waveform and can be played back at different speeds (including reverse speed).
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 555.59 262.2">
<defs>
<style>
.cls-1 {
letter-spacing: -.09em;
}
.cls-2 {
fill: none;
}
.cls-2, .cls-3 {
stroke: #1a171b;
stroke-miterlimit: 10;
}
.cls-4 {
letter-spacing: .03em;
}
.cls-5 {
letter-spacing: .05em;
}
.cls-6 {
letter-spacing: -.07em;
}
.cls-7 {
fill: #1a171b;
font-family: Inter-Regular, Inter;
font-size: 14px;
}
.cls-8 {
letter-spacing: -.03em;
}
.cls-9 {
letter-spacing: -.02em;
}
.cls-10 {
letter-spacing: -.03em;
}
.cls-3 {
fill: #fff;
}
</style>
</defs>
<rect class="cls-3" x="226.77" y="26.93" width="89.29" height="56.69"/>
<circle class="cls-3" cx="398.27" cy="36.85" r="17.01"/>
<polyline class="cls-2" points="395.43 19.84 395.43 32.6 401.1 32.6 401.1 19.84"/>
<text class="cls-7" transform="translate(419.53 41.36)"><tspan x="0" y="0">INPUT </tspan><tspan class="cls-9" x="46.44" y="0">G</tspan><tspan x="56.52" y="0">AIN</tspan></text>
<circle class="cls-3" cx="398.27" cy="97.32" r="17.01"/>
<polyline class="cls-2" points="395.43 80.31 395.43 93.07 401.1 93.07 401.1 80.31"/>
<text class="cls-7" transform="translate(419.53 101.84)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP </tspan><tspan class="cls-8" x="41.62" y="0">V</tspan><tspan x="50.61" y="0">OLUME*</tspan></text>
<circle class="cls-3" cx="398.27" cy="157.8" r="17.01"/>
<polyline class="cls-2" points="395.43 140.79 395.43 153.54 401.1 153.54 401.1 140.79"/>
<text class="cls-7" transform="translate(419.53 162.31)"><tspan x="0" y="0">REVERB AMOUN</tspan><tspan class="cls-8" x="110.97" y="0">T</tspan><tspan x="119.48" y="0">*</tspan></text>
<circle class="cls-3" cx="398.27" cy="218.27" r="17.01"/>
<polyline class="cls-2" points="395.43 201.26 395.43 214.02 401.1 214.02 401.1 201.26"/>
<text class="cls-7" transform="translate(419.53 222.78)"><tspan x="0" y="0">LFO AMOUN</tspan><tspan class="cls-8" x="84.5" y="0">T</tspan><tspan x="93.01" y="0">*</tspan></text>
<circle class="cls-3" cx="144.57" cy="36.85" r="17.01"/>
<polyline class="cls-2" points="141.73 19.84 141.73 32.6 147.4 32.6 147.4 19.84"/>
<text class="cls-7" transform="translate(37.56 41.36)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP S</tspan><tspan class="cls-1" x="50.55" y="0">T</tspan><tspan x="58.35" y="0">ART</tspan></text>
<circle class="cls-3" cx="144.57" cy="97.32" r="17.01"/>
<polyline class="cls-2" points="141.73 80.31 141.73 93.07 147.4 93.07 147.4 80.31"/>
<text class="cls-7" transform="translate(24.67 101.84)"><tspan class="cls-10" x="0" y="0">L</tspan><tspan x="7.48" y="0">OOP LEN</tspan><tspan class="cls-4" x="68.41" y="0">G</tspan><tspan x="79.29" y="0">TH</tspan></text>
<circle class="cls-3" cx="144.57" cy="157.8" r="17.01"/>
<polyline class="cls-2" points="141.73 140.79 141.73 153.54 147.4 153.54 147.4 140.79"/>
<text class="cls-7" transform="translate(97.85 162.31)"><tspan x="0" y="0">MIX</tspan></text>
<circle class="cls-3" cx="144.57" cy="218.27" r="17.01"/>
<polyline class="cls-2" points="141.73 201.26 141.73 214.02 147.4 214.02 147.4 201.26"/>
<text class="cls-7" transform="translate(78.68 222.78)"><tspan x="0" y="0">SPEED</tspan></text>
<circle class="cls-3" cx="358.58" cy="36.85" r="4.25"/>
<rect class="cls-3" x="187.09" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(200.01 194.43)"><tspan x="0" y="0">REC</tspan></text>
<rect class="cls-3" x="243.78" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(256.16 194.43)"><tspan class="cls-8" x="0" y="0">O</tspan><tspan x="10.18" y="0">VR</tspan></text>
<rect class="cls-3" x="301.89" y="178.58" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(308.92 194.43)"><tspan x="0" y="0">BUF</tspan><tspan class="cls-8" x="27.7" y="0">F</tspan><tspan x="35.44" y="0">.</tspan><tspan x="-1.38" y="16.8">MENU</tspan></text>
<rect class="cls-3" x="187.09" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(200.01 137.74)"><tspan x="0" y="0">REC</tspan><tspan x="-7.28" y="16.8">MENU</tspan></text>
<rect class="cls-3" x="243.78" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(252.88 137.74)"><tspan x="0" y="0">P</tspan><tspan class="cls-5" x="8.89" y="0">L</tspan><tspan class="cls-6" x="17.4" y="0">A</tspan><tspan x="25.83" y="0">Y </tspan><tspan x="-3.46" y="16.8">MENU</tspan></text>
<rect class="cls-3" x="301.89" y="121.89" width="53.86" height="53.86" rx="5.99" ry="5.99"/>
<text class="cls-7" transform="translate(319.96 137.74)"><tspan x="0" y="0">FX</tspan><tspan x="-12.43" y="16.8">MENU</tspan></text>
</svg>
\ No newline at end of file
images/menu-play.jpg

16 KiB

images/screen.jpg

64.6 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment