https://github.com/acoustics-code-salford/uas-sound-propagation
Render movement events from static hover UAS source recordings
https://github.com/acoustics-code-salford/uas-sound-propagation
Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.9%) to scientific vocabulary
Repository
Render movement events from static hover UAS source recordings
Basic Info
- Host: GitHub
- Owner: acoustics-code-salford
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 498 KB
Statistics
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 8
- Releases: 0
Metadata Files
README.md
uas-sound-event
Simulates simple atmospheric acoustic propagation effects for rendering multichannel auralisations of unmanned aerial systems (UAS - drones), or other airborne sources, in motion.
The model assumes that input source signals have been recorded at a fixed distance and with a fixed rotational speed. Auralisations are created assuming free-field propagation and account for the following: * Doppler effect * Distance-dependent atmospheric absorption of high frequencies * Ground reflection (including path length difference and angle-dependent high-frequency absorption) * Distance-based amplitude panning (DBAP) to spatialise source in 3D loudspeaker array (direct sound and ground reflection spatialised separately).
Author: Marc C. Green (m.c.green@salford.ac.uk)
Affiliation: University of Salford (Acoustics Research Centre)
Copyright statement: This file and code is part of work undertaken within the REFMAP project (www.refmap.eu), and is subject to license.
Based on method detailed in: Heutschi, K., Ott, B., Nussbaumer, T., and Wellig, P., "Synthesis of real world drone signals based on lab recordings," Acta Acustica, Vol. 4, No. 6, 2020, p. 24.
Usage
The main object implementing the propagation model is UASEventRenderer. This
object is initialised using CSV files defining flightpaths in segments. Each
segment requires the definition of start and end points in cartesian
co-ordinates, along with starting and ending speeds in meters per second.
The following is an example flightpath configuration file with four segments.
Further examples can be found in the flights/ directory.
segment, startxyz, endxyz, speeds
constant-speed flyby, 10 -200 30, 10 180 30, 30 30
decelerate, 10 180 30, 10 200 30, 30 0
accelerate, 10 200 30, 10 180 30, 0 30
flyby back, 10 180 30, 10 -200 30, 30 30
Using these CSV flightpath definitions, UASEventRenderer calculates the
position of the source at every sample time. These positions are used to
calculate the delays, distances, and angles required to render the propagation
effects based on a listener located at the origin of the co-ordinate system.
The listener height is set to 1.5 m by default. This affects the calculation
of the ground reflection signal in particular. Additional parameters include
the ground material, which can be selected from 'grass', 'soil', or
'asphalt', and the loudspeaker layout to target with the DBAP panning
(currently only 'Octagon + Cube' is implemented).
The object's render() method can then be used to generate a time-series
signal at the receiver point. The input source used should be sufficient in
length to cover the time taken to cover the entire defined flightpath.
The following is a basic script for rendering an event:
``` import soundfile as sf from uasevent.environment import UASEventRenderer from uasevent.utils import load_params
x, fs = sf.read('examplesource.wav') renderer = UASEventRenderer( loadparams('flightpath.csv'), receiver_height=1.5, fs=fs)
output = renderer.render(x) ```
Owner
- Name: University of Salford Acoustics
- Login: acoustics-code-salford
- Kind: organization
- Email: acoustics-code@salford.ac.uk
- Location: Salford, Greater Manchester, UK
- Website: https://acoustictesting.salford.ac.uk/
- Twitter: SalfordAcoustic
- Repositories: 1
- Profile: https://github.com/acoustics-code-salford
Code repositories for the Acoustic Labs and Acoustics Research Centre at the University of Salford.
GitHub Events
Total
- Issues event: 17
- Watch event: 2
- Delete event: 5
- Issue comment event: 8
- Push event: 37
- Pull request event: 20
- Create event: 7
Last Year
- Issues event: 17
- Watch event: 2
- Delete event: 5
- Issue comment event: 8
- Push event: 37
- Pull request event: 20
- Create event: 7
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 13
- Total pull requests: 10
- Average time to close issues: 19 days
- Average time to close pull requests: about 15 hours
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.1
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 9
- Average time to close issues: about 2 hours
- Average time to close pull requests: about 17 hours
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.11
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- marc1701 (13)
Pull Request Authors
- marc1701 (10)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4.1.0 composite
- appnope 0.1.3
- asttokens 2.4.0
- backcall 0.2.0
- cffi 1.16.0
- colorama 0.4.6
- colorednoise 2.1.0
- comm 0.1.4
- contourpy 1.1.0
- contourpy 1.1.1
- cycler 0.12.0
- debugpy 1.8.0
- decorator 5.1.1
- exceptiongroup 1.1.3
- executing 2.0.0
- flake8 6.1.0
- fonttools 4.43.1
- importlib-metadata 6.8.0
- importlib-resources 6.1.0
- ipykernel 6.25.2
- ipython 8.16.1
- jedi 0.19.1
- jupyter-client 8.3.1
- jupyter-core 5.3.2
- kiwisolver 1.4.5
- llvmlite 0.41.0
- matplotlib 3.8.0
- matplotlib-inline 0.1.6
- mccabe 0.7.0
- nest-asyncio 1.5.8
- numba 0.58.0
- numpy 1.25.2
- packaging 23.2
- parso 0.8.3
- pexpect 4.8.0
- pickleshare 0.7.5
- pillow 10.0.1
- platformdirs 3.11.0
- prompt-toolkit 3.0.39
- psutil 5.9.5
- ptyprocess 0.7.0
- pure-eval 0.2.2
- pycodestyle 2.11.0
- pycparser 2.21
- pyflakes 3.1.0
- pygments 2.16.1
- pyparsing 3.1.1
- python-dateutil 2.8.2
- pywin32 306
- pyzmq 25.1.1
- resampy 0.4.2
- scipy 1.11.3
- setuptools 68.2.2
- setuptools-scm 8.0.4
- six 1.16.0
- sounddevice 0.4.6
- soundfile 0.12.1
- stack-data 0.6.3
- tomli 2.0.1
- tornado 6.3.3
- traitlets 5.11.2
- typing-extensions 4.8.0
- wcwidth 0.2.8
- zipp 3.17.0
- numpy ^1.18.0
- python >=3.9,<3.13
- resampy ^0.4.2
- scipy ^1.11.3
- soundfile ^0.12.1