Giter VIP home page Giter VIP logo

Comments (10)

L0g4n avatar L0g4n commented on June 30, 2024 1

@fakufaku To be correct, the first row in my signal array corresponds to the first column in my R microphone array (not row) since the mics should be stacked along the second axis.

from pyroomacoustics.

fakufaku avatar fakufaku commented on June 30, 2024

Hi @Merlin7864 , there should not be much to change. You can use the (simulated) script here as an example. To use real data, you will need to replace the output from the simulation aroom.mic_array.signals by your recorded signals (read from a wav file I expect).

One problem that I have seen often is that with real recordings it is often unclear which channel corresponds to which physical microphone. If the order of the channels doesn't correspond to the microphone coordinates provided to the DOA object in the columns of the R matrix, in the script, the computed DOA will be wrong.

from pyroomacoustics.

Merlin7864 avatar Merlin7864 commented on June 30, 2024

Thank you, and I'm glad that the example code will perform well. As a follow on, do you happen to know if the performance will be affected if the sound is transmitted through a medium with significantly higher sound speed and how it could be counteracted in terms of software?

from pyroomacoustics.

fakufaku avatar fakufaku commented on June 30, 2024

Hopefully the code will perform well... 😅 Keep in mind that you might have to tune the parameters of the algorithms depending on the signals and array aperture (choice of frequency bands, etc).
As for the follow up question, I don't think I have a good answer to that. It sounds challenging!

from pyroomacoustics.

Merlin7864 avatar Merlin7864 commented on June 30, 2024

Haha it is. Now trying to include spatial smoothing, any chance pyroomacoustics has that installed? lol

from pyroomacoustics.

fakufaku avatar fakufaku commented on June 30, 2024

If by spatial smoothing you mean beamforming, you can take a look at the beamforming module.

from pyroomacoustics.

fakufaku avatar fakufaku commented on June 30, 2024

Closed due to lack of activity.

from pyroomacoustics.

L0g4n avatar L0g4n commented on June 30, 2024

One problem that I have seen often is that with real recordings it is often unclear which channel corresponds to which physical microphone. If the order of the channels doesn't correspond to the microphone coordinates provided to the DOA object in the columns of the R matrix, in the script, the computed DOA will be wrong.

@fakufaku Reading this part of your reply, I wonder how I correctly associate my raw signals to my "virtual microphone array". I know which channel corresponds to which physical mic though.

So if i simply pass my signals sequentially into the STFT (like in your simulate script) which signal is associated with which mic in the virtual mic array?

P.S.: I get the data of each separately as a simple stream of floats, so not in a WAV or another format where the channels are grouped.

from pyroomacoustics.

L0g4n avatar L0g4n commented on June 30, 2024

@fakufaku So I found this sentence from the docs HERE.

The output from the convolutions will be summed up at the microphones. The result is stored in the signals attribute of room.mic_array with each row corresponding to one microphone.

So, is it correct then to assume that the first row of my signal array corresponds to the first row (first mic) in the R array and so on?

from pyroomacoustics.

fakufaku avatar fakufaku commented on June 30, 2024

Yes, that is how it should be. The order of the channels in the STFT and the order of the microphones in R should match.

from pyroomacoustics.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.