I am writing a waveform editor but am stuck at what seems a simple problem as for efficiently drawing even very long recordings. It is my understanding/intuition that for every column one pixel wide in the display I must compute the min and the max amplitude of the corresponding block of samples (and then draw a vertical line between them) But this translates to having to scan the whole recording, which can even be many MB long, at every zoom in or out operation, which is surely not very efficient, and can even lead to hiccups on slow machines or with very long recordings. I am sure that some trick exists and is commonly used to speed up this task but I have no idea how to do it... can you point me on some link explaining the tricks if any ? Or explain the tricks directly ? I could not find any...
how to efficiently draw an audio waveform
129 Views Asked by elena At
0
There are 0 best solutions below
Related Questions in DRAWING
- self updating drawings C#
- How to draw an animated path with multiple colors in ios?
- Matrix (?) to Rectangle and vise versa
- Multiple CGContextRefs?
- How to calculate the base line of text in .NET while using System.Windows.Forms.TextRenderer?
- Text drawing "bold"
- Errors in bitmap creation in Java
- How to draw a rectangle on a button click?
- Why am I getting a QWidget error?
- HTML, Canvas Path2D alternative.
- Draw arbitrary convex shape knowing the lengths of its sides
- Making graphviz trees have parents centred above children
- Custom drawing of UIButton
- C# XNA - Dispose graphics once they have been collected
- Two drawn lines affecting each other
Related Questions in AUDIOWAVEFORM
- Audio Wave Form in React Native
- Is there a way to access an After Effects audio layer's sample rate or waveform data?
- Sine-Tone generator produces undesired harmonics
- how to efficiently draw an audio waveform
- How to create a audio wave while recording in Flutter?
- Visualization of audio files waveform in react native
- Android smooth audio waveform
- NAudio - Get Wav Peak Data as Int16 Values
- Add line to FFmpeg waveform without a background
- How to generate a wavesurfer with multiple peak colors using videojs-wavesurfer or wavesurfer.js?
- audiowaveform error (No such file or directory #include "gmock/gmock.h") while installing on aws elastic beanstalk
- HTML5 Audio generating wavefrom from .wav file
- getting `Failed to transform exoplayer-hls-2.17.1.aar` error after install audio_waveforms package
- How to get audio peaks with FFmpeg?
- How to change wave form colour Android Studio kotlin
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)
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?