On Sat, 1 Mar 2014, Aiyumi Moriya wrote:
A visually impaired Linux user here. I recently came
across this great
thread[1] and decided to write this message. My goal is a little
different from the original topic author (generating MIDI via code VS.
recording via a keyboard) so I decided to start a new discussion.
Here's my situation (warning: very long post!):
OK
I'm using Slackware Linux, with Speakup[2] as my console screen reader
(with Espeak[3] through the Espeakup[4] connector, because I don't
have a hardware voice synth), and Orca[5] as the screen reader for X
(note: I use only ALSA, without Pulseaudio).
As you require the audio reading tools, you need to do one of two
things... use two audio devices one for the screen reader and one for
audio i/o and jack. Or use pulse and jackd(bus) bridged together. Lots of
people don't like pulse for political/personal/performance reasons. It
seems pulse just ignores dropouts in audio, but that probably doesn't
matter in your case as you would only use it so your screen could talk to
you. Pulse uses about twice the cpu that jack does at any latency setting
(so far as I can tell on my machine).
Sorry, there is a third option. You can create an alsa device that is
really just connected to a jack port. This uses less cpu than pulse. You
have to have all this set up before the screen reader starts. You will
want to tell the system this is the default audio card. I haven't used
this method because I just use pulse the few times I need the
functionality and turn it off otherwise. But you may be able to set the
extra alsa device before hand. Others on the list use this method all the
time and can tell you better than I.
I'm trying to create some kind of audio setup for
quite some time
(since around 2010). Back then, I read everywhere that it was needed
to recompile the kernel with a realtime patch. Then I found the
courage and did just that, but:
Not so sure about slackware's stock kernels, but the patch is not really
needed so long as the preempt switch is on. In ubuntu it is the
-lowlatency kernel and uses all the same video drivers as stock. Slackware
may have something similar, but even if not, rolling your own kernel on
the same source tree with no patch but the option changed should work with
the stock video too. You may also be able to use a command line switch at
system start to turn this on at boot time. It would be possible to have
two grub menu options one to start with it enabled and another without...
quite honestly I run with it turned on all the time just fine so I would
just default it that way. It is important no matter what kernel you use to
have no USB ports sharing interupts with your sound card.
* Each note shown as only one event, by matching the
note on with it's
respective note off. This way we don't need to struggle scrolling
through the events trying to match the ons and offs.
All the gui based midi editors do this, so it is not an unreasonable
request. Notes have a start time and length rather than a start time and
an end time.
* Possibility of inserting/editing/deleting all types
of events,
including text events, lyrics and SysEx messages.
Just work to add it. But remember most authors do this stuff as a hobby
too.
Same with most of the things you want.
Some more complex features:
* The ability to have both MIDI and audio in the same project. The
audio doesn't need to be editable (just "importable"), only needs to
have its starting position adjustable to be in sync with the MIDI
tracks (triggered via some MIDI event maybe?).
* Recording of MIDI while playing back the audio tracks, keeping them in sync.
Nama works well with midish and plays them synced. I don't think it
triggers from midi events, but uses the same transport. triggering audio
to midi events is really extended sample playback, so one of the sample
players may do this already. nana's web page is a bit old and the author
has done more work than the web page would sugest. The web page is 2009,
but the latest update is 2013.
production, so a lot of features I pointed out might
be complete
nonsense, or might be accomplished in a much better way (if anyone
knows a way, preferably via command line, please let me know).
There are some other blind people on here who do wonderful production from
commandline. It can be done. I think Julien (
http://juliencoder.de/nama/
) does mostly keyboard to audio using nama, but some of his stuff
uses midi recording too (I think).
--
Len Ovens
www.ovenwerks.net