GStreamer Voice Recorder in Mono

A few weeks ago Larry and I were talking about adding voice memos to photos in F-Spot. So last night, having trouble getting to sleep, I started hacking on a simple audio source recorder for GStreamer. I’ve now got a simple C “class” for recording to ogg, a Mono/C# binding class, and a Mono/C# test application. For those interested in trying it, here’s a tarball.

Though it’s really simple, I’m pretty excited about it because I can never seem to get the standalone Sound Recorder in GNOME to work properly. But maybe that’s just because I avoid it now out of past bad experiences. It probably works fine, and I’m just nuts.

I plan on adding basic playback and seeking to it, stealing a stripped down version of that code from Banshee (plug!), and then some how it will get integrated into F-Spot, so you can record all sorts of sentimental audio notes on your photos. How cute.

Oh well… back to Banshee.

7 Replies to “GStreamer Voice Recorder in Mono”

  1. Hi!

    Do you think there is any chance to get these audio files imported from the camera? My camery (Pentax Option S4) can save audio files within the pictures using the same file name, but another extension (.WAV).

    Anyway, thanks for your work for F-Spot!


  2. I don’t really work on F-Spot… I just started working on this one feature, but importing audio from cameras that support it shouldn’t be too hard. I’d love to see it as well as my Canon SD400 supports voice memos as well.

  3. I notice you use interop services for the gstreamer stuff in your code. Whats the state of Gst# these days? I want to get into writing some gstreamer apps in C# but would rather not be reaching for the C books :S

  4. I went to have a look at your sources today but they 404 any chance of getting hold of these or a point in the right direction for recording with csharp and mono and linux


  5. Ryan, these sources are probably completely lost. I put them in my ~/public_html, which I use basically for temporary files, etc. Anyway, I managed to wipe that whole directory not thinking anything important was in there. From now on I keep random projects that aren’t kept in version control at, but alas, this code never made it.


Comments are closed.