Arnold Obdeijn:
>
> Hi all,
>
> I am using mplayer, sox and tee to capture streaming internet radio
> and send it both to an audio recognition program and to a file
> (recording).
> This is how I do it:
>
> mplayer -playlist {url} -nocache -af volnorm -msglevel all=1 -nolirc
> -vc dummy -vo null -ao pcm:file={$fifo1} &
>
I don't know if it will help or work, but how about using
-dumpstream <file> instead of -ao pcm:file=<file> ?
I think there's more buffering with -dumpstream than -ao pcm: ...
Greetings,
I am trying to a connect a bare bones Qt-based client to the JACK audio server , and I am running into a strange run-time error. I recently posted my question on the Qt-Interest list but have had no luck. Maybe someone on this list would be kind enough to help...
my Setup is:
-Fedora 10 - 2.6.26.8-1.rt16.1.fc10.ccrma.i686.rt #1 SMP PREEMPT RT Tue Feb 17 15:48:24 EST 2009 i686 i686 i386 GNU/Linux
-Qt 4.50 (for Linux/X11)
-Jack audio connection kit
The .cpp files which cause this error are here:
******************
#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}
*********************
#include "MainWindow.h"
MainWindow::MainWindow() {
QPushButton * b1 = new QPushButton("HELLO BUTTON",this);
audioEngine = new AudioEngine();
audioEngine->run();
}
MainWindow::~MainWindow() {
}
**********************
#include "AudioEngine.h"
using namespace std;
static int process(jack_nframes_t nframes, void *pvArg) {
AudioEngine * pAudioEngine = static_cast<AudioEngine *> (pvArg);
return pAudioEngine->audioEngineProcess(nframes);
}
int AudioEngine::audioEngineProcess(jack_nframes_t nframes) {
currFrame = nframes;
return 0;
}
AudioEngine::AudioEngine() {
}
AudioEngine::~AudioEngine() {
}
void AudioEngine::run() {
const char * client_name = "Template Player";
jack_options_t options = JackNullOption;
jack_status_t status;
// open a client connection to the JACK server
client = jack_client_open(client_name, options, &status);
if (client == NULL) {
fprintf(stderr, "jack_client_open() failed, status = 0x%2.0x\n", status);
if (status & JackServerFailed) {
fprintf(stderr, "Unable to connect to JACK server\n");
}
exit(1);
}
if (status & JackServerStarted)
fprintf(stderr, "JACK server started\n");
if (status & JackNameNotUnique) {
client_name = jack_get_client_name(client);
fprintf(stderr, "unique name `%s' assigned\n", client_name);
}
jack_set_process_callback(client, process, 0);
// jack_on_shutdown(client, jack_shutdown, 0);
//register the client ports
input_port = jack_port_register(client, "input", JACK_DEFAULT_AUDIO_TYPE,
JackPortIsInput, 0);
output_port = jack_port_register(client, "output", JACK_DEFAULT_AUDIO_TYPE,
JackPortIsOutput, 0);
if ((input_port == NULL) || (output_port == NULL)) {
fprintf(stderr, "no more JACK ports available\n");
exit(1);
}
jack_activate(client);
}
*************************
Everything compiles , but I am getting the following run-time error:
/usr/libexec/<unknown>: No such file or directory.
Cannot access memory at address 0x7
Cannot access memory at address 0x7
Not sure what this means... I have registered a
callback function with the JACK daemon and whenever
I try to access the member variable currFrame from
within the callback function I get that error.
Has anyone seen this error before?
-Thank You!
Hi to all
Thats my first post to the dev list, first I wont to say hello, and
sorry for my bad english. I try to do my best to make it readable for
you.
So,. . I try to build a jack_midi output port and I get the stuff
working with jackd(1).
But my test's with jackdmp end up with crash's (segfaults).
I realise that's because the needed buffer recived from
jack_port_get_buffer(midi_output_ports, nframes) is == 0 when I run
jackdmp-1.9.2. jackd gives me a buffer from 480.
I 'am only be able to protect the port for crash's but I can't figure
out what I make wrong.
I try and I try and I try, but I can't get now . . .
It would be realy great if someone from the list here is willing to have
a lock at my source and give me a hint to drive me in the right
direction.
My (uggly) sources are here :
http://apps.sourceforge.net/trac/guitarix/browser/trunk/src/main.cpp
midi_process callback start's at line 233
regards hermann
Hi,
I'm wanting to use basic synthesis techniques such as ADSRs LFOs hi/lo
pass filters, echo, and reverb to generate some kind of ambient sound
scape using pre-recorded audio clips, for a game I'm working on.
Are there any libraries around to help make this a bit easier than coding
it all using SDL_mixer? I'm not keen for a game to have audio, to
depend on JACK or LADSPA plugins.
Cheers,
James
Hi, lads! Some news from the CLAM project.
For anyone interested in that subject, we managed to build Qt based VST
interfaces (from linux!). Not about integrating existing VST in Qt
applications but building brand new plugins using Qt. This is an step to get
visual prototyped VST from CLAM as we got from LADSPA and JACK on last
releases. I don't think the integration could get into the next CLAM release,
but i guess that just the Qt-VST integration could be useful to someone in the
community.
See more information here:
http://vokicodder.blogspot.com/2009/04/vst-plugins-with-qt-user-interface.h…
The code is available in the first link to the CLAM developers list. Not the
proper distribution but i plan to make it available from clam or other
repository in short. Any collaborative hacking to improve it is very welcome.
--
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
http://www.iua.upf.edu/~dgarcia
Taken a quick look. It looks too low-level DSP for me. I was actually
thinking something along the lines of Audiality (but could n't recall
its name). Is Audiality dead? Anything else similar?
Cheers,
James.
On 3/4/2009, "Stéphane Letz" <letz(a)grame.fr> wrote:
>
>Have a look at Faust: http://faust.grame.fr/
>
>Stephane
hi everyone!
for those among you who will make it to LAC 2009 in parma: we are
looking for 1-2 more people to help with the streaming. your job would
be to watch the paper sessions, hang out on IRC and relay the questions
of remote participants to the local audience. if you're interested, you
also get to play with some interesting video gear and the blazing new
thusnelda encoder :)
please get in touch!
volunteers will be fed and watered as required, according to the Marije
Baalman StreamTeam Sustenance Plan(tm).
unfortunately, stream overlord eric rzewnicki can't be with us this year
- i'd like to take the opportunity to offer HUGE (and i mean, like,
HUMONGOUS) kudos to edrz for many years (and many more hours) of
volunteer work for this community (not to mention shouldering
frightening travel expenses year after year to haul himself to old
europe). edrz: thanks! i hope we'll see you on IRC.
best,
jörn
Hi
There are bugs which are resilient. One is never sure whether squashing
one doesn't let a plethora of lurking others get loose, like one's
skeleton in the closet falling apart. Paraphrasing Linus' Law, after
ESR: given enough eardrums all bugs are shallow. Thanks to all the brave
souls who keep harnessing the toy to the bone, some of those nasties
could be whipped off. At least for the time being ;)
Trivially speaking, this dot-release marks the 4th anniversary of
Qtractor as an active/personal project and, putting numerology to the
side, it is being released on this April, 4th (04/04). But then, I do
confess, this was just reckoned as an accidental after-thought, as
everything in numerology, I guess :)
Although only one developer is still responsible for 99% of the code
(that's me!:), there's some outsourcing (kind of) shaping and already
pending in its early stages: MIDI event list editing; Windows native VST
plugin support, much in the lines of FST/WINE, as in Ardour, perhaps; a
new logo and/or splash-screen design is also under this way. Keep in
mind that all translations will be asked only after the end of the
current alpha phase, whenever it would be an end to it :P
Most importantly, there's serious help being needed on drafting the user
manual. The current one available is getting outrageously outdated, ever
since the 0.2 situation. It's already getting tough to play catch up.
And everyone knows about developer(s) not feeling like doing
documentation in the first place. Move on. The more participation the
better.
In general, if you ever feel like, please pick up your favorite line on
the ever still TODO list and do step in. You'll be more than welcome:
eardrums, which usually come in pairs, just like eyeballs do, are pretty
wanted!
So dress up your blacky leather and vinyl, put up the spiky collars and
whip it, whip it good B)
Here we go:
Qtractor 0.4.1 (funky dominatrix) unleashed!
Release highlights:
* MIDI editor snap grid. (NEW)
* Multi-clip selection normalize and quantize (NEW)
* Audio export & sample-rate conversion (FIXED)
* MIDI & audio playback sync (FIXED)
* SSE optimization enabled (FIXED)
* and a few more fixes and same lurking bugs ;)
Same old intro/description:
Qtractor is an audio/MIDI multi-track sequencer application, written in
C++ on top of Qt Software's Qt4 framework, having JACK and ALSA as its
main infrastructures and Linux as native and exclusive platform.
Specially suited to the lone-wolf composer, arranger and (re)creative
music-maker personal home-studio, it still hopes to evolve as a fairly
featured desktop audio/MIDI workstation or at least, a prototypical part
of it ;)
Website:
http://qtractor.sourceforge.net
Project page:
http://sourceforge.net/projects/qtractor
Downloads:
- source tarball
http://downloads.sourceforge.net/qtractor/qtractor-0.4.1.tar.gz
- user manual (outdated)
http://downloads.sourceforge.net/qtractor/qtractor-0.3.0-user-manual.pdf
Weblog (upstream support):
http://www.rncbc.org
License:
Qtractor is free, open-source software, distributed under the terms of
the GNU General Public License (GPL) version 2 or later.
Features:
- Multi-track audio and MIDI sequencing and recording.
- Developed on pure Qt4 C++ application framework (no Qt3 nor KDE
dependencies).
- Uses JACK for audio and ALSA sequencer for MIDI as multimedia
infrastructures.
- Traditional multi-track tape recorder control paradigm.
- Audio file formats support: OGG (via libvorbis), MP3 (via libmad,
playback only), WAV, FLAC, AIFF and many, many more (via linsndfile).
- Standard MIDI files support (SMF format 0 and 1).
- Non-destructive, non-linear editing.
- Unlimited number of tracks per session/project.
- Unlimited number of overlapping clips per track.
- XML encoded session/project description file.
- Point-and-click, multi-select, drag-and-drop interaction (drag, move,
drop, cut, copy, paste, delete, split)
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence (a-la QjackCtl).
- LADSPA, DSSI and native VST plug-ins support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support.
- Audio/MIDI clip fade-in/out (linear, quadratic, cubic).
- Audio/MIDI clip gain/volume, normalize and export.
- Audio clip time-stretching (WSOLA-like or via librubberband),
pitch-shifting (also via librubberband) and seamless sample-rate
conversion (via libsamplerate).
- Audio/MIDI track export (mix-down, merge).
- Audio/MIDI metronome bar/beat clicks.
- Unlimited tempo/time-signature map.
- MIDI clip editor (matrix/piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm))
- JACK transport sync master.
- MMC control surface enabled.
- MIDI Song Position cueuing support.
- Configurable keyboard shortcuts.
Change-log:
- MIDI editor command item execution order has been fixed, correcting
the redo/undo adjustment of overlapping note events (probably fixing bug
#2723861).
- MIDI clip editor (aka. piano-roll/matrix editor) sees one of its most
wanted features introduced: visual snap grid, now accessible through
View/Snap/Grid option toggle.
- Actual non-zero session length gets back to status bar of main
application window.
- One potential buffer-overflow/memory-corruption crash bug has been
fixed, long due on most audio (down) sample-rate conversions and
affecting audio export in particular.
- MIDI track/channel patch information, ie. bank-select and
program-change events, are now being properly set on MIDI track/clip export.
- SSE optimization is back in town after being mysteriously disabled
since its dawn :/
- Looping and punch-recording now actively mutual exclusive states:
setting either one unsets the other off and vice-versa. Also,
punch-in/out is now made an undoable command.
- Moving tracks, any track, up or down, were leaving MIDI playback and
meter monitoring completely out-of-sync, now fixed.
- Automatic crash-dump reports, debugger stack-traces (gdb),
back-traces, whatever, are being introduced as a brand new configure
option (--enable-stacktrace) and default enabled on debug build targets
(--enable-debug).
- Audio/MIDI drift correction is now progressive, taking a least
significant differential approach, on every read-ahead cycle and
swallowed on loop turn-arounds, as before.
- Improved Edit/Clip/Normalize and Quantize commands, now affecting the
whole extended multi-clip selection.
- Playback is now being temporarily suspended while either transport
rewind or fast-forward rolling is engaged.
- A bad and shame-on-me bug was fixed: this was hideously affecting any
track/clip playback synchronization, most noticeable after toggling
solo/mute track states while playback is rolling and skipping the
play-head backward over more than one clip under the same track.
- A floating-rectangle flip that showed while dragging new files beyond
the left of main track view is now gone.
- MIDI note event truncation on both track and clip export has been fixed.
Cheers && Enjoy!
--
rncbc aka Rui Nuno Capela
rncbc(a)rncbc.org
Am Freitag, den 03.04.2009, 20:57 +0200 schrieb Stéphane Letz:
> > Now, it work with jackdmp, great,
> >
> > So the Question comes in mind, why need I to register the midi port as
> > first one ? Anyone experience the same behaviour ? Or is it just a
> > effekt from a hidden bug ? mmm
> >
> > regards hermann
> >
> > _
>
> Maybe, but could you extract the "crashing" code in a simpler test
> client? It would help.
>
> Thanks
>
> Stephane
I will do that, but dont get me wrong, speak about a posible bug in my
code, not in your's. Jackdmp is realy nice, fast and light, that why I
wont be able to run it with my app.
And sorry, it will posible take some day's, my work try to eat me . . .
thanks hermann