davidpanderson / numula Goto Github PK
View Code? Open in Web Editor NEWA Python toolkit for creating nuanced music
License: GNU Lesser General Public License v3.0
A Python toolkit for creating nuanced music
License: GNU Lesser General Public License v3.0
You might want to consider a "swing" switch to add some delay between rhythm (could be bass if it's piano solo) and melody, as described https://pianoclack.com/forum/d/773-little-experiment (and elsewhere on the internet, the name of the German Physicist I mentioned there is Theo Geisel)
https://github.com/davidpanderson/Numula/wiki/Volume-control#random-volume-perturbation says
ns.v_random_uniform(min, max, pred=None):
ns.v_random_normal(stddev, max_sigma, pred=None):
but that doesn't work
>>> ns.v_random_normal(10, 20, pred=None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Score' object has no attribute 'v_random_normal'. Did you mean: 't_random_normal'?
and in fact there is no v_random
anything in https://github.com/davidpanderson/Numula/blob/main/numula/nscore.py
Also, the pip-installed version fails at read_midifile because it does not contain the fix https://github.com/davidpanderson/Numula/blob/main/numula/read_midifile.py#L22 (which obviously is present in github) so you might want to update the PyPI version.
From https://github.com/davidpanderson/Numula/wiki/Example:-appassionata the op57.py
is a 404
I was wondering if you have considered alternative options to input notes. The n()
calls with all those strings are really tedious and error prone, in my super-tiny experiment.
It'd be fantastic if you could input MIDI files and/or LilyPond file format (or one of its output). Or even if that proves too complicated, perhaps an helper script could use those inputs and generate a (preliminary) list of strings to feed into the n()
calls, after some editing/massaging. I know, the latter could be even more tedious than typing everything by hand, since if not carefully organized (and it's probably complicated/impossible to organize them from raw inputs) these strings would be a pain to edit...
Just a suggestion:
To make it possible to install this as a normal python package, it'd probably be a good idea to add a pyproject.toml file (modern way) or setup.py (old way) to the project and move the source files into a "numula" subdirectory. Then it's easily possible to track the project and get updates.
Good luck! -- Myke (music21)
Timing gaps don't fit well into the tempo PFT model.
You can do them with pause_before(connect=False),
but this is inefficient because each one requires a score scan.
Possible solution: "gap PFT": alternating sequence of Delta and Unity segs,
representing a sequence of timing gaps.
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.