flipcoder / textbeat Goto Github PK
View Code? Open in Web Editor NEW๐น plaintext music sequencer and midi shell, with vim playback and the powers of music theory ๐ฅ
License: MIT License
๐น plaintext music sequencer and midi shell, with vim playback and the powers of music theory ๐ฅ
License: MIT License
Spent the weekend figuring out the ALSA, pulseaudio, Jack, fluidsynth, qsynth settings and it finally works. I finally can hear a major chord.
I normally don't do music on Linux but have been dreaming of something like that for a long time. Will soon try out the vim plugin. Thank you for making this come true!
I was trying to get this running on a macbook. I've made some progress, roughly based on the linux instructions. I've managed to get it working, but there's currently no sound. I'd troubleshoot this further so I could provide a PR with the instructions, but i'm not really sure how to interpret what i'm seeing. Unfortunately, i'm also not much of an export on Macs. Of course, feel free to close this if you don't intend on supporting mac.
Initially, textbeat wouldn't launch at all, because it couldn't find any midi devices. After adding one manually, it did launch, but now there's no sound. The output looks like this:
Copyright (c) 2018 Grady O'Connell
https://github.com/flipcoder/textbeat
Active Modules: midi, carla, auto
Inactive Modules: soundfonts, espeak, csound, fluidsynth, sonicpi, supercollider
Other Devices: test Bus 1
txbt> (120bpm x4)> maj&
maj&
.
.
txbt> (120bpm x4)>
i'm assuming that something useful can be gleaned from the modules output, but i'm not really sure what to make of it at the moment
Calling textbeat
with no arguments produced the following traceback. A quick glance at the collections
API suggests that the attribute is under collections.abc.Mapping
; could this be the cause?
Traceback (most recent call last):
File "/usr/bin/textbeat", line 33, in <module>
sys.exit(load_entry_point('textbeat==0.1.0', 'console_scripts', 'textbeat')())
File "/usr/bin/textbeat", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 162, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/textbeat-0.1.0-py3.10.egg/textbeat/__main__.py", line 52, in <module>
from .defs import *
File "/usr/lib/python3.10/site-packages/textbeat-0.1.0-py3.10.egg/textbeat/defs.py", line 197, in <module>
merge(DEFS,load_def(f[:-len(DEF_EXT)]))
File "/usr/lib/python3.10/site-packages/textbeat-0.1.0-py3.10.egg/textbeat/defs.py", line 163, in merge
if contains and isinstance(a[k], dict) and isinstance(b[k], collections.Mapping):
AttributeError: module 'collections' has no attribute 'Mapping'
@flipcoder Hi, didn't find a way to contact you, so I abused the issue tracker.
I just found this project and I wanted to let you know that its really great. Actually friends and I wrote a similar thing a few years ago for at a hackday. We needed a text based sequencer format so that we can use git to diff the patterns and use a push controller to checkout different versions of the song. The sequencer is [here](https://github.com/RocketScienceAbteilung/git-wig and here is a demo song that shows our quite simple text format. Textbeat seems to be quite more advanced. But maybe you like the idea of semantically meaningful diff between to patterns/parts of a track.
Hi, I'm trying to install textbeat on my system and after running
sudo python setup.py install
and trying to launch textbeat, i get
Traceback (most recent call last): File "/usr/bin/textbeat", line 11, in <module> load_entry_point('textbeat==0.1.0', 'console_scripts', 'textbeat')() File "/home/hans/.local/lib/python3.8/site-packages/textbeat/__main__.py", line 62, in main from . import support File "/home/hans/.local/lib/python3.8/site-packages/textbeat/support.py", line 20, in <module> import textbeat.plugins as tbp ModuleNotFoundError: No module named 'textbeat.plugins'
Any ideas?
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.