Re: [LAD] Program design: C++ - SHM - Python

2010-12-26 Thread Arnold Krille
On Sunday 26 December 2010 02:05:03 Harry Van Haaren wrote:
 Hi,
 
 I've been trying to come up with a nice program architecture for a live
 performance tool (Audio looping etc),
 and I've kind of hit a wall:
 
 Input will be taken via OSC, the engine will be written in C++, and the
 GUI is up in the air.
 
 I've written most of the engine, (working to a degree needs some bugfixes),
 and now I've started implementing
 the GUI in the same binary. Ie: its all compiled together, double-click it
 and it shows on screen  loads JACK client.
 The GUI code has a nasty habit of segfaulting.. which is also killing the
 engine. That's a no-go for live performance.
 The engine is rock solid stable. So its the fact that there's the GUI
 thread running around that's segfault-ing things.
 
 So I'm wondering if it feasible to keep the audio/other data in SHared
 Memory, and then write the GUI in Python reading
 from the same memory? Is this concidered ugly design? I have no
 experience with SHM, so I thought I'd ask.
 
 The other option I was concidering is writing the front-end GUI part using
 only info obtained from OSC, but that would
 exclude the waveforms of the audio, and lots of other nice features...

You could do both: Connect the gui via OSC for general usage and define a 
shared memory for the big-data for local usage. If your engine is that rock-
stable, you might want to run it on a headless machine and control it via OSC. 
Which allows the gui to run on any win/linux/mac/ipad/ipod/galaxy 
tab/whatever. And once the shmem is working, you can try to port some of that 
to osc too.

Have fun,

Arnold


signature.asc
Description: This is a digitally signed message part.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Program design: C++ - SHM - Python

2010-12-26 Thread fons
On Sun, Dec 26, 2010 at 10:56:59AM +, Harry Van Haaren wrote:

 Summing up: Large data ( ±384,000 samples of float type ) OK to send with
 OSC?

Depends entirely on if the delay is acceptable or not. You can send it as
a binary blob - encoding each sample would be quite a waste of time.

Ciao,

-- 
FA

There are three of them, and Alleline.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Program design: C++ - SHM - Python

2010-12-26 Thread Harry Van Haaren
On Sun, Dec 26, 2010 at 11:20 AM, f...@kokkinizita.net wrote:

 Depends entirely on if the delay is acceptable or not. You can send it as
 a binary blob - encoding each sample would be quite a waste of time.


I should have specified: The data will be the Sample played back by the
engine,
and it will be sent to the GUI, to be able to show the waveform / spectral
etc info.

IMO: Delay acceptable yes. Binary blob is good advice, thanks.

Ill try it out when I get some time, and will report back.
-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Program design: C++ - SHM - Python

2010-12-26 Thread fons
On Sun, Dec 26, 2010 at 12:37:47PM +, Harry Van Haaren wrote:

 On Sun, Dec 26, 2010 at 11:20 AM, f...@kokkinizita.net wrote:
 
  Depends entirely on if the delay is acceptable or not. You can send it as
  a binary blob - encoding each sample would be quite a waste of time.
 
 
 I should have specified: The data will be the Sample played back by the
 engine,
 and it will be sent to the GUI, to be able to show the waveform / spectral
 etc info.
 
 IMO: Delay acceptable yes. Binary blob is good advice, thanks.

One thing to consider: sending such large blocks of data may block
the sender, so you should not do this from the RT audio processing
thread.

Ciao,

-- 
FA

There are three of them, and Alleline.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Program design: C++ - SHM - Python

2010-12-26 Thread Arnold Krille
On Sunday 26 December 2010 14:02:49 f...@kokkinizita.net wrote:
 On Sun, Dec 26, 2010 at 12:37:47PM +, Harry Van Haaren wrote:
  On Sun, Dec 26, 2010 at 11:20 AM, f...@kokkinizita.net wrote:
   Depends entirely on if the delay is acceptable or not. You can send it
   as a binary blob - encoding each sample would be quite a waste of
   time.
  
  I should have specified: The data will be the Sample played back by the
  engine,
  and it will be sent to the GUI, to be able to show the waveform /
  spectral etc info.
  
  IMO: Delay acceptable yes. Binary blob is good advice, thanks.
 
 One thing to consider: sending such large blocks of data may block
 the sender, so you should not do this from the RT audio processing
 thread.

Another thing: OSC is generally sent per udp. The bigger the datagram, the 
less likely it is actually sent and received. If you encounter this, either 
split the data into smaller chunks to be sent or use the osc to define a tcp-
connection for the big binary data.

Include avahi/bonjour/zeroconf into your equation and it will be the cure for 
cancer or something equally cool.

Have fun,

Arnold


signature.asc
Description: This is a digitally signed message part.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] on the soft synth midi jitters

2010-12-26 Thread cal

Does anyone have any experience with speed of traversal through a
boost multi index container? I'm pondering their use to manage notes
currently in play, eg indexed by midi channel ordered by midi event
time/frame stamp.

cheers, Cal

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] seeking fresh way to process/shape human whisper in real-time

2010-12-26 Thread Loki Davison
On Fri, Dec 24, 2010 at 11:43 AM,  i...@vt.edu wrote:
 Quoting Loki Davison loki.davi...@gmail.com:

 Mod it with a string instrument is my preference. I know i'm a bit too
 keen on acoustic instruments now days but it would be very neat to
 have a cello or double bass, etc as the control source to be
 filtered/modulate in with the whispers or each other. Guitar or bass
 with an ebow would also work. Reso's are great for that.

 Loki


 Many thanks for the suggestion Loki. Do you mind elaborating however? I am not
 sure what kind of modulation you are suggesting. Also, by reso, do you mean
 resonant filter?

 Many thanks!

Sorry for the slow reply, busy period! I'm suggesting you use the
string instrument as the controller of the whisper source/oscillator.
So in the basic case the volume of the string instrument controls the
volume of the whisper. You can then extend it so the other parameters
of the string instrument such as the frequency control something else
like the delay, spatial location or some filtering. Layering this
could sound quite interesting and you could combine layers of strings
and whispers controlled by strings. Sorry for the ambiguous wording;
by reso i was referring to a resonator guitar, a type of guitar that
works very well with an EBow and thus would be quite cool for this
use. Resonator guitars are made out of metal, I use this rather lovely
sounding gold tone, Paul Beard Signature:
http://www.goldtone.com/products/enlarge.asp?view=545

Loki
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev