Giter Club home page Giter Club logo

Comments (11)

katspaugh avatar katspaugh commented on May 21, 2024

Hey Patrick,

Yes, great idea! I'll be glad to help should you decide to do it yourself.

Large files are a problem we couldn't solve (it seems decodeAudioData has limits on audio buffer size, and it's crashing when the file is over 60 MB). However, speech is easily compressed due to narrower frequency ranges, plus high quality usually isn't required.

from wavesurfer.js.

amundo avatar amundo commented on May 21, 2024

Cool! Is there any documentation on writing WaveSurfer plugins? Otherwise I guess I can just try to model it from the interface in the ELAN plugin. My Javascript skills are nowhere near as good as yours, but I want to try!

Have you looked into the “streaming” capability of createMediaElementSource for the possibility of addressing the file size issues you mention?

In my line of work we do use huge .wav files, often (gulp) half a gig, because sometimes we do acoustic analysis on them—we use nice mics, etc.

Incidentally, have you seen this blog post? He mentions WaveSurfer and claims to have come up with a way to handle long files, but I can’t seem to find the Github link he mentions.

from wavesurfer.js.

katspaugh avatar katspaugh commented on May 21, 2024

ELAN "plugin" is just a number of functions in WaveSurfer namespace, it's not integrated in any way with the main program. Whereas you'll have to access WaveSurfer instance to analyze the peaks array and mark silent sections, so yours will be the first real plugin. Just pass a WaveSurfer instance as a parameter, and we'll figure out how to enable plugins by names via main init options later.

Chunking is a way to go, but it will be 1) slow (the browser will have to download the half gig of chunks anyway), 2) you'll have to prepare the chunks somehow (outside wavesurfer). I think the better similar option is to setup a server and decode audio/find peaks there, then just download peaks and use Audio element/createMediaElementSource for playing (SoundCloud's waveform.js does exactly that).

I'll see this weekend how Aurora.js decodes MP3. They must somehow preprocess audio stream before playing it (I don't think they can be fast enough to decode in realtime). If I'm right, we could use that to draw waveforms from audio streams.

from wavesurfer.js.

katspaugh avatar katspaugh commented on May 21, 2024

I've started working on this for a transcription tool: http://www.wavesurfer.fm/example/annotation/

from wavesurfer.js.

echo66 avatar echo66 commented on May 21, 2024

kats, you don't even know how grateful I am for that demo. :') I was designing a music annotator with wavesurfer.js and fabric.js and, seriously, that demo will help me to organize some ideas. 💃

Thanks!!!

from wavesurfer.js.

katspaugh avatar katspaugh commented on May 21, 2024

@echo66, you're welcome, man!

from wavesurfer.js.

amundo avatar amundo commented on May 21, 2024

As I mentioned before I’m a big fan of this plugin too!

It seems that the audio isn’t currently loading?

from wavesurfer.js.

katspaugh avatar katspaugh commented on May 21, 2024

Eh? Loading for me.

from wavesurfer.js.

CWSites avatar CWSites commented on May 21, 2024

+1 for the Silence Finder

from wavesurfer.js.

ATouhou avatar ATouhou commented on May 21, 2024

+1 for the Silence Finder

Anyone made an extension for silence finding?

from wavesurfer.js.

Frank3K avatar Frank3K commented on May 21, 2024

Anyone made an extension for silence finding?

Doesn't the demo annotation plugin do this? Demo.
Relevant source: http://wavesurfer-js.org/example/annotation/app.js

from wavesurfer.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.