Coder Social home page Coder Social logo

wave2blofeld's Introduction

wave2blofeld

A simple tool for transforming wavetables from a WAV file into Waldorf's Blofeld SysEx midi format.

Wavetables must come in a single channel WAV file with 64 waves next to each other, each with 128 (or 256) samples. The Blofeld has 38 slots (from 80 to 118) for custom Wavetables, and each can have a 14 character ASCII name.

Download from the releases page.

Usage

USAGE:

   wave2blofeld  -n <number> [-d] [--] [--version] [-h] <infile>
                   <outfile>


Where:

   -n <number>,  --number <number>
     (required)  Wavetable to write to.

   -d,  --double
     Use only half of the samples for each wave. Useful for banks created
     with 256 samples per wave.

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

   <infile>
     (required)  Input WAV file.

   <outfile>
     (required)  Output midi file.


   A simple tool for transforming wavetables from a WAV file into Waldorf's
   Blofeld SysEx midi format.

For example, suppose you have a WAV file wavetable3.wav that has 64*128 = 8192 samples:

$ soxi wavetable3.wav
Input File     : 'wavetable3.wav'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:00.19 = 8192 samples = 13.932 CDDA sectors
File Size      : 16.4k
Bit Rate       : 707k
Sample Encoding: 16-bit Signed Integer PCM

Then, you would generate a SysEx file for transfering this wavetable into slot 82 with the name "Awful Sound" like this:

wave2blofeld wavetable3.wav out.mid -s 3 -n "Awful Sound"

Then it's just a matter of playing the midi file into the Blofeld with something like SysEx Librarian.

Doubled Wavetables

Some programs like WaveEdit create banks with 256 samples per wave. Using the -d flag will skip odd samples so it fits the Blofeld format. This of course could introduce audible differences.

Building

First, get the dependencies running make in deps/:

cd deps/
make

After that's done, build it like a normal CMake project:

mkdir build && cd build/
cmake ..
make

wave2blofeld's People

Contributors

clrnd avatar

Stargazers

Adam Peterson avatar Tobey Forsman avatar Erik Erik Seierstad avatar Florian avatar  avatar José Afonso Guerra-Assunção avatar  avatar Andrew Perry avatar  avatar Robert Chiniquy avatar Frode Grimstad Bang avatar Kaspars Jaudzems avatar Martin Wikström avatar tsointsoin avatar

Watchers

James Cloos avatar  avatar Vantablack avatar

Forkers

dacrhu

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.