Add a web-based audio recorder for the audio.module

leoburd - June 15, 2006 - 21:21
Project:Audio
Version:5.x-1.x-dev
Component:Code
Category:feature request
Priority:normal
Assigned:Unassigned
Status:won't fix
Description

Hello there,

I think it would be great if audio.module allowed users to record audio files directly on the website using a Flash-based recorder similar to the one provided by www.bubbleshare.com . Would that be possible?

Best,

.L.

#1

drewish - June 24, 2006 - 01:03

i don't know anything about flash programming. i'm sure something's possible but we'd need to find someone willing to contribute the code.

#2

zirafa - June 24, 2006 - 03:44

I've thought about this a lot and it's not that simple. The basic protocol for taking in audio data from your microphone, digitizing it, and uploading it on the fly is basically the same thing as streaming in reverse. You'd need a special server to do it. Or, it'd have to save to the person's hard drive and then upload.

#3

drewish - June 24, 2006 - 21:53

zirafa, i think that the save to a file and upload would be the only way to do it.

#4

Boris Mann - June 24, 2006 - 23:30

Mike Potter from Adobe told me he had integrated this.

drewish -- I'll do an intro between you and Mike.

One of these days we might think about splitting our little audio module up -- it does so much! Actually, the recording function *might* be more generally useful...but as a start, having it create audio nodes would be great.

#5

zirafa - June 25, 2006 - 01:30

Drewish -- I agree. It could prompt for a place to save the audio to the person's HD and then when the person is done ask, "Save and send" which would just use the given URL on the HD to upload the file and create an audio node via the usual route.

I'm very interested to hear what Mike Potter has to say. I still think it's not a trivial task but I'll be very happy if someone can prove me wrong.

#6

drewish - June 25, 2006 - 22:16

well if some one can get a flash app that records and can post it or package it up as an XMLRPC request, it'd be do-able. i just don't know the flash or have the time to figure it out. leoburd had started some XMLRPC work over on #43110 that would probably make a nice back end. he didn't really finish up the patch but i'd be interested in getting something like that in.

boris, i agree that the audio module does too much. we've been trying to farm it out into smaller sub modules. i'm trying to pull the id3 reading and writing out over on #70576 i'd love some feedback/review on that. i think the new audio hook will open a lot of stuff up.

#7

leoburd - June 25, 2006 - 22:44

Hello there,

I've ported my audio_xmlrpc.module to 4.72, but I'm still in the process of testing it. What I don't understand is how my module could be used to make the audio uploading process more transparent to the user. Can anyone help me understand the detailed steps that the software would have to follow in order to do that?

Thanks in advance,

Leo

#8

leoburd - September 14, 2006 - 01:46

Hello there,

I'd really like to keep this conversation alive. Does anyone know how to create a Flash application to record and upload local audio files? I can help with the XMLRPC part of the equation, but I know nothing about Flash (or similar)...

Best,

Leo

#9

drewish - September 14, 2006 - 05:46
Status:active» won't fix

i looked into it and without using the flash media server it's all but impossible so i'm going to mark this as won't fix.

#10

leoburd - September 14, 2006 - 14:45

Hello drewish et al.,

Forgive my lack of knowledge, so you are saying it is impossible to build a
little Flash/Jave/etc client application to record audio from the client
computer's microphone and upload to the Drupal server? Hmmm...

Do you know where I could find more detailed information about how the flash
media server works?

Thanks for your time,

.L.

#11

drewish - September 14, 2006 - 18:03

you could probably do something via Java but here's what i heard back from the adobe guy:

Hey Andrew:
There are (at least) two ways of accomplishing this:

1. Using Flash Media Server. Users would have to purchase FMS or get a
hosting provider to host it for them (starts at about $10 / month for
hosting).
2. Using straight Flash (I'm actually not sure this is possible, but it
should be)... Flash has the ability to save 100K of data to the user's
hard drive, without prompting them for it. (Users can set that setting
in the Flash player, and can set it higher if they want). Since Flash
can also access the user's microphone and video camera, it could
theoretically save that file to the user's hard drive. I'm not sure
what format it would be in. Let me investigate this a bit more and see
what I can come up with.

To build this solution, you're probably going to want to use Adobe
Flex to do so. You can download a Beta trial version of Flex at
http://labs.adobe.com or wait a small amount of time for the product to
be released.

Mike

Mike Potter
Web / Open Source Evangelist
Developer Relations
Adobe Systems Inc.

and then in a follow up email:

From what I'm hearing, Flash can't do this without the use of the Flash
Media Server.

Having said that, we are working on a Flash run time called Apollo that
will allow Flash / Flex applications to be run outside of the browser.
Not sure if there'll be an Apollo API that does what you're looking to
do. That should be in a developer release later this year.

Mike

Mike Potter
Web / Open Source Evangelist
Developer Relations
Adobe Systems Inc.

#12

zirafa - September 14, 2006 - 19:20

