After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 349983 - New plugin: fftw-based Fourier transform + toys
New plugin: fftw-based Fourier transform + toys
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-08-04 21:10 UTC by Joe Rabinoff
Modified: 2006-08-21 09:49 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Patch that changes the already-existing files in the CVS repository (3.39 KB, patch)
2006-08-04 21:11 UTC, Joe Rabinoff
none Details | Review
Patch for the already-existing files in the repository (4.02 KB, patch)
2006-08-04 21:34 UTC, Joe Rabinoff
none Details | Review
New files for this plugin (16.04 KB, application/x-tgz)
2006-08-04 21:36 UTC, Joe Rabinoff
  Details

Description Joe Rabinoff 2006-08-04 21:10:21 UTC
This is a patch to the CVS HEAD of gst-plugins-bad.  It adds a new plugin, "fftwspectrum", with four elements:

  * fftwspectrum: use fftw to convert a raw audio signal into a frequency spectrum (in chunks) using a discrete Fourier transform
  * fftwunspectrum: the inverse of fftwspectrum
  * spectrumeq: a multi-band equalizer that operates on frequency spectra directly
  * moodbar: a toy analysis element based on Gav Wood's Moodbar code for Amarok

The main reason I wrote this plugin in the first place was to revive the moodbar code in Amarok, as the Exscalibar library on which it used to be based is now unmaintained.
Comment 1 Joe Rabinoff 2006-08-04 21:11:32 UTC
Created attachment 70226 [details] [review]
Patch that changes the already-existing files in the CVS repository

Patch for gst-plugins-bad that implements the feature request.
Comment 2 Joe Rabinoff 2006-08-04 21:34:45 UTC
Created attachment 70227 [details] [review]
Patch for the already-existing files in the repository

This patches the already-existing files in the repository.  The next attachment contains the plugin directory.

Please ignore the previous attachment; I forgot to do a recursive diff.
Comment 3 Joe Rabinoff 2006-08-04 21:36:34 UTC
Created attachment 70228 [details]
New files for this plugin

This tarball contains the new files for the plugin: ext/fftwspectrum/*
Comment 4 Joe Rabinoff 2006-08-12 21:18:29 UTC
Withdrawn, I'm going to distribute on my own for the moment; email me if you decide you want to include.
Comment 5 Jan Schmidt 2006-08-18 19:30:05 UTC
Sorry, we've been quite slack about replying to you on this bug. The plugin certainly sounds interesting. I'm trying to download it at the moment and try it out, but bugzilla's being a bitch.

How's the licensing for the code? LGPL would be best, as it's a requirement for boosting the code up into gst-plugins-good
Comment 6 Joe Rabinoff 2006-08-20 18:53:34 UTC
The FFTW library is GPL, so I don't think this plugin could move beyond Ugly.  As I mentioned above, I'm maintaining the fftwspectrum plugin (now just called "moodbar") in a separate package as a dependency for the Amarok project, under a GPL license (as Amarok is GPL'd).  You can download that package at http://amarok.kde.org/wiki/Moodbar .

I think it's best that I maintain these plugins in the separate package, at least for the moment -- it's easier for me to maintain as I SVN write access on its current SVN repository, and the Amarok people would be unhappy to make CVS gst-plugins-bad a dependency for their next release.  (By the way, the version of the moodbar plugin I submitted on this page has a nasty memory leak.)  There are a couple more elements I plan on writing anyway (speed up/slow down playback without altering pitch, or alter pitch without changing playback speed; maybe a beats-per-minute analyzer).

Feel free to put a link to the moodbar package on the gstreamer homepage.  You can also talk to me on irc.freenode.org under the nick QBob; I hang out in #amarok usually.  Thanks for taking a look at my code! 
Comment 7 Jan Schmidt 2006-08-21 09:49:57 UTC
Cool. Thanks for the explanation.

You might find the 'speed' element interesting - it's a libsoundtouch based element that can do pitch-preserving speed changes and speed-preserving pitch shifts. It's still in gst-plugins-bad because it needs a patch or 2 for handling seeks correctly iirr, and needs to go through the other points of the plugin checklist to move to gst-plugins-good.