Menu

Several microphones in parallel?

Help
2005-09-07
2012-09-22
  • Guillaume Raymondon

    Hi guys,

    I'm currently working on a noise sensitive table project. (if you want to know more about it :

    http://craftsrv1.epfl.ch/research/interactivetable/
    )
    At this stage, the main goal is to build a prototype.

    I developp the software that'll make the audio streams analysis and I plan to use Sphinx for Audio acquisition :

    • because the architecture seems well developped and really usefull.
    • because we are envisaging to add speech recognition as a new usefull feature in the application in the next stages of the project and having sphinx as part of the architecture is obviously a good thing.

    But I'm facing a problem : I need to acquire and process several input stream at the same time so :

    • Can I do it with the current architecture?(I have studied it a bit but I can't tell if the creation of several Microphones handling different audio lines is a feasible thing)

    • What kind of hardware can be used? There's the possibility to buy an expensive audio acquisition card but I don't know if java can handle several audioLines on one mixer. There also the possibility to put several audio cards in the PC (4 in our case) but I don't know how java can handle that too...

    So I'm really grateful for all help/piece of information that you can provide and I wish you good luck for the upcomming versions of Sphinx :)

    Regards
    Guillaume

     
    • The Grand Janitor

      Which versions of Sphinx? III or IV? -Arthur

       
    • Guillaume Raymondon

      I plan to use Sphinx 4

       
      • The Grand Janitor

        Will, Paul and Phil will give you a better account. Let us wait in this case. -Arthur

         
    • Willie Walker

      Willie Walker - 2005-09-08

      Hi Guillaume:

      This is an interesting question and problem. I'd like to better understand what you're looking to do. For example:

      Are you looking to have Sphinx-4 perform a single recognition based upon multiple parallel input streams? If so, there are a few different ways to accomplish this. One might be to use a separate audio mixer (e.g., a Mackie 1202VLZ) to mix the audio and then send a single stream to Sphinx--4. Another might be to look at the experimental parallel stream processing capabilities of Sphinx-4, though I think this method is probably best for multiple streams with good quality audio.

      Are you looking to perform separate recognitions, with one per microphone? If so, this should be simple if you have one machine per microphone. If you want to use a single machine with multiple recognizers running for each microphone, I think you should be able to do this. I think Java will give you a mixer instance for each card in the machine. If you run "java -jar bin/AudioTool.jar -dumpMixers" it should let you see which mixers are available. The PROP_SELECT_MIXER property in Microphone.java can then be used to select the appropriate mixer (this is what I do on my PowerBook to select between the built-in microphone and one connected to the microphone jack). Putting this all together, you can run separate recognizers, each configured to listen to a different microphone.

      Will

       
    • Guillaume Raymondon

      Hi,

      First, I'ld like to thank you for the fast replies and for the interest you have in solving my problems :)

      To explain my project a bit further : the main goal is to design a noise sensitive table; it captures sound on the microphones that surrounds it (one user per microphone at this stage), it processes the INDEPENDANT streams to recover informations about the interactions and the collaborative work (in this part, we may use speech recognition) and it gives a "casual" feedback to the users with leds disposed on its surface.

      The problem I'm facing now is audio acquisition of several audio streams on the same machine. I don't know how java can handle several lines-in on the same mixer (if we choose to use only one sound card with several entries).
      For the further stages, when we'll begin to use speech recognition to add some extra information to the one we processed, it would be great if sphinx was already part of the project. That's why I plan to use it for data acquisition (and because it's a lot of work already well done for me)

      If you have some more information, I would be glad to hear them... As well, when the tests will occure, I'll let you know how I was able to handle the different streams :)

      Guillaume

       
      • Willie Walker

        Willie Walker - 2005-10-07

        Hi Guillaume:

        I've never experimented with using multiple microphones on the same machine using the Java platform. My suspicion is that you might need multiple sound cards, but I'm not sure if the Java Sound implementation will actually "do the right thing" or not.

        Will

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.