I still think this is possible, but that it wouldn't be a true streaming process. You'd need some sort of client to record a file to the person's local hard drive, and then upload the file to Drupal from the hard drive once the file is done recording. I came across some java applets that could record audio and save it to a person's hard drive, and you might be able to do a similar thing in flash, or use flash as a front end. It might make sense to split this task into two parts:

1) a java based XMLRPC drag/drop uploader
2) a recorder that sits on top of 1) so that when the recording is done it essentially calls the same upload function.

Implementing #1 would be really useful even if #2 never happens.

#13

drewish - September 14, 2006 - 20:38

zirafa, leoburd already has a working xmlrpc backend, if it gets cleaned up i'll add it to contrib.

i think java would be the way you'd have to go. that email was straight from the flash people at adobe. i'll take their word that you need the media server to record audio from a flash movie.

#14

leoburd - January 25, 2007 - 12:54

Hello All,

I've looked more into the idea of creating a web-based audio recorder and this is what I've found:

  • It is nearly impossible to use Flash to implement the audio recorder in an open-source and useful way. Flash encodes audio using a proprietary codec called Nellymoser and that company charges thousands of dollars to license it. For more info, check http://board.flashkit.com/board/showthread.php?t=654132 and http://nellymoser.codec.googlepages.com/
  • An alternative would be to try to intercept the raw audio on its way to the computer speaker, but that is too cumbersome and takes a lot of time. This is the approach used here: http://www.flv2mp3.com/
  • The best solution, as discussed earlier, is to create the recorder as a Java applet. The applet would record the audio into a .Wav file, convert it to mp3 using a local library based on LAME (http://lame.sourceforge.net) or something similar, let the user replay what's been recorded, and then upload the resulting file to the server via XML-RPC.
  • Vimas Technologies developed a product that does pretty much all of the above, with the exception of the XML-RPC part (http://www.vimas.com/mp3.php). Unfortunately, their audio recorder is closed, costs $300, and could have a better API.
  • It would be great if somebody decided to implement an open-source of a Java-based audio recorder!! Any candidates? I'd be very happy to help out! the following link provides a good starting point: http://www.developer.com/java/other/article.php/2105421

Best,

Leo

#15

ajwwong - February 7, 2007 - 01:31

Just fyi, someone has done this using Drupal:

http://drupal.org/node/88456

He's using Flash media server, incidentally, but there's also red5 -- the open source flash media server, which apparently is becoming reasonably mature, now.

Would be great to have this cool functionality.

Thanks for all your hard work

Albert
www.ithou.org

#16

eodonnell - February 7, 2007 - 19:20

This might be too far from what you're looking for...but might be worth checking out:

https://disseminator.nottingham.ac.uk/support/

#17

leoburd - February 7, 2007 - 19:37

- The recorder looks good, but I couldn't get it to work... does it save files locally? Does it generate output in any non-Flash-specific format?

Thanks for the link!!

Leo

#18

ajwwong - April 12, 2007 - 12:17

leo... just fyi... this is a flash-based video recorder similar to stars-of-web... tho' not integrated with drupal [i think they are working on moodle integration]... http://cnm.open.ac.uk/projects/flashvlog/help.html

They are a research institution so they might be willing to collaborate with your work... Anyhow, Good luck!

#19

leoburd - April 12, 2007 - 12:59

Dear ajwwong,

Thanks for the follow-up. However, please check http://drupal.org/node/69242 for more on this discussion about web-based audio recorders...

Best,

.L.

#20

leoburd - April 12, 2007 - 13:07
Title:Add a Flash-based audio recorder similar to the one provided by BubbleShare.com» Add a web-based audio recorder for the audio.module

Ooops, please disregard my previous comment. I've got confused with another thread I was answering to.

Anyway, as discussed in item #14 above, Flash-based recorders are limited in the format they can output audio files. For the kind of application I'm developing, I guess the only solution would be to have a Java-based recorder...

Best,

.L.

PS. I'm renaming this issue from "Add a Flash-based audio recorder similar to the one provided by BubbleShare.com" to "Add a web-based audio recorder for the audio.module"

#21

leoburd - April 12, 2007 - 13:16

(In reply to http://drupal.org/node/135166#4)

Hello estone,

Yes, it would be great if someone decided to integrate Vimas Java-based audio recorder with audio.module. Unfortunately, I'm currently trying to finish my thesis and won't have any time for the next couple of months.

Here are a couple of things that need to be considered by anyone who decides to bring Vimas recorder to the Drupa world:

  • What if a node has got multiple audio nodes associated with it? Should its edit page display multiple recorders?
  • I personally don't like the appearance of Vimas recorder. It would be great if there's some way to change the way it's presented on the screen.
  • I'm not sure Vimas recorder allows users to change the microphone volume...

Please let me know what you are going to do, ok?

Best,

Leo

#22

sumanitha - February 11, 2008 - 03:59

I know a site called www.ksolo.com. This site records your voice and saves.

I dont know how they did it? If anyone finds out please post it.

Thanks

#23

ajwwong - February 16, 2008 - 06:56

Haven't had a chance to try this, but there looks like there is a solution using this drupal module here:

http://drupal.org/project/riffly

 
 

Drupal is a registered trademark of Dries Buytaert.