LMMS / LMMS/lmms

Bit Invader - Wavetable banks

Open
#5,849 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

![wavetable](https://user-images.githubusercontent.com/6368949/102062603-404cf800-3df5-11eb-9f24-5e478a1be511.png)

### Enhancement Summary

The Bit Invader need more functions.

![wavetablemockup](https://user-images.githubusercontent.com/6368949/102077626-e7d42580-3e09-11eb-87f3-665ab7f543f8.png)

- [ ] Wave table bank. Instead of loading new shapes one wave at a time via the file browser, load a complete bank that you can step through. You should also be able to cycle through a bank with automation.

- [ ] Increase the wavetable size to a standard size. This means a multiple of two and 256 bytes length is closest from today's 200 and pretty common in wavetable synthesizers.

Currently we have a setting for wave length that can be modulated by a controller and I think if we load banks that they should be loaded in their entirety and then instead of clearing the samples after the set length you grey out that part visually while playing back silence. This way you can step throught different waves and simultaneously add PWM like character to it.

### Reference Material and Inspiration

Open source wavetable editor (GPLv3).
Source: https://github.com/AndrewBelt/WaveEdit
Binaries: https://synthtech.com/waveedit
Waves: https://waveeditonline.com/ (CC0 1.0)

Another wavetable editor is wave256 which was distributed, if I remember correctly, by Wiard. It's not on their homepage
anymore or open source. Here is the guy who made that one : http://blog.alllthingsmodular.com/2018/02/so-i-made-thing.html

Adventure Kid Wave Forms (more waves) : https://github.com/KristofferKarlAxelEkstrand/AKWF-FREE (CC0 1.0)

![wavetable2](https://user-images.githubusercontent.com/6368949/102062620-480c9c80-3df5-11eb-9292-f1e92ab90ce7.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by locating the Bit Invader wavetable loading, waveform-length, and automation entry points, then clarify the bank format, standard length, playback behavior, and UI changes. Done should include both requested wavetable-bank navigation and the revised wavetable-size behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.