Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A preset library for instruments #91

Open
0b5vr opened this issue May 3, 2023 · 5 comments
Open

A preset library for instruments #91

0b5vr opened this issue May 3, 2023 · 5 comments
Labels
enhancement New feature or request

Comments

@0b5vr
Copy link

0b5vr commented May 3, 2023

It's probably related to #88 but that is about having 4klang compatibility so let me open a separated issue.

Motivation

The main motivation is to make people create music on sointu without knowing how to design instruments.

Because making an instrument requires knowledge of both basic synth and stack data structure! That's pretty hard for beginners.

Possible solutions

Having a preset library or a feature to load such libraries might be very cool to have.

  • Epic: Have a dedicated preset library browser as industry VSTi synth does
  • Great: A simple dropdown to select instruments from a library
    • You would probably be able to load a set of instruments from a song file
  • Still good: simply having a UI to load/save instruments

It's a famous episode that Yamaha DX7 used to be popular thanks to its expressive presets and ability to load expansion cartridges.

Like, imagine having a "Virgill preset library". That would motivate people to make 4k music.

Current workaround

Copy and paste feature exists; it requires interacting with yaml file though, which is a bit spicy for non-coders.

@0b5vr 0b5vr changed the title A preset library A preset library for instruments May 3, 2023
@vsariola vsariola added the enhancement New feature or request label May 4, 2023
@vsariola
Copy link
Owner

vsariola commented May 4, 2023

Hi,

Thank you for bringing this up! There has always been the goal of doing such an example instrument (and song) library, but I never got around finishing it (the examples/instruments folder). However, in addition to trying to add instruments there, there's a few developments that should remedy the problem a bit:

  1. LeStahL is working on importing 4klang instruments directly to sointu, in Draft: Added 4klang binary format construct. #89. This should allow us to import all the examples from 4klang and save them to the repo. But the PR is not ready to be merged yet.

  2. I am working on running sointu in a vsti, in the vsti branch. It's a mess still, because I'm still mostly drafting phase, but I'll squeeze and clean it soon & merge it to main branch. All the hard stuff is figured out e.g. receiving MIDI and recording songs, but the GUI is not really adapted to be a vsti instrument. Also, it crashes when you close the window etc. etc. so such things need to be ironed out. But the vsti should bring more user base to sointu, from which we could request contributions in form of example instruments.

  3. Finally, you might be interested to hear that petersalomonsen is working on the webasssembly side of things, and some bug fixed and improvements are coming to that side soon, when Sointu server for use with webassembly music #90 is merged. One thing he has done is running the webassembly synth in browser in livemode e.g. using MIDI (or similar) to trigger and release notes. He's reporting latencies as low as 2 ms on an Apple M1, so if you don't want to compose music in vsti or in the command line tracker, but like to make your own sequencing in browser, that should be possible in future too.

But none of these are merged yet :) Sorry to keep you waiting.

@vsariola
Copy link
Owner

Update: vsti is merged to master branch, I'll spend now some time to squash some bugs

@vsariola
Copy link
Owner

vsariola commented Jul 6, 2023

Update: rudimentary version of loading 4klang patches & 4klang instruments is now merged to master branch. I also dropped the 4klang patches & instruments from the 4klang repo to this repo here, so now there is at least the 4klang preset library to work with.

@vsariola
Copy link
Owner

vsariola commented Oct 1, 2023

There's now a menu containing several preset instruments and these presets are embedded in the executable, so they will be always there. I closed this as complete for now, even if the preset menu is a bit crude way to present the list.

@vsariola vsariola reopened this Sep 10, 2024
@vsariola
Copy link
Owner

Let's reopen this issue, just to remind us that we are still missing a proper preset explorer. Several improvements could be very useful:

  1. Ability to organize presets hierarchically, probably mapped to a directory hierarchy on disk
  2. Find presets by name
  3. Save current instrument (patch?) as a user-defined preset
  4. Filtering only built-in presets and/or user-defined presets
    ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants