Giter Club home page Giter Club logo

canvas's Introduction

Canvas

Canvas is a minimalistic music recording tool. Instead of tracks it uses clips. You can point anywhere on the screen and press record. This allows you to very quickly build up a song layer by layer.

Project Status

The program is fully usable but has not been properly polished for release.

Canvas requires Python 3, pyaudio and Gtk/Cairo.

I am not aware of any bugs.

Overview

image

The screenshot shows an example recording with 8 clips. The blue clip is currently being recorded. It's blue to indicated that it is selected. You can delete selected clips.

The red line is the cursor. It is red when recording and white when not.

Clips are locked in time but can be moved up and down to keep things organized. This is purely visual and has no effect on the sound.

Clips are drawn slightly transparent so you can see when they overlap, as you can see in the bottom two clips. In this case I've recorded a bass line and then gone back later to extend it.

The display will always show the whole recording. The program will expand to fill the whole screen but you can resize the window.

All changes are saved immediately.

When you close the window a mixdown of the whole recording will be written to mix.wav in the project folder.

Project Files

When you start Canvas without any arguments it will create a project folder on your desktop. You can instead specify a folder on the command line:

canvas mysong

This will open a canvas and create a project directory. The file layout is:

mysong/clips/*.wav   # A WAV file for each clip.
mysong/clips.json    # Metadata about clips.
mysong/mix.wav       # A mixdown which is create when you quit the program.

Controls

  • Click on a clip to select it. You can hold shift to select more clips.
  • Click and drag to move a clip up or down.
  • Click and drag on the background to move cursor.
  • Arrow keys: Move cursor (up/down/forward/backward).
  • Enter: Record a new clip starting at the current cursor position.
  • Space Bar: Toggle play / stop.
  • Delete / Backspace: delete selected clips.
  • s (hold down): Solo selected clips.
  • m: Mute / unmute selected clips.

Author

Ole Martin Bjørndalen - [email protected]

canvas's People

Contributors

olemb avatar

Watchers

 avatar  avatar

Forkers

zenahr

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.