I'm having a little bit of programing and conversion trouble. I'm designing an AI to recognize notes played by instruments and need to extract the raw sound data from a wave file. My objective is to perform a FFT operation over chunks of time in the file for use by the AI. For this I need an amplitude list of the audio file, but I can't seem to find a conversion technique that will work. The files start as MP3's and then I convert them to wav file, but I always end up with a compressed file that spits out gibberish when I try to read it. Does anyone know how I might convert the wav file to something that would be compatible with Python's wave module or even something that would directly convert the data into an amplitude list?
Extracting an amplitude list from *.wav file for use in Python
11.9k views Asked by AlexL At
2
There are 2 answers
0
Nash Rose
On
I believe Python can read .dat files. You can use SoX to turn mp3s or wavs or whatever into .dat files that are simply a text list of "time - Left amp - Right amp"
The code is simply sox soundfile.mp3 soundfile.dat
Sox is command line - I run it with Terminal on my mac, but anything that understands Bash or Linux commands should work depending on what cpu you're using.
Hope that helps!
You might want to look at Pure Data too, it's got some nice FFT transforms built into an intuitive graphical programming language.
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in WAV
- Using MAX 9814 PCM data to create a .WAV file
- I'm getting chopping noises and incorrect results from my phase vocalizer in jupyter notebook
- How to implement pause/resume feature for wav audio with sounddevice in python
- WAV music extracts some features through librosa. How to restore this matrix to WAV format?
- Get PII durations (start-end time) from an Audio file using Transcription/other techniques
- Binary Visualisation of a WAV file using Python
- BINARY to WAV converted
- using gst-launch-1.0 to record audio to an audio file from any pipewiresrc input
- NAudio only plays sound on the default output device
- stm32 cubeIDE DMA DAC noise on DAC output
- Send OpenAI Text To Speech Wav stream to Twilio stream
- trying to record two channels from multi channel audio device into a wav file using the gstreamer c api without gst_parse_launch
- Write a numpy array to headerless wav file?
- Using webrtcvad to capture audio when the user starts speaking and stops speaking (like Siri) and then saving to a .wav file
- What kind of wav or wave sound data format is required in vosk nodejs library for speech recognition?
Related Questions in FFT
- Find Transfer Function from FFT Plot MATLAB
- NumPy's fftn in C# with pythonnet
- Discretized function becomes complex while free propagating a real function when sampled at even number of points using FFT and IFFT in Python
- How to get the frequencies and corresponding amplitudes from the FFT of a signal?
- How to get the correct frequency amplitudes in the FFT of a signal
- Using MATLAB to compute fourier coefficients
- Using FFT to sum independent random variables
- How to determine frequency dependant amplitude with FFT
- Reproducing the phase spectrum while using np.fft.fft2 and cv2.dft. Why are the results not similar?
- Calculate exponential complex sum with fft instead of summation to simulate diffraction?
- Rounding really small/near zero complex values in Python
- How can I apply FFT in the case of vector data?
- Detect the voice of multiple person speaking
- Improving Bandpass Filter for Image Processing in Python
- How to extract dominant frequency from NumPy array?
Related Questions in FREQUENCY
- Saving freq() object into data frame
- mapping arbitrary frequency to midi note using audiokit microtonality
- Finding the frequency of the order of four different tests in R
- Vary time between tasks according to wave function
- How to get closest value in array and interpolate real
- 4-FSK GnuRadio demodulation
- Computing periodogram in r for my time-series data
- Types of Clustering for signal analysis
- How do I calculate frequency and descriptive statistics using summarytools for all columns in dataframe when applying grouping and weights?
- Power BI DAX: Calculate mode based on conditio
- The columns containing relative abundance taxa does not sum to 1 in R but the same data does in excel
- FIltering out chaotic noise from breathing sensor signal
- R: relative frequency in a table
- AD988 waveform generate (RaspberryPi, Python)
- Making a geographic heatmap using ggmap in R for depicting frequency distribution
Related Questions in AMPLITUDE
- How to carry out population-mean cosinor analysis in R using 'card' package
- Abnormally low amplitude values in live audio processing
- How to specify a path when extracting data from Amplitude to s3 bucket?
- Different device list data from Playstore console vs Amplitude data
- Calculate Decibels from AudioRecorder in Android
- How to equate the amplitude of two sinusoidal signals in gnu radio?
- NameError: name 'sacc_dictionary' is not defined
- How to fit 2 gauss in python
- Amplitude Unity iOS 'Amplitude\Amplitude.h' file not found
- AudioKit v5 - Why is the loudness of the DynamicOscillators different depending on which Waveform Table I have set for them?
- Fit of increasing sinusoidal function
- Extracting annual amplitude and phase of xarray dataset for each pixel using xarray.DataArray.curvefit
- Correct amplitude of the python fft (for a Skew normal distribution)
- Amplitude in Frequency domain not matching time domain signal after FFT in python. Explanation?
- Finding the season of the highest temperature amplitude
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
The default Python wave module isn't very thorough. You might try the one included in scipy as an alternative.
Check out: Reading *.wav files in Python
If you're going to do any numerical heavy lifting with the audio, scipy might be your best option anyway.