https://github.com/csteinmetz1/ev-sound-analysis
Analyzing audio from electric vehicles to determine FMVSS 141 compliance
Science Score: 13.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
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Repository
Analyzing audio from electric vehicles to determine FMVSS 141 compliance
Basic Info
- Host: GitHub
- Owner: csteinmetz1
- Language: Python
- Default Branch: master
- Size: 863 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
ev-sound-analysis
Analyzing audio from electric vehicles to determine FMVSS 141 compliance
Overview
This code provides a method for testing the compliance of electric vehicles (EVs) using readily available audio equipment. Traditional methods for conducting acoustic tests of these kind often require expensive hardware far outside the price range of consumers and university researchers. In addition, proprietary software is often required to implement the acoustic analysis (1/3 octave band analysis) specified in this kind of acoustic test. This code serves to offer an alternative process with comparable results, although with a greater margin of error due to difficulties in calibration.
Demonstration of EV testing setup. This features a reference condenser microphone (Behringer ECM8000), a USB audio interface (Focusrite Scarlett Solo), and a consumer laptop running a DAW for audio recording (Adobe Audition).
Example output plot showing measured A weighted dB SPL values for the 10 km/hr test case, as well as ambient noise and the FMVSS 141 specification.
Testing procedure
A specific testing procedure must be carried out to ensure as accurate results as possible. For full details on the test setup for FMVSS 141 compliance, please see the specification.
Required hardware is as follows: * Reference microphone * Audio interface (24-bit 48 kHz recording) * Audio recording software
And the calibration and test steps are:
1. Place the reference microphone in the testing position.
2. Play a consistent sound (e.g. white noise) for calibration.
3. Use a calibrated A weighted dB SPL meter to measure the level.
4. Note this value and use it in the name of the calibration file. (cal_74_04-21-2019.wav for 74 dB SPL)
5. Record about 5-10 seconds of this sound from the reference microphone.
6. Record about 5-10 seconds of the ambient sound in the testing environment. (amb_04-21-2019.wav)
7. Finally conduct each test recording at least 2 seconds of audio. (stat_04-21-2019_1.wav)
The final number of the test file indicates which run of that kind of test the audio recording corresponds to. This allows the user to provide and plot multiple runs of the same kind of test in the same directory.
Use the proper filename format for each testing type for proper plotting.
| Test type | Filename example |
| ---------- | ----------------------- |
| Stationary | stat_04-21-2019_1.wav |
| Reverse | rev_04-21-2019_1.wav |
| 10 km/hr | 10_04-21-2019_1.wav |
| 20 km/hr | 20_04-21-2019_1.wav |
| 30 km/hr | 30_04-21-2019_1.wav |
| Ambient | amb_04-21-2019.wav |
| Calibration| cal_74_04-21-2019.wav |
Store all test files in a single directory and install and run the code as shown below to create plots for each of the test cases. Note: the provided directory MUST contain a calibration and ambient audio file in order to produce any kind of plot. The number of test files in a single directory can be arbitrary as long as a number (run index) is provided for each test file, as explained above.
Setup and Usage
Clone this repository.
git clone https://github.com/csteinmetz1/ev-sound-analysis
Install python requirements.
pip install -r requirements.txt
Run analysis on your audio file or files.
python scripts/evsa.py input_directory -o output_directory
Note: This code is written for Python 3.7 or greater. Compatibility is not ensured for any other versions.
Background
A new regulation from the National Highway Traffic Safety Administration has been enacted that requires all electric vehicles meet given sound output requirements when operating in different scenarios. This was due to concerns that the low sound output of many electric vehicles can make them hazardous to pedestrians. The regulation provides target sound pressure levels (A weighted) over the frequency range for a number of different operating conditions of the vehicles (stationary, reverse, forward motion, etc.). Full details of the specification are presented in the document below.
Resources
Owner
- Name: Christian J. Steinmetz
- Login: csteinmetz1
- Kind: user
- Location: London, UK
- Company: @aim-qmul
- Website: christiansteinmetz.com
- Twitter: csteinmetz1
- Repositories: 79
- Profile: https://github.com/csteinmetz1
Machine learning for Hi-Fi audio. PhD Researcher at C4DM.
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- nat-tsang (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- matplotlib *
- numpy *
- pysoundfile *
- scipy *
- seaborn *