Last update on .

Splat is a project to generate music and audio files using Python.

Get the code from gitlab.com/verdigris.mu/splat

What is Splat?

Splat!

Splat is a program to generate some audio data which you may call music. It's written in Python to make it easy to use, and it's distributed under the GNU LGPL v3 free software license. In fact, only half of the code is Python. The lower-level parts are written in C to strike a balance between features and speed. There's even a fast mode with a smaller sample size and optimised functions with SSE and NEON intrinsics.

Splat is not a program to generate live audio in real time, at least not at the moment. So it's better suited to the studio than to the stage.

You can hear a few examples of what can be done with it on SoundCloud.

Moved permanently to gitlab.com

After a quiet period of a few months, it's now being revived with some new ideas and a new home.

Splat used to be hosted on github.com. However, there were a few issues with that. First of all, although it is the home of many open source projects, the Gitlab platform itself is not open source. Then continuous integration is not directly part of Github, so out of the few possible plug-ins available I initially opted for Semaphore CI. However I quickly hit the limitations of this design as I was adding support for Python 3: since the tests are defined outside of the project, they had to be either compatible with Python 2.7 or Python 3. Also, it was hard to justify the overhead associated with managing an extra account for the CI part given the rather limited capabilities of the system.

So Splat has now moved to gitlab.com, with integrated CI. This automatically builds the code, runs tests and generates the PDF documentation for every revision on every branch. Further steps would be to also run benchmarks and keep track of the scores, and also test on ARMv8 to cover the NEON build flavour - but that's for a bit later, and another blog post.

Highlights

On the technical side of things:

  • Splat has now been ported to Python 3.

  • There's also support for using mmap for memory allocation of large data fragments and intermediate files.

  • The integrated splat make command is very useful to generate parts of an audio composition independently and then mix them together. It's even better when combined with mmap.

On the more musical side of things:

  • There's some work-in-progress to create a library of sound generators with "knobs", or simple parameters. This hasn't been merged yet but there's an initial merge request #4.

  • Another work-in-progress is to extend the harmonic-based scales, using just intervals with tonality context to enable modulation and historical things such as the Pythagorean scale. It's more at the research stage at the moment, so stay tuned!

Pingbacks

Pingbacks are open.

Trackbacks

  1. canadian medications pharmacy on #

    Splat is back - gtucker's weblog

  2. international pharmacy on #

    Splat is back - gtucker's weblog

  3. canadian pharmacies on #

    Splat is back - gtucker's weblog

  4. cialis 20 mg on #

    Splat is back - gtucker's weblog

  5. cialis on #

    Splat is back - gtucker's weblog

  6. viagra online on #

    Splat is back - gtucker's weblog

  7. viagra without prescription on #

    Splat is back - gtucker's weblog

  8. cialis tablets on #

    Splat is back - gtucker's weblog

  9. online pharmacies on #

    Splat is back - gtucker's weblog

  10. buy viagra on #

    Splat is back - gtucker's weblog

  11. cialis tadalafil on #

    Splat is back - gtucker's weblog

  12. generic cialis tadalafil on #

    Splat is back - gtucker's weblog

  13. cialis from canada on #

    Splat is back - gtucker's weblog

  14. viagra without a doctor prescription on #

    Splat is back - gtucker's weblog

  15. canada pharmacy on #

    Splat is back - gtucker's weblog

  16. where can i buy viagra on #

    Splat is back - gtucker's weblog

Trackback URL

Comments

Comments are closed.