dabit / banjo Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
It would be awesome if someone could try to set it up and running on Linux and share findings.
The unimidi README says it does work on Linux. Unimidi is the underlying library that I'm using to connect to MIDI virtual ports, in theory banjo should work as well.
Hi,
i followed your description step by step. Running the basic example with ruby song.rb
after bundle install
I can see the console output but hear no sound.
The midi channels seem to be correctly configured:
$ unimidi list
input:
0) Apple Inc. IAC Driver
2) Apple Inc. IAC Driver
4) Apple Inc. IAC Driver
6) Apple Inc. IAC Driver
output:
1) Apple Inc. IAC Driver
3) Apple Inc. IAC Driver
5) Apple Inc. IAC Driver
7) Apple Inc. IAC Driver
I use the following ruby version:
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
What am I doing wrong?
Would be awesome to see TO DO list in README.MD or TODO.md :)
To provide a starting point for every new project, a CLI is needed.
banjo new song_name
Creates the skeleton of a new banjo song. A song.rb file, the channels folder and maybe an example of a channel class.
banjo channel piano
Creates an empty channel class to use on the song.
These are the first few commands that come to mind right now, more can be added as they are needed.
Great lightning talk at RailsConf! I was trying to get this working on my machine but can't seem to get any output. Everything bundles correctly and I see this output from unimidi list
:
input:
0) Apple Inc. IAC Driver
output:
1) Apple Inc. IAC Driver
but I can't seem to get any audio. Do I have to do anything more specific with GarageBand besides just have it running in the background?
Following your setup with GarageBand, I can only use one track.
I tried to add more than one software instrument tracks in Garageband but all channels e.g. from the "/nickel" project played on the latest created track.
How to support multi-channel sounds?
I'm running Ruby 2.1.2 on a current Mac and have installed the gem using a Gemfile. When I try to run "ruby song.rb" I get:
... "banjo/sample/basic/channels/main_channel.rb:17:in perform': undefined method
tick_note' for #MainChannel:0x007f8ecb910508 (NoMethodError)"
Currently, the duration scale for a note is seconds.
That is that you can tell banjo to play a specific notes for X seconds.
# Example:
play(c(4)).for(5).at(4)
To be consistent with sheet music, I think this should change to whole, half, quarter, eighth, etc.
play(c(4)).for(:half).at(4)
Or:
play(c(4)).half.at(4)
Methods like tick_note
and c(4)
and mod_pitch
are undefined.
It'd be great to see a better guide on configuring the MIDI instruments / channels in Garageband and Logic.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.