11

I'm creating a Mac app which needs a trim bar like the GarageBand and iMovie ones. I need a library to get the audio waves to draw them on a NSView. Anyone knows a good library for that?

I think he was referring to the track editor (cut/copy/paste/move). enter image description here

skynet
  • 9,898
  • 5
  • 43
  • 52
  • Can you clarify what you are specifically looking for? If all you need to do is read audio as floats, `ExtAudioFile` is the way to go. – sbooth Jan 07 '12 at 15:03
  • 1
    @jackjr300, any chance you edit the question and provide a screenshot of the iMovie/garageband feature you are looking for? – john.k.doe Aug 07 '12 at 17:08
  • You mean, you want a view of the waveform? – Brad Aug 07 '12 at 18:55
  • Someone has removed some of the text that I wrote in my edition of the question. I wrote this : `It's not for me, I use my reputation to help those who need it`. Yes `a view of the waveform` will be OK for me. Any answer that will be relevant to this question will be considered as an good answer. – jackjr300 Aug 07 '12 at 20:13
  • I helped build this for a big music startup's app. We looked at libraries then (~2 years ago) but there were none. It's a non-trivial task especially if you want it to be performant - we ended up building it the way @sbooth hinted. Would be very interested in a library that does that. – toto Mar 19 '14 at 17:26

3 Answers3

1

There's a cool blog post on how to draw Waveforms by the author of the Capo audio editing software:

http://supermegaultragroovy.com/2009/10/06/drawing-waveforms/

I wrote Cocoa (Mac) code based on that, and it's not too hard. You can find that code here:

https://github.com/uliwitness/UKSoundWaveformView

Though it's far from a finished, shippable editor, it's under a permissive license (zlib) and could easily be used as a basis for a full editor.

uliwitness
  • 8,532
  • 36
  • 58
0

Maibe this helps: Drawing waveform with AVAssetReader and if the issue is to draw, then this may help: Parametric acceleration curves in Core Animation

Community
  • 1
  • 1
Zelter Ady
  • 6,266
  • 12
  • 48
  • 75
0

This framework might help you out. From the examples it looks like its pretty easy to use and works well. It provides components to open an audio file, play it and draw the waveform. You might need to implement the cut/copy/paste features on your own.

nonex
  • 233
  • 3
  • 12