Comments (10)
@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.
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.
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.
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.
Haha it is. Now trying to include spatial smoothing, any chance pyroomacoustics has that installed? lol
from pyroomacoustics.
If by spatial smoothing you mean beamforming, you can take a look at the beamforming
module.
from pyroomacoustics.
Closed due to lack of activity.
from pyroomacoustics.
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.
@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.
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)
- Raise warning when extruding Shoebox HOT 3
- Proper way to define a 3D room with walls of different heights HOT 1
- Testing CNN model using sound generated from pyroomacoustics room simulation HOT 2
- Adding a diffuser
- problem in pip HOT 4
- Has Gaussian-Laplace IVA (IVA-GL) been also implemented in this library? HOT 1
- Bug in auxiva? Script did not show any error, but got nan in the result of source matrix HOT 2
- Compute RIR up to a K (earliest or strongest) reflection (or max time)
- ValueError: operands could not be broadcast together with shapes (2709,96) (2500,1) (2709,96)
- Waves in the signal after convolving the signal with the RIR HOT 3
- Question regarding materials HOT 1
- scipy.signal.hann is deprecated in SciPy 1.13.0
- How to simulation energy decrease? HOT 8
- why conj in ILRMA HOT 4
- Error in pyroomacoustics/pyroomacoustics /beamforming.py HOT 1
- Differences With Other Libraries HOT 1
- Help me understand energy scaling HOT 4
- libroom.rir_builder error: "The rir array is too small for the maximum time recorded" HOT 5
- Plot of Microphones HOT 1
- directivity argument of Room.add_microphone_array HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyroomacoustics.