Hi everybody,
Fallowing up the long discussion i'm trying to sort of give the
information you all seem to be missing.
there was a meantion of this, but not too many of you have paid any
attention:
here you can find an article about the current status of the protocol mess:
http://prosoundnewseurope.com/pdf/PSNLive/PSNLive_2009.pdf (page 28)
obviously eas50 is good to go, but Ethernet AVB is right thing really.
the only thing that it's still work in progress, but many of the
proprietary vendors, which already have their own networking solution
(like Harman with HiQ-net, the one i can name of top of my head)
are involved in AVB stadard deveelopment.
The idea of AVB is to bypass the IP layer, which is right thing really.
you don't need to assign IPs to your audio nodes, really!
in avb you'd just have to select channels that nodes whant to listen to.
there is a fair bit of documentation on the ietf.org AVB group's page.
but XMOS is looking to be the best point of refference:
http://www.xmos.com/news/15-jun-2009/xmos-simplifies-ethernet-avb-implement…
is think we should forget everything else and crack on with the XS1 AVB
implementation!
their XS1 chips seem to be really great,
their are basically every innovative and open-source minded.
the official toolchain is LLVM-GCC based.
you can use C, C++ or their own XC.
XC is basically C with some stuff omited (like goto and floats)
and XMOS IO stuff added, don't just say WTF, look at it first!
you should also watch the videos here:
http://www.xmoslinkers.org/conference-online-wf
especialy the two about the "XMOS Architecture" and the AVB
presentation.
some dev-kits are quite expencive, but that's due to low-volume really
;)
there is alos a nice USB Audio kit!
plus there is alittle board that is cheap and has two RJ45's on it
already :)
I'm myself studying the XC book at the moment. And geting familiar with
the tool set :)~~
looks very exciting, cause these are the invovative chips!
ok, may be an FPU is really missing on XCore, but how many DSPs have
it anyway? well quite a few, but there was no FPU on dsps for ages! :))
also XC or C/C++ are so much more obvious then the bloody "menthal american military engeneers non-sense" called HDL-whatever!
Cheers Everyone,
Hope you will appreciate my excitment :)~ (l0l)
--
ilya .d
Hello guys!
I would like to ask any of the developers who might be interested to help a
musician out!
Original Kluppe developer seems very busy these days. And his programm lacks
two things I really need for my musical work.
I am ready to pay for the work. All the details below.
*1. Feature 1 - random play.*
When on Windows, I wrote a simple programm for myself, called Tape Loops. It
could play sounds either once or in a loop. The special function which I
added to it was "random play". What it did was allow you to define a period
of time in seconds. And the programm would trigger the sound randomly
somewhere within this period. So, if the period is 20 seconds, the programm
would play the sound either in 5 seconds, or in 10 or in 7 or in 20. When
the sounds stops playing, the timer is reset and the program once more
chooses a random moment to trigger the sound within the given period. By
changing the period the musician can make the sound get triggered more often
or less often.
The demo of how this program works can be viewed here:
http://www.louigiverona.ru/?page=projects&s=software&t=tapeloops&a=tapeloop…
It is a great feature - it helps a lot an ambient composer like myself and
is greatly useful for installations.
On Linux I have tried some programming, but even setting up JACK is very
difficult for me, I am absolutely not a strong desktop programmer. So
writing something like that from scratch on Linux is not realistic for me. I
tried Kluppe, which is the closest thing, it is a great piece of software,
but I studied the code for several days, tried some things, but apart from
changing the colors, I do not seem to be able to do anything meaningful.
So I would like to ask someone to do this job for me. To add a timer to a
kluppe looper and to allow this "random play" mode, where the musician can
put a looper into random play mode and define the period.
*2. Feature 2 - basic midi control.*
Looking through Kluppe code, I saw that a lot of midi is already done, but
it is not "attached" to the controls. I might be wrong and there may be more
work than it seems, but anyway. I would want to be able to assign midi
control to triggering loops, volume and panning - at least that. Otherwise,
Kluppe is very difficult to use in a live performance.
However, instead of proposing to allow to create separate controls for each
looper like they have in SooperLooper, I would advice (and actually, ask for
this feature to be implemented in such a manner) to instead go for the
Selected looper scheme. So that one would not need a dozen of knobs to
control things. There should be an ability to have one "Selected" looper.
Similar to what Dj Traktor Studio has. So you are binding midi not to a
definite looper, but to the Selected looper, and thus you would require only
two knobs (vol, pan) and three buttons (play/stop, Prev looper, Next
looper).
*3. Payment.*
I understand that all of the above might be not as simple as it seems to me
now. I would be willing to pay, as much as I can. I am able to pay through
PayPal. I do not know how much money is a normal pay for such work, but I
think something can be arranged. If I am not able to pay up instantly, I am
willing to pay for several months in a row to cover the necessary expenses.
I will also ask around on forums if someone will join me and also donate
some money - while my random play function is probably too specific and is
only something for me, midi control in Kluppe is something I believe many
people would want.
Thank you for your attention and I hope someone gets interested in the
request!
Louigi Verona.
http://www.louigiverona.ru/
Dear all,
I'm collaborating with a lecturer on creating tests to
deliver to users for research purposes. His idea is to
deliver them using mobile devices like the iPhone and
I'd like to use one of the OS devices like the Neo FR,
Pandora or even Indamixx. The problem is that, if it
all goes well, we'd need a lots of them (50/100), so
I'm looking for something cheaper at the moment.
Do you have any idea/suggestions? Of course I
prefer OS devices.
Thanks all, as always!
Marco
Send instant messages to your online friends http://uk.messenger.yahoo.com
hi...
jacksession stuff is merged into jack1 svn.
here is a rough explanation what needs to be done for apps to support
it: http://trac.jackaudio.org/wiki/WalkThrough/Dev/JackSession
please let me know what is unclear.
--
torben Hohn
On March 29, 2010 03:46:00 am Rui Nuno Capela wrote:
> On Mon, 29 Mar 2010 02:42:12 +0200, salsaman(a)xs4all.nl wrote:
> > On Sun, March 28, 2010 03:48, Tim E. Real wrote:
> >> On March 27, 2010 07:54:21 pm Tim E. Real wrote:
> >>> Hi list. Hi Salsaman.
> >>>
> >>> I built and installed Lives today. (Nice program!)
> >>>
> >>> I have now tested Lives, MusE, Rosegarden, and Ardour
> >>> while running Jack-2.
> >>> Each had blank default layouts, no tracks, except Lives
> >>> which had one short video clip loaded.
> >>>
> >>> Guess what? They ALL stop unexpectedly at random times
> >>> while rolling and hitting 'Rew' and 'FF' in QJackCtl.
> >>> Even worse, they ALL fail to start sometimes when hitting 'Play'
> >>> in QJackCtl, which is what Salsaman observed with Lives.
> >>>
> >>> However, I discovered that the problem depends on Jack
> >>> buffer size (frames/period).
> >>> With 1024 or 2048 for example, it happens very frequently.
> >>> With 128, it happens very rarely.
> >>>
> >>> What's going on here? Clearly there's a problem.
> >>> A setting? A bug? System issues?
> >>>
> >>> Thanks. Tim.
> >>
> >> Oh no!
> >> I just tried some of the same tests *without* QJackctl
> >> and the problem disappeared.
> >> To see if the problem may just be more than one app running,
> >> I tried with MusE and Rosegarden running.
> >> Rock solid, no trouble so far.
> >> Strange considering QJackCtl is 'lightweight' compared to the others.
> >>
> >> I was sure that I tried this before without QJackCtl and it happened.
> >>
> >> Looks like this topic should move back to LAD now.
> >> Sorry for the noise. Will report back if anything changes,
> >> with my luck, it just might.
> >>
> >> Rui and Salsaman what do you think about all of this?
> >>
> >> Thanks. Tim.
> >
> > As I reported, it was working fine for me using jack_transport, so I
>
> think
>
> > it is quite possible that something is going wrong in qjackctl. It would
> > be interesting to trace the jack calls in qjacktl to confirm whether or
> > not it is sending the transport stopped messages, and if so figure out
> > what is causing it to do so.
>
> qjackctl issues jack_transport_stop() when you press its "pause" button.
> similarly, jack_transport_start() when you press the "play" button. "rew"
> and "ffwd" buttons just do de/incremental jack_transport_locate()'s -- this
> has been like so and quite happily for way more than 5 years now :)
>
> it is funny that when you put lives in the picture and things behave
> strangely you infer that the problem is something else. you already made
> evidence that when *lives is not running* everything works as expected.
>
> imho, i'll reiterate that you should revise lives' jack_sync_callback,
> probably it is misunderstanding the jack transport sync api protocol,
> somehow.
>
> cheers
Hi list, hi Salsaman, hi Rui.
Disturbing result: I discovered that QJackCtl, running all by itself
with no other apps running, exhibits the problem.
Run QJackCtl.
Set the Jack size to a relatively high value like 1024 or 2048.
Now play the transport.
In the majority of attempts it will not start - goes into stop immediately.
If it does manage to start, try FF or REW.
Again, in the majority of attempts it will stop.
Rui can you please take a look and try that simple test to verify?
I broke in with KDbg, and it is calling qjackctlMainForm::transportStop()
Looking at the stack trace, as far as I can tell:
It seems that in qjackctlMainForm::refreshStatus()
in the line:
bool bPlaying = (tstate == JackTransportRolling || tstate ==
JackTransportLooping);
bPlaying is false because the tstate is either JackTransportStopped
(in the case of hitting play), or JackTransportStarting (in the case of
hitting FF or REW while playing).
This eventually seems to cause the call to qjackctlMainForm::transportStop()
via the line:
m_ui.PlayToolButton->setChecked(bPlaying);
But I'm not sure because the stack trace is a bit hard to follow.
Maybe in the end it is a Jack or even a system problem, really I just want
to solve this. It's driving me nuts for months now.
So I need your help to identify where the problem lies. Is it Jack or what?
Thank you for your consideration.
Tim.
2010/3/29 torbenh <torbenh(a)gmx.de>:
> On Sun, Mar 28, 2010 at 11:33:12PM +0200, Andreas Degert wrote:
>>
>> - --quit doesn't work (unknown dbus command)
>
> yes. its not implemented yet.
>
>> - --quitas saves but doesn't quit the application
>
> the patch doesnt obey quit. i mailed it a bit too fast.
> sorry.
>
>> - --quitas and --saveas only seem to save when called the first time with
>> a session name
>
> do you mean a specifying the same session name twice ?
> the SM refuses to overwrite existing sessions.
> it doesnt print the error code, i think.
>
> i really need to give pyjacksm some love. i was focussing on getting
> a couple of apps patched, and mainly tested using
>
> jack_session_notify save /full/path/to/session_dir
>
> it should be working correctly in jack1 svn r3976
>
>
>>
>> - --load gives an exception, but works after killing the daemon
>
> i will go over jacksm now.
> in dbus mode there are some problems.
>
>>
>> - the saved command line contains -f ${SESSION_DIR}guitarix.state, but
>> SESSION_DIR doesn't end with a /. Is just the slash missing in the
>> command line or is the value of SESSION_DIR wrong (for now i have
>> added a "/") ?
>
> yes. the slash was missing from the replaced value.
> fixed in jacksm git now.
>
> the separators are os dependent. and i wanted to leave them out of the
> API as much as possible.
The current git version of jacksm works now for me. Guitarix also seems
to work fine in a session, but i'm puzzled about weak linking. The function
address (of jack_set_session_callback) is null depending on if its in libjack.so
or not when ld is run, but independent of the version of libjack.so.0 at
runtime. It seems as if the address is always bound lazily at function call
time, not when the function pointer is checked for 0 (means it crashes
when session support is compiled in but the libjack used at runtime
doesn't support it).
ciao
Andreas
At CCRMA we have several studios with linux computers in them (in
addition to computers sprinkled throughout the building). Some of the
studios have digiface interfaces, some multiface. All of them are
connected to the sound system or mixer digitally through adat
lightpipes. Workstations have Delta 66 or Gina3G soundcards.
It would be nice for a user to be able to play, say, a stereo Ardour
session in any of them without any changes to the session or routing.
The digifaces send channels 1-24 out the adat ports. The multifaces on
the other hand send 9-16 on the adat port. Deltas and Ginas send out
stuff on channels 1-4 or 1-6.
You can see the multiface interfaces are a problem. To get sound out of
them you have to send on channels 9-16 which is different from _all_
others!
I tried several workarounds without much success:
a) fix this at the alsa level. Should be the way to go, right? Create
an /etc/asound.conf that uses ttable to translate channels for the
multifaces so that the digital out is actually sent through channels 1-8
(and create the same name plug interface in all other computers that
does nothing so that the user can set that name as the default in
qjackctl and will get the same behavior in all computers).
Works, but not quite. When I try to use that "fake" plug interface with
jack2 I get a warning that I'm using a plug interface (sort of fair) and
jack only opens it with _2_ i/o channels (even though the ttable is 18
channels wide!). If I _force_ input and output channels in jack to 18 it
does work fine. But now it will _not_ work on other computers that have
less (or more) than 18 channels. Argh.
b) fix it in hdspmixer. Well, it turns out that hdspmixer does not read
the default matrix gains from a file so I can't really override the
default. AFAICT the gains are calculated algorithmically in the code and
there is no command line option to load presets from a file.
Or I could write a small script that will set the right gains for 1-8 to
go out through 9-16 but if a user starts hdspmixer that gets undone with
no warning.
And, of course:
c) give up and connect an 8 channel analog snake to the analog outputs
of the multifaces and do away with a digital connection to the mixer...
Anyone has any other suggestions??
This should be easy to fix, right?
:-)
-- Fernando
If you know Turing's 'Computable Numbers' you
may enjoy this:
<http://aturingmachine.com>
Ciao,
--
FA
O tu, che porte, correndo si ?
E guerra e morte !
guitarix is a simple Linux Rock Guitar amplifier and is designed
to achieve nice thrash/metal/rock/blues guitar sounds.
Guitarix uses the Jack Audio Connection Kit as its audio backend
and brings in one input and two output ports to the jack graph.
Release 0.07.0 comes with a bunch of major changes :
* nearly complete reworked source by Andreas Degert
* amp and effect units based direct on faust expressions
* all faust sources included
* new accumulated tuner unit with new interface (analogue Style needle meter)
* Midi controller connections could saved with in presets and/or general
* a editable Midi controller map is available
* new human readable preset style
* knobs could be used like sliders (press ctrl + mouse-button
and move the mouse horizontal, leave the ctrl and hold mouse-button
for fine tune), or like real knobs (turn them around)
* convolution unit based on zita-convolver is now integrated in the engine
* presets could change with Midi Program Messages
* I'm sure I have some things forgotten to mention here.
Check out the new great sound of the faust optimized sources.
To the midi learn function: a middle mouse button click on a controller pop's
up a little widget, move the midi controller you will use, the controller number
is shown in the widget. Press OK when you've done. That's it.
By the way, a right click on a controller pop up a spinbox for direct enter
the value with your keyboard.
have fun
________________________________________________________________________
guitarix is licensed under the GPL.
Project page with screenshots:
http://guitarix.sourceforge.net/
download:
http://sourceforge.net/projects/guitarix/
please report bugs or suggestions here:
http://sourceforge.net/apps/phpbb/guitarix/
For capture, guitarix uses the great 'jack_capture'
(version >= 0.9.30) written by Kjetil S. Matheussen.
If you don't have it installed,
you can look here:
http://old.notam02.no/arkiv/src/?M=D
For extra Impulse Responses, guitarix uses the
zita-convolver library by Fons Adriaensen.
If you don't have it installed, you can look here:
http://www.kokkinizita.net/linuxaudio/index.html
We use faust to build the amp and effects and will say
thanks to
: Julius Smith
http://ccrma.stanford.edu/realsimple/faust/
: Albert Graef
http://q-lang.sourceforge.net/examples.html#Faust
: Yann Orlary
http://faust.grame.fr/
For faust users :
You could find the tools we use to convert (and plot) the resulting faust cpp
files to the needed include format in the /guitarix/tools directory.
Faust dsp files are in /guitarix/src/faust and the resulting cc files are in
/guitarix/src/faust-cc
As default we have disable faust for build, if you wane play with the faust
expressions, simply add --faust to the ./waf configure step, then faust
will be used to rebuild the included faust-cc files.
regards
Hermann Meyer, James Warden, Andreas Degert