Sound data is grouped into frames of 256 samples. Each frame is converted into the frequency domain and the most significant (highest-amplitude) frequencies are identified. A number of frequency bands are selected for encoding; the rest are discarded. The bitstream for each frame then encodes which frequency bands are in use and what their amplitudes are. This codec does not take into consideration actual sample rate, and has fixed ratio between input samples amount and output packet size (2 bits per input sample).
Use in Flash technology
On March 4, 2002 Nellymoser Inc. announced that Macromedia licensed Nellymoser's Asao speech and audio compression software to be part of FlashMX and Macromedia Flash Player 6. (Macromedia is now Adobe Systems.) The Nellymoser Asao codec is an integral part of the Flash-plugin since Flash version 6, released in 2003. The codec is optimized for real-time and low-latency encoding of audio. Flash Player clients, when recording audio from a user's microphone, can use the Nellymoser Asao codec. (Flash Player 10 released in 2008 also supports the open source Speex codec.) The sampling rate of the audio capture can be controlled by the Flash programmer to increase and decrease encoding bitrate and quality. Encoding is done on the client host, and compressed data is then sent using Adobe's RTMP protocol to an RTMP server (Flash Media Server, Wowza Media Server).
Use in other technology
At the time of the release of Flash Player 6 in 2003, there was no free or open source software for encoding and decoding Nellymoser audio. Nellymoser Inc. sold a decoder for thousands of US dollars.
In March 2006, Adobe Systems' people posted to Flash Server development newsgroup information about an on-coming new tool for FLV audio (including Nellymoser audio) conversion to MP3/WAV. In July 2006, they announced that they have not been able to release the FLV/MP3 converter due to restrictions in Nellymoser license agreement. They found that they can only distribute this tool to be used with licensed copies of Flash Media Server.
In 2007, a project called "nelly2pcm" was created. In 2008, this project was removed from Google Code in response to a complaint under the U.S. Digital Millennium Copyright Act. There were also some other attempts for creating free Nellymoser decoder. Some apparently use a "wrapper" to force the flash ocx to play audio faster (e.g. 1:4 ratio), which redirects and grabs the audio output (wave) and then encodes it to MP3. This method does not use a licensed Nellymoser codec.
In September 2007, a patch based on "nelly2pcm" was sent to FFmpeg multimedia framework development mailinglist. In October 2007, a patch for decoding Nellymoser audio was added to FFmpeg SVN. As of December 3, 2008, the open source FFmpeg project has encoding and decoding support for the Nellymoser Asao codec. Stable release with Nellymoser audio support is 0.5, released on March 10, 2009.
- Nellymoser, Inc. (2002-03-04) "Macromedia Selects Nellymoser's Asao Compression Technology for FlashMX". Archived from the original on July 24, 2003. Retrieved 2017-04-18.CS1 maint: BOT: original-url status unknown (link), Retrieved on 2009-08-12
- Adobe Inc. (2008) Flash CS3 - Legal Notices, Retrieved on 2009-08-11
- AskMeFlash.com (2009-05-10) Speex vs Nellymoser, Retrieved on 2009-08-12
- MultimediaWiki Nelly Moser, Retrieved on 2009-08-11
- Mark Lynch (2008-07-23) Extracting from sound from Flash (aka NellyMoser), Retrieved on 2009-08-12
- (2002-12-27) NellyMoser Voice Codec, Retrieved on 2009-08-12
- Marco Casario (2005-04-14) FLV created with FCS and nellymoser audio codec, Retrieved on 2009-08-13
- FlashComGuru Forum (2006) Convert on2 to mp3 / flv to mp3? Archived August 23, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- LiSoG (2006-10-06) Open Source Tender: Implementation of an Audio Codec Compatible with Nellymoser Asao Codec (PDF) Archived 2006-10-13 at the Wayback Machine, Retrieved on 2009-08-12
- Nellymoser Codec - How many people have run into the same problem?, Retrieved on 2009-08-13
- Gnash Project Wiki Nellymoser Archived August 18, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- FlashComGuru (2006-07-31) Nellymoser Link List, Retrieved on 2009-08-12
- Andrew Paul Simmons (2007-05-22) Recording Audio with Flash Player to MP3, WAV, AVI, etc. Archived August 13, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- FlashComGuru (2007) Convert on2 to mp3 / flv to mp3? Archived October 24, 2007, at the Wayback Machine, Retrieved on 2009-08-12
- Steve Wolkoff (2006-03-16) How to export FLV audio Archived 2009-08-18 at the Wayback Machine, Retrieved on 2009-08-13
- Burak KALAYCI (2006-03-08) Extracting FLV Audio (2), ASVGuy SWFBlog, Retrieved on 2009-08-13
- FlashComGuru (2006-10-03) Adobe comments on FLV to MP3 conversion tool, Retrieved on 2009-08-12
- Google Code nelly2pcm - Project Taken Down Archived June 9, 2010, at the Wayback Machine, Retrieved on 2009-08-12
- Audio/video stream recording forums (2008) Splitting Nellymoser FLV (extracting raw Nellymoser stream from FLV file), Retrieved on 2009-08-13
- Moxie Marlinspike (2007-07-03) nellynomore, Retrieved on 2009-08-13
- FlashComGuru Forum (2006) Convert on2 to mp3 / flv to mp3? Archived July 11, 2011, at the Wayback Machine, Page 10, Retrieved on 2009-08-13
- (2007-08-11) FFmpeg-devel - PATCH - NellyMoser audio decoder Archived August 18, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- NellyMoser decoding support in ffmpeg! Archived August 4, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- (2007-10-31) Lair Of The Multimedia Guru - FFmpeg weekly news #2 - October 2007, Retrieved on 2009-08-12
- (2007-10-15) FFmpeg-devel - PATCH - NellyMoser audio decoder v2 Archived August 18, 2009, at the Wayback Machine, Retrieved on 2009-08-12
- FFmpeg (2008-12-03). "FFmpeg News". Archived from the original on March 18, 2009. Retrieved 2009-08-12.
- FFmpeg. "FFmpeg Supported Audio Codecs". Retrieved 2009-08-12.