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...
Related Questions in DRAWING
- How to make a shape selectable within WinForm
- Python Mediapipe replace chest pose landmark lines with custom image
- Python Mediapipe replace pose landmark line drawings with custom image drawings
- Existing shapes not visible while creating new shape in Window Form application
- GTK Cairo. Why gtk_widget_queue_draw called from function (in iddle callback) does not work?
- UnityMobilePaint not working on actual device
- How to increase width of rounded rectangle path in GDI+?
- How do I generate automated parametric curve images on the command line faster?
- pyautocad COMError: (-2147352567, 'Exception occured.', (None, None, None, 0, None))
- Pine Script Boxes are extending up and down
- Detect text that overlaps with lines on a drawing using Computer Vision
- How can I draw a sector with internal radius using Turf
- I want to use custom font size in Flutter Image.drawString
- JPanel overdraws overlapping JComcoBox
- How to gradually change the saturation of a color in python turtle
Related Questions in AUDIOWAVEFORM
- How to i create audio waveform like messenger and WhatsApp, suggest me some packages. I want to customize it as i want
- TypeError: Cannot read properties of undefined (reading 'nativeElement') Angular in waveform lib
- Sine-Tone generator produces undesired harmonics
- Is there a way to access an After Effects audio layer's sample rate or waveform data?
- Audio Wave Form in React Native
- getting `Failed to transform exoplayer-hls-2.17.1.aar` error after install audio_waveforms package
- how to get music waveform data in nestjs
- Add line to FFmpeg waveform without a background
- the flutter audio wiveforms package does not display waveforms
- How can I create a url with extension for an audio/wav object fetched from API properly?
- NAudio - Get Wav Peak Data as Int16 Values
- Converting waveform data to visuals?
- 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
- How to change wave form colour Android Studio kotlin
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)