Real-time audio chat

Hello folks!
it's my first post, so, please, forgive me if I'm breaking some rule..
I've thought about an web application I want to develop, but I'm not sure if it's possible and that's why I'm posting my question on this forum.
I want to develop a chat which allows a real-time conversation by voice using JMF (or another solution).. but I don't know how to get started. (is it possible without applets?)
if you could send me some links to tutorials or any sort of aid, it would be really nice.
Thanks in advance!!
p.s. I know my english isn't so good.. so forgive me again
greetings from Brazil!!
Edited by: luis.celestino on May 20, 2009 5:24 AM

luis.celestino wrote:
I want to develop a chat which allows a real-time conversation by voice using JMF (or another solution).. but I don't know how to get started. (is it possible without applets?)If you're wanting to deploy an application like this on the web, you could certainly do it using JMF, and if you're not wanting to do an applet, you could do it as a Java web-start application.
Here are some JMF resources to get you started learning how to do stuff. Pay close attention to the ones talking about sending audio/video data via RTP, and receiving it.
API
[http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/apidocs/]
Examples
[http://www.cs.odu.edu/~cs778/spring04/lectures/jmfsolutions/examplesindex.html]

Similar Messages

  • Sndpeek. real-time audio visualization

    Homepage:
    http://soundlab.cs.princeton.edu/software/sndpeek/
    Screens:
    http://soundlab.cs.princeton.edu/images/sndpeek.jpg
    http://soundlab.cs.princeton.edu/images/sndpeek6.jpg
    http://soundlab.cs.princeton.edu/images/sndpeek2.jpg
    http://soundlab.cs.princeton.edu/images/sndpeek3.jpg
    sndpeek is just what it sounds (and looks) like:
        * real-time 3D animated display/playback
        * can use mic-input or wav/aiff/snd/raw/mat file (with playback)
        * time-domain waveform
        * FFT magnitude spectrum
        * 3D waterfall plot
        * lissajous! (interchannel correlation)
        * rotatable and scalable display
        * freeze frame! (for didactic purposes)
        * real-time spectral feature extraction (centroid, rms, flux, rolloff)
        * available on MacOS X, Linux, and Windows under GPL
        * part of the sndtools distribution.
    i have the intention to make the PKGBUILD, but it has no ./configure and its default is to install on /usr/local/
    # Contributor: Your Name <[email protected]>
    pkgname=sndpeek
    pkgver=1.3
    pkgrel=1
    pkgdesc="real-time audio visualization "
    url="http://soundlab.cs.princeton.edu/software/sndpeek/"
    arch=('i686' 'x86_64')
    license=('GPL')
    depends=(libsndfile)
    provides=(sndpeek)
    source=(http://soundlab.cs.princeton.edu/software/sndpeek/files/$pkgname-$pkgver.tgz)
    md5sums=('0ad03fa135bf819fb5971fde015526b4')
    build() {
    cd $srcdir/$pkgname-$pkgver
    ./configure --prefix=/usr
    make || return 1
    make DESTDIR=$pkgdir install || return 1

    well changed the PKGBUILD a little... but still got errors...
    # Contributor: Leandro Chescotta <[email protected]>
    pkgname=sndpeek
    pkgver=1.3
    pkgrel=1
    pkgdesc="real-time audio visualization"
    arch=('i686' 'x86_64')
    url="http://soundlab.cs.princeton.edu/software/sndpeek/"
    license=('GPL')
    depends=('libsndfile')
    source=(http://soundlab.cs.princeton.edu/software/sndpeek/files/$pkgname-$pkgver.tgz)
    md5sums=('0ad03fa135bf819fb5971fde015526b4')
    build() {
    cd $srcdir/$pkgname-$pkgver/src/sndpeek
    ./configure --prefix=/usr
    make linux-alsa || return 1
    make DESTDIR=$pkgdir install || return 1
    output:
    [aleyscha@aleyscha 51 sndpeek 22:15]$ makepkg -f
    ==> Making package: sndpeek 1.3-1 i686 (Fri May 15 22:15:45 ART 2009)
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    -> Found sndpeek-1.3.tgz in build dir
    ==> Validating source files with md5sums...
    sndpeek-1.3.tgz ... Passed
    ==> Extracting Sources...
    -> bsdtar -x -f sndpeek-1.3.tgz
    ==> Removing existing pkg/ directory...
    ==> Entering fakeroot environment...
    ==> Starting build()...
    PKGBUILD: line 16: ./configure: No such file or directory
    make -f makefile.alsa
    make[1]: Entering directory `/home/aleyscha/bin/arch_packages/sndpeek/src/sndpeek-1.3/src/sndpeek'
    gcc -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -I../marsyas/ -O3 -c chuck_fft.c
    gcc -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -I../marsyas/ -O3 -c RtAudio.cpp
    RtAudio.cpp: In member function 'void RtApi::openStream(int, int, int, int, RtAudioFormat, int, int*, int)':
    RtAudio.cpp:234: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:239: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:244: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:250: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:257: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:339: error: 'sprintf' was not declared in this scope
    RtAudio.cpp:341: error: 'sprintf' was not declared in this scope
    RtAudio.cpp: In member function 'RtAudioDeviceInfo RtApi::getDeviceInfo(int)':
    RtAudio.cpp:355: error: 'sprintf' was not declared in this scope
    make[1]: *** [RtAudio.o] Error 1
    make[1]: Leaving directory `/home/aleyscha/bin/arch_packages/sndpeek/src/sndpeek-1.3/src/sndpeek'
    make: [linux-alsa] Error 2 (ignored)
    cp /usr/local/bin/; chmod 755 /usr/local/bin/
    cp: missing destination file operand after `/usr/local/bin/'
    Try `cp --help' for more information.
    ==> Tidying install...
    -> Compressing man pages...
    -> Stripping debugging symbols from binaries and libraries...
    ==> Creating package...
    -> Generating .PKGINFO file...
    -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: sndpeek 1.3-1 i686 (Fri May 15 22:15:50 ART 2009)
    Press any key to continue...
    [aleyscha@aleyscha 52 sndpeek 22:15]$

  • Real-Time Audio Spectrum in FCPro?

    Is it possible to do a real-time audio spectrum analysis (i.e., some sort of audio frequency histogram) in Final Cut Pro 4.5? I have some interview audio that has some high-frequency noise, and I'd like to easily be able to tell where in the spectrum it's happening.
    Thanks.

    True, but the process of exporting the appropriate audio clip to another app, finding the offending portion, then coming back into FCPro to filter it out seems like a lot of work considering that FCPro does have a lot of other audio functionality--and a video spectrometer--built-in. It would be really great if FCPro did this!

  • Real time HTML Chat support for websites?

    We would like to add real-time HTML chat functionality to some of the websites we host on our Mac OS 10.4 Servers, so that we can host live chats, discussions and interviews on our website for general audience of the web. It looks like iChat Server can only host chatrooms for iChat clients and that doesn't fit our needs. I'm hoping someone has experience with or recommendations for a software or package install that allows us to host chats on our websites, requiring no special installs for our users, or maybe a simple auto-installing Java applet.
    Cheers,
    Brett Wilhelm

    http://www.phpfreechat.net/
    take a look at this one..
    Google is your friend..

  • After Effects Playback 27 fps (Real Time) Audio is Slow

    Hello,
    I have Adobe After Effects CS 5 running on an HP Z600  8 core workstation (12 GB RAM) on Windows 7.
    When I import any video AVI, MOV, etc and I preview with RAM the audio plays slow and it reports fps: 27 (real time)
    When I link comps from premier I think it is causing lip sync issues.
    My co-worker has the identical computer and when importing the same video, his reports fps: 29.97 (real time) and audio play fine.
    I have looked around for settings that may affect this but nothing seems to help.
    Multi-threading? Open GL issue?
    Any Ideas?
    Thanks,
    Greg

    > Sorry, I just figured it out.
    If you think that what you just figured out might be useful to others, feel free to elaborate here. If not, then I'll go ahead and remove this thread if you don't mind.

  • Apple technician mentioned some sort of real time web chat???

    rang up apple as suggested in a previous topic, and he suggested speaking to a technician engineer using web chat in real time (??) he mentioned this was on the support site, obiviously i cant find it, can anyone help me out and direct me to it??

    And also the iPod Shuffle for some strange reason.
    I saw that the OP did not have an iMac G5 listed in his tag line but as an Apple engineer pointed him in that direction I just wanted to clear up the point that Volker made (thanks for level4 Volker!).
    Regards,
    Colin R.

  • Adobe Director 11.5 - Real-Time Audio Manipulation?

    Hi all,
    Firstly, I'm enrolled in a Multimedia Design course in College, and our College is using Director 11.5, hence why I need advice specifically on the older version, not the current one.
    Our assignment for one of the courses is to author an interactive visual dictionary - using Director 11.5 - on a topic of our choice. In my group's case, it was the workings of a soundboard.
    In an attempt to really increase the level of interactivity and make a superb addition to future portfolios - as well as showing off - we want to include an interactive 'soundboard simulation' which users can play with. There will be three separate audio inputs that play continuously, and 5 dials to increase or decrease certain effects. Those dials/effects are:
    EQ - Hi (High Pass Filter)
    EQ - Lo (Low Pass Filter)
    FX - (Reverb or Echo)
    Pan - (Left to Right)
    Level - (Volume)
    The idea is that as the user adjusts the dials, the audio is effected in real-time with a multitude of possible effects being applied. Is this remotely possible with Director? As far as coding in Director, I'm still a relative novice, but I have a good head for code and a lot of the principles are the same as in Javascript (which I'm also learning and I must say, pretty good at), it's just the syntax itself which may prove troublesome to wrap my head around at times.
    But for now I'm just asking if this is even possible. At our current level of Director proficiency, we're sort of shooting for the moon, but I don't see anything wrong with that!
    The only page I've found listing various audio filters and parameters in Director is this: http://help.adobe.com/en_US/Director/11.5/UsingScripting/WSCB4744EA-6E6E-4b85-A946-E2C6E3A 4450D.html
    However, I'm not certain that those can effect audio real-time (even just an 'onMouseUp' effect would be fine, but we'd much prefer it be truly real-time).
    Any advice, hints, tips, tricks, or directions would be very much appreciated!

    Hello Peregrine.2976,
    Here is a link to a .dir file that adjusts volume in real time
    by setting a variable and calculating volume in play frame as user
    slides volume button. Can show more about sound control if needed.
    http://www.theclickpoint.com/volume/volume.dir
    Peace,
    Jack

  • Real time audio streaming

    Hi, I need to develop a j2me softphone, is there someone who can tell me how to do audio streaming ? I already read jsr135 but nothing important.
    I would appreciate any help.

    Hi Daniel,
    I'm encouraged to receive a response!
    I can't see how the advent of a new codec will affect the issues that I mention above. You still need an unreliable protocol to transport the Speex data! Datagram support is optional in both MIDP2.0 and it's my understanding that it is rarely implemented. The objection about Bluetooth remains - L2CAP support is optional, and setting the flush timeout on an L2CAP connection is impossible.
    Then there is the question of playing and recording at the same time. The anecdotal evidence seems to be that even though you can use threading to start two players at the same time, as soon as you try record and play at the same time, an exception is thrown (sometimes the emulators work but after deploying on the device the exception is thrown).
    Finally, you mention that there are a number of Java ME VOIP applications out there. Do you have links? Personally I can't find any. What I can find is a number of products that operate on different platforms:
    eg Fring that has Symbian, iPhone OS, Windows Mobile and Java ME versions.
    What is telling is that the Java ME version does not support voice, while the other versions do. The same applies to Nimbuzz and Talkonaut. Extensive googling has not revealed any exceptions to this rule.
    If you can prove me wrong it'll make my day :).
    Cheers,
    Fritz

  • How can I get real-time audio (think Bloom from Brian Eno out of my ipad and into garageband on my mbp?

    I'm a visual artist and an audio novice who would like capture some spontaneous Bloom or Scape musical noodlings. Since neither Bloom nor Scape allow users to save to a universal audio format, I'm hoping that there's a way for me to get those noodlings out of my iPad and into GrageBand on my MBP
    Thanks, in advance, for any help

    See Recover your iTunes library from your iPod or iOS device.
    While I agree that it would be nice if it was easier to transfer media from your Apple devices they should never be used as the sole location for any of your media. They are too easily lost, stolen, damaged, or corrupted. The user tip above also includes a link to a suggested library backup strategy so that you can avoid being in the same position in future.
    tt2

  • T520i Sound problem (real-time audio)

    I`m using my Lenovo T520i i7-2630QM with 8GB Ram for my DJ needs.But i have  pops, hisses, crackles and pauses. I disabled the wireless adapter in order to get better results and it`s working but in every 15 min or 30min there is crackles and pops.I`ve run the LatencyMon http://imageshack.us/f/861/212324333434344.jpg/. the highest dpc routin execution is iaStor.sys. any ideas ? 

    Hi vlad5657
    Try updating to the latest Intel Chipset driver using System Update.
    You could also try downgrade to HP's Intel LAN driver. (High % causes from this)
    http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=de&cc=de&prodTypeId=32...
    &swLang=18&mode=2&taskId=135&swItem=ob-96025-1
    Related issues:
    http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/DPC-latency-audio-mouse-skip-and-stutter-on...
    http://forums.lenovo.com/t5/W-Series-ThinkPad-Laptops/Workaround-for-high-DPC-issues-for-X-T-and-W-0...
    You could find more on similar cases on this forums.
    By the way, since you are a DJ, you could achieve better sound / customization through Dolby audio drivers instead of using default Conexant audio drivers.
    Hopefully, 2012 would be a better year for all of you! 
    Peter
    ThinkPad: W520 (4284-A99)
    =============================================
    Does someone’s post help you? Give them kudos as a reward, as they will do better to improve 
    Mark it as solved if the solution works for you, so it could be reference for others in the future 
    Dolby Home Theater v4 (Essential/IdeaPad/ThinkPad)
    http://forums.lenovo.com/t5/General-Discussion/Dolby-Home-Theater-v4-for-most-Lenovo-Laptops/td-p/62...

  • Possible to make a real-time audio analysis program?

    Hi, I was wondering if it is possible to use flash to create a swf file that detects audio levels (or certain frequencies) so that on this event it could trigger a movie clip, or timeline event, if not, does anyone know what could be used to do this?
    Thanks!

    The tree vi for the above are in these .llb. Thanks
    Attachments:
    6430 project unedited.llb ‏1267 KB
    6487 project.llb ‏221 KB
    3390 project.llb ‏2356 KB

  • Real Time Audio Mixing.

    Hi!
    I would like to mix 2 rtp stream into one. Is there any possibility?
    Thanks in advance!:D

    Hi captfoss!
    I got to create de MergedDataSource, but when I tried to create the sendStream
    sendStream = RTPmanager.createSendStream(outputProcessor.getDataOutput(),0);          it throws a UnsupportedFormatException.I use the index 0, because I want to mix all the track in one stream.
    The audio format used in the track is ALAW_RTP. So, in outputProcessor I convert the track into this format and I add this format to the RTPManager object.
    To do convert all the track of DataSource object into ALAW_RTP format I do this:
    try {
         outputProcessor = Manager.createProcessor(mergeDS);     
    } catch (IOException e) {
           gestor.notifyEvent(createCallErrorEvent(ErrorConstants.IO_ERROR,"IOException. Error en la creacion del Data Source o del outputProcessor al establecer la comunicación."));
    } catch (NoProcessorException e) {
         gestor.notifyEvent(createCallErrorEvent(ErrorConstants.CREATE_PROCESSOR,"NoProcessorException. Error en la creacion del outputProcessor al establecer la comunicación."));
    outputProcessor.addControllerListener(this);
    try
         logger.debug("["+callID+"]OutputProcessor.configure()");
         outputProcessor.configure();
    }catch(Exception e){
         logger.error("["+callID+"]establecerComunicacion - outputProcessor.configure"+e.getMessage());
    }when the outputProcessor is configured:
    if(audioFormat!=null)
         TrackControl track[]=outputProcessor.getTrackControls();
         for (int i = 0; i < track.length; i++) {
              track.setEnabled(true);
         Format [] alawRTPFormat = alawrtpPacketizer.getSupportedOutputFormats(null);
         if(audioFormat.matches(alawRTPFormat[0]))
              Codec[] codec = new Codec[2];
              codec[0] = alawEncoder;
              codec[1] = alawrtpPacketizer;
              for (int i = 0; i < track.length; i++) {
                   track[i].setFormat(audioFormat);
                   logger.debug("["+callID+"]outputprocessorConfigured - Habilitada pista : "+i);
              try {
                   for (int i = 0; i < track.length; i++) {
                        track[0].setCodecChain(codec);
              } catch (UnsupportedPlugInException e) {
                   gestor.notifyEvent(createCallErrorEvent(ErrorConstants.UNSUPPORTED_PLUGINGS,"UnsupportedPlugInException al modificar la cadena de codecs del outputProcessor."));
              } catch (NotConfiguredError e) {
                   gestor.notifyEvent(createCallErrorEvent(ErrorConstants.NOT_CONFIGURED_PROCESSOR,"NotConfiguredError al modificar la cadena de codecs del inputProcessor."));     
         else
              for (int i = 0; i < track.length; i++) {
              track[i].setEnabled(true);
    try
         logger.debug("["+callID+"]outputProcessor.realize()");
         outputProcessor.realize();
    } catch (Exception e) {
         logger.error("["+callID+"]outputProcessorConfigured - realize."+e.getMessage());
    when the outputProcessor is realized:     outputDS = (DataSource) outputProcessor.getDataOutput();               
         initSessionManager();
    and initSessionManager method is this:private void initSessionManager()
         try {
              logger.debug("["+callID+"]initSessionManager - RTPmanager.createSendStream() ");
              sendStream = RTPmanager.createSendStream(outputProcessor.getDataOutput(),0);          
         } catch (NullPointerException e) {
              e.printStackTrace();
         } catch (UnsupportedFormatException e) {
              gestor.notifyEvent(createCallErrorEvent(ErrorConstants.UNSUPPORTED_FORMAT,"UnsupportedFormatException. Error el formato no es soportado en la sesión."));
         } catch (IOException e) {
              gestor.notifyEvent(createCallErrorEvent(ErrorConstants.IO_ERROR,"IOException Error al crear el SendStream."));
         } catch (Exception e) {
              logger.error("["+callID+"]InitSessionManager - createSendStream. Exception:"+e.getMessage());
         try {
              logger.debug("["+callID+"]InitSessionManager - sendStream.start() ");
              sendStream.start();
              logger.debug("["+callID+"]outputProcessor.start()");
              outputProcessor.start();
    } catch (NullPointerException e) {
              e.printStackTrace();
         }catch (IOException e) {
              gestor.notifyEvent(createCallErrorEvent(ErrorConstants.IO_ERROR,"IOException Error al comenzar a enviar el SendStream."));
         } catch (Exception e) {
              logger.error("["+callID+"]InitSessionManager - sendStream.start."+e.getMessage());
    Any idea about it?
    Thank you very much for your help!:D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Real time speed change mixing

    Wondering if a way exists for me to make on the fly speed changes in real time while doing a voice over. Would like to just play a clip while recording my voice over and be able to freeze the clip while I continue to talk, then hit another key to start the clip moving at regular speed again all while I continue to talk. I don't even necessarily have to do the voice recording using FC. Just would like a way to do this which is a lot like real time audio mixing, but with speed changes. thanks.

    The VO tool in FCP requires real-time sync to the playhead, so that won't work that way.
    SnapZ allows you to record an image of the desktop, system audio (FCP playback), and the Mac's built-in input all to separate tracks of a QT file. I have used this for software instruction videos. There is a quirkiy issue with snapZ and frame rates. I posted a good workflow to address this a few months back. You would only need to do this if you were going to use the video recorded with SnapZ.
    Hope this helps - -
    Max Average

  • How "real-time" is Media Server

    Hi,
    I am testing a developer version of Media server. I am
    broadcasting real-time audio (not a pre-recorded file). I am
    curious how fast the audio is distributed among the clients? What's
    the delay value between the Media server and the clients?
    On the client side I am monitoring a "liveDelay" value every
    five seconds. The value keeps its value at around 0.200-0.500
    seconds. Is that a real delay between the client and the server?
    Sometimes this value jumps to 3.5 seconds and stays there for
    a long time. My network is perfect (it's our internal network and
    the latency is less than 1ms).
    Is it possible to make sure that the Media server broadcasts
    the audio data as fast as possible please?
    Thanks

    See-
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=628&threadid =1287387&enterthread=y

  • Audio levels automation in real time?

    Hi,
    Is it possible to automate the audio levels in REAL TIME? (using the mouse or an external mixer controller)
    (automating one audio level at a time would be enough)
    Thanks!

    PPlease use feedback to make a feature request. We really do need some audio mixing tools, even simple ones.

Maybe you are looking for

  • Unlocking the iPhone 4S - Please, a REAL answer from someone official?

    I've searched everywhere for this; I've read the other posts with the link to the "unlock confirmation" that's really from the "Droid" page; I've contacted customer service three times . . . each time as I was about to pull the trigger on purchasing

  • Stiff Battery cover for Lumia 520

    Today I configured my first Lumia 520 and it was an 'interesting' experience. I have 2 complaints: 1. Whilst the battery cover adds a nice feel to the phone, it is stiff and very difficult to peel off. 2. The online instructions provided for peeling

  • Functional areas vs. cost center groups for cost of goods sales

    What are the benefits of using functional areas over cost center groups when building your p&l for cost absorbtion or visa versa?  Which of the two is recommended?

  • Firefox will not launch in OSX Lion (10.7)

    It's simple. I upgraded last night to OSX 10.7 (Lion). Today Firefox will not open. I get a dialog that it can't open... What gives?

  • OEMDSP64.exe-- what is it?

    I was looking at Vista's  reliability monitor and noticed that it has been logging several application failures (about 3 times a day) for something called 'OEMDSP64.exe', shown as 'stopped working'.   I never saw any evidence of these failures while