https://github.com/csteinmetz1/ev-sound-analysis

Analyzing audio from electric vehicles to determine FMVSS 141 compliance

https://github.com/csteinmetz1/ev-sound-analysis

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
Last synced: 10 months ago · JSON representation

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
Created over 7 years ago · Last pushed about 7 years ago
Metadata Files
Readme

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.

setup 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).

plot 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.

Federal Motor Vehicle Safety Standard No. 141, Minimum Sound Requirements for Hybrid and Electric Vehicles

Resources

Owner

  • Name: Christian J. Steinmetz
  • Login: csteinmetz1
  • Kind: user
  • Location: London, UK
  • Company: @aim-qmul

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

requirements.txt pypi
  • matplotlib *
  • numpy *
  • pysoundfile *
  • scipy *
  • seaborn *