[PD] Pd + asterisk?

Hans-Christoph Steiner hans at eds.org
Wed Dec 5 21:01:24 CET 2007


So Shawn Van Every and I just did a brainstorm of ideas for using Pd  
and Asterisk together.  There is a lot of potential there, especially  
if a couple key points are addressed.  Shawn can speak to the  
technical details better than me, he uses it a lot more.  I'll bet  
there are others who have responded to this thread who know it better  
than me also.

I think the key technical detail that came out of the discussion was  
that the call bridging should happen in Pd.  This would allow a Pd  
patch to send sound to individuals participating in a call, for example.

So here is a quick rundown of some of the ideas we came up with:

- add ambient sound to a call.  You could call a service, select the  
background ambiance you want (Times Square, Yosemite, Niagara Falls,  
the beach, tropical rainforest, etc), then the call would be placed  
thru to someone, and it would sound like you are in a different  
place.  The ambient sound sources could even be live streams.

- subtract ambient sound from a call.  Using standard noise filtering  
techniques, from simple to elaborate, background sound could be  
eliminated from the call

- you could analyze the sound of a call and use this to control a  
large video screen like an instrument.  The analysis of that call  
would then be used to generate audio feedback to the caller to  
provide for a richer musical experience.

- you could change the voice quality of a caller.  This could be used  
in a MMP game, for example, where each character would choose how  
their voice would sound like.  Then an elf would sound like a elf, a  
wizard could sound old, etc. etc.

- as a form of feedback, you could add reverb to a sound based on how  
far away that caller way, or perhaps make the sound more muted if the  
person is really close by.

- in a conference call, you could "whisper" comments to individual  
people in the conference.

- do a voice stress analysis, and then tell the caller whether the  
other caller is stressed, (i.e. lying or whatever)

.hc


On Dec 2, 2007, at 7:03 PM, drh270 wrote:

> Russell,
>
> This sounds great!
>
> I'm not sure that this interface makes sense for Pd.  It's tempting  
> to see if we
> can fit into something that exists, but my gut is telling me that  
> Pd is a
> different animal that should be approached in a different way.
> Chris, in an earlier post mentioned using OSC, he was using a Python
> script, so communicating via OSC may be a starting point.
>
>
> 1) I want to make it possible to develop interactive phone  
> applications using
> Pd.  Basically, I want the audio from a call to go into Pd, and to  
> get audio
> back out that is sent back in the caller.
>
> Seems to me that perhaps a SIP soft phone may be trickier because rtp
> audio comes in on many ports, what about a Pd iax2 phone object and
> have it listen to the audio on port 4569?
>
>
> 2) I also want to be able to hook Pd into the audio path of a  
> call.  So, the
> audio coming from one side of the call is processed through a Pd  
> patch before
> sent out to the other side of the call.
>
> Is it possible to run Pd and Asterisk on the same machine? Like  
> Icecast?
>
>
>
> Best,
> Ryan Holsopple
>
>
>
> On 12/2/07, Russell Bryant <russell at russellbryant.net> wrote:
>> Greetings,
>>
>> I've been an Asterisk developer for a few years.  I now lead the  
>> software team
>> in charge of Asterisk at Digium, Inc.  I just learned about Pd a  
>> few weeks ago
>> when I met Hans.  I think Pd is very cool, and I'm really excited  
>> to see what we
>> can come up with to combine Pd and Asterisk.
>>
>> I have been diving in head first to learn about how Pd works, and  
>> what the
>> possibilities could be.  However, I would like to discuss what the  
>> goals of "Pd
>> + Asterisk" are.
>>
>> Coming up with the most powerful integration between the two will  
>> take two parts:
>>
>> 1) What are the potential applications that we can dream up?  I  
>> can provide
>> access to any aspect of a phone call.  That includes the media  
>> streams and
>> various bits of meta-deta, such as the digits that have been  
>> pressed.  What can
>> those of you that have the real knowledge about Pd think of that  
>> would be cool
>> to do with a phone call?
>>
>> 2) Given the applications above, what are the primitives required  
>> to accomplish
>> them?  Both Asterisk and Pd are toolkits.  It's all about breaking  
>> things down
>> to a general solution that is the most flexible to accomplish  
>> current and future
>> applications.
>>
>>
>> Hans-Christoph Steiner wrote:
>>> Fun stuff, three of these.  I had been vaguely thing of making some
>>> kind of AGI object for Pd.  It would be nice to easily tap into
>>> Asterisk from Pd.
>>
>> Just a quick bit of background.  AGI is an interface that exists  
>> in Asterisk to
>> use the programming language of your choice to control phone  
>> calls.  It uses
>> stdin/stdout or a TCP socket to send/receive text commands and  
>> responses.
>>
>> I'm not sure that this interface makes sense for Pd.  It's  
>> tempting to see if we
>> can fit into something that exists, but my gut is telling me that  
>> Pd is a
>> different animal that should be approached in a different way.
>>
>>> A softphone that uses Jack would be handy too... on that note, I
>>> wonder how hard it would be to make a softphone in Pd :)
>>
>> A softphone in Pd?  Ha ... I suppose it's possible.  We can come  
>> back to this
>> one.  ;)
>>
>> For now, I think I'd rather start with hooking Pd into Asterisk so  
>> that it
>> becomes a part of a larger system.  Asterisk can handle the phone  
>> calls part,
>> and Pd gets to do what it is good at already.
>>
>> I've been looking at [streamin~]/[streamout~] a bit this weekend.   
>> I am thinking
>> of using that as an initial proof of concept to get audio from a  
>> phone call in
>> and out of Pd.  But, please yell at me if there is something else  
>> I should start
>> with.  In the end, I want to provide a couple of different things  
>> in regards to
>> phone audio.
>>
>> 1) I want to make it possible to develop interactive phone  
>> applications using
>> Pd.  Basically, I want the audio from a call to go into Pd, and to  
>> get audio
>> back out that is sent back in the caller.
>>
>> 2) I also want to be able to hook Pd into the audio path of a  
>> call.  So, the
>> audio coming from one side of the call is processed through a Pd  
>> patch before
>> sent out to the other side of the call.
>>
>> Finally, aside from the audio of a call, I want to be able to pass  
>> events into
>> the Pd patch, as well.  The first part of this would be any digits  
>> pressed on
>> the phone, but there could be other things.  Some telephony  
>> technologies allow
>> text messages to be sent within a call, for example.
>>
>>
>> Anyway, those are just some initial thoughts.  Let your mind  
>> wander, though.
>> Telephones are everywhere, especially now that so many people  
>> carry cell phones.
>>  What could that mean for people using Pd in performances?   
>> interactive art
>> projects?  If you have some ideas, what can I do to make it  
>> possible?  Just let
>> me know.  :)
>>
>> --
>> Russell Bryant
>>
>> _______________________________________________
>> PD-list at iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
>> listinfo/pd-list
>>
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list



------------------------------------------------------------------------ 
----

                   ¡El pueblo unido jamás será vencido!






More information about the Pd-list mailing list