Giter Club home page Giter Club logo

sonarigo's Introduction

Sonarigo

A sampling instrument right now playing (some) SFZ samples.

Introduction

The project aims to provide a LV2 plugin to use SFZ instruments in a LV2 host. Right now one needs external applications like LinuxSampler which rather complicates things.

Status

The development is in an early stage. Only the features needed for the Salamander Grand Piano are implemented as of now.

There is a rudimentary jack application and a rudimentary LV2 plugin.

Installation

Tricky. The thing is written in Rust, so you at first need to have a running rust compiler compile it and Cargo, Rust's package manager to fetch the dependencies. On Ubuntu you can install the packages rustc and cargo. If you want to use sonarigo as an LV2 plugin, you additionally need to install clang. On other distros there are probably similar packages. Also take a look at the recommendations on the Rust page and in the Cargo Book.

Once you have a running Rust/Cargo setup, clone this repository, and run

install_lv2.sh

from within the directory from a terminal. You should see a bunch of messages in your terminal. Finally it should say sonarigo.lv2 successfully installed.

Then you should find Sonarigo in plugins hosts like Ardour and Carla.

This works at least on Linux. About other systems I don't know.

Usage

Quite easy. The generic GUI lets you select an SFZ file and adjust the output gain. That's it.

Todo

Things I will definitely do

  • Do all kinds of tiny improvements and bugfixes

  • Implement proper Atom communication between LV2 plugin and the host

  • Implement the important loop_* opcodes.

  • Implement some other important sfz tags

Things I will probably do

  • Write documentation

Things I probably won't do but would love to see someone else do

  • Write installation scripts for systems other than Linux.

  • Package the whole thing

Things I might do but don't promise (and of course welcome pull requests)

  • Implement other opcodes. If you need a particular one or a particular set, and don't want can't implement that on your own, your best chances are to point me to a freely available SFZ instrument, that impressively shows the usefulness of this particular opcode.

  • Implement support for gig format. Again, if you need it, point me to an impressive freely available instrument.

Things I probably won't do but welcome pull requests

  • Implement opcodes that demand further DSP like comp_*, eq*, fil*, gate*, resonance*, reverb*. In my opinion these should be accomplished by other plugins downstream. If you want to convince me from the opposite, show me a freely available instrument that impressively shows it.

Things I definitely won't do but welcome pull requests

  • Implement support for the sf2 sample format. There are already good lv2 solutions for sf2 out there. I recommend 'a-fluidsynth' inside Ardour.

  • Write a GUI

Things I definetly won't do and probably even will reject pull requests

  • Support for other plugin formats like VST. I don't use them and I could not maintain the support.

sonarigo's People

Contributors

duffrecords avatar johannes-mueller avatar pieterpenninckx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.