[sugar] Audio sample bank on the XO.

Bert Freudenberg bert at freudenbergs.de
Sun Jul 15 09:56:08 EDT 2007


On Jul 15, 2007, at 14:40 , Jean Piché wrote:

>
>
> Hello all,
>
> After trial-2 madness has passed, we have to make a serious audio
> decision: we really need a system-wide audio sample library. I
> suspect many activities that use sounds (including our own) will be
> blocked if a decision is not made. Here are some reasons:
>
> • Presently, activities wanting to share audio resources cannot do so
> through a shared directory.  Containerizing activities may actually
> agravate that situation but I am presuming this can and will be fixed
> regardless. I will enter this on trac. An activity supplying a
> resource for its own private use when the resource is of  general use
> leads to the wasteful duplication of data.
>
> • We need a sample bank to play Standad MIDI Files off the internet.
> I have a few misgivings about the quality of the music available for
> download in this format, but the SMF is a very compact and useful
> music storage technology. I am certain all will agree it should be
> supported on the machine.
>
> • Last and not least: this resource needs to live locally, not on a
> remote server. In the vast majority of cases, kids will use the
> resources that are immediately available and that do not require
> installation. There is no reason an appropriate system-wide resource
> cannot be put together for the XO.
>
> Here is a proposal:
>
> A default library:
>
> There are compelling reasons to make the XO audio sample bank conform
> to the General MIDI spec ( http://en.wikipedia.org/wiki/
> General_Midi ). The specification contains 127 sounds plus a number
> of drum/percussion sounds for a total of roughly 180 individual
> sounds, many of them quite short. GM is biased towards western
> instruments but it provides everything to correctly play midifiles
> off the internet. A GM sample bank could be put together for the XO
> in a relatively modest space leaving room for a number of other
> sounds needed by individual activities such as TamTam, eToys or other
> Csound-based activities.
>
> Allocation on disk
>
> A figure of 25MB was discussed at OLPC headquarters last year as a
> disk allotment for sound file resources. I am assuming this is still
> the case. The standard GM1 set  can take a lot, not so much or really
> little disk space depending on how it is planned. I propose that the
> set be given 10Mb of the availbale space. The rest can be made
> available to activities needing special sounds.  TamTam, for
> instance, would use many sounds from the GM1 set and many custom  
> sounds.
>
> Location and priviledges:
>
> The audio sample bank should be located in the system tree (/usr/
> share/sounds ?) where it is readily readable by any activity. A
> policy is needed for write-access but activities would need the
> possibility of copying audio resources in this location at install
> time up to a limit of 25MB. To take the example of TamTam again, any
> special sounds needed by TamTam wouls be copied into the designated
> location at install time. The location would not be writable by
> individual users. If kids wish to use their own sounds, these would
> go into their home directory and activities would have to provide
> ways of integrating those sounds.
>
> Sampling rate and format:
>
> Sampling rate has a major impact on quantity of storage required and
> audio quality.  There is also an impact on performance. A faster
> sampling rate has a huge impact on performance. Here is a comparison
> of sr vs length for 25MB storage of 16bit linear PCM monophonic audio
> files:
>
> sr				duration
> 32kHz		=	390 seconds
> 22.05kHz	=	566 seconds
> 16kHz		=	781 seconds
>
> Consider that the small speakers on the XO are not capable of
> rendering anything above a 22kHz sr. On the other hand,  earpods may
> be available giving a vastly improved bandwidth. We shoudl also
> consider the possibility of connecting the audio output of the XO to
> external sound systems.  Barry suggested that a 32kHz sr is desirable
> to cover higher audio quality applications and I would agree with
> that. Even at 32k, we have enough space for a good set of sounds in
> addition to the GM1 set. It is also  easy to pull down from 32k to re-
> sample at 16k and 8k, so activities can compensate for performance
> loss at higher sr.  The proposed format for individual sounds is:
> 16bit linear PCM single channel @ 32KHz.
>
> Keep in mind that this concerns audio samples only, not audio
> soundfiles in general. Playing mp3 and wave files is an entirely
> different problem which is not concerned with sampling rate issues.
>
>
> Sound names:
>
> The GM1 sample set proposes standard names for sounds along with
> their MIDI Program Change number from 0 to 127:  http://www.midi.org/
> about-midi/gm/gm1sound.shtml . I propose that the sounds simply be
> stored under these names in WAV or AIFF format with, possibly, a
> number at the end of the name.  Any other slots above the GM set
> would start numbering from, say, 256 with the name of the sound file
> determined by the activity that puts  it in the bank there.
>
> Availability and Licencing:
>
> A good sample set is not trivial to put together. The problem of
> licencing is also specially thorny in our case.  Some of the public
> domain sounds used in TamTam may have slight restrictions and we will
> need to adress this before FRS.  Whatever the situation and if
> resources are not readily available to develop a sampel set of our
> own, I strongly suggest that OLPC start looking at companies that
> would be wiling to licence one of their existing sample sets. Rick
> Boulanger did say last month that negociations were taking place with
> M-Audio to adapt one of their sample libraries.  Are there
> developments in that direction?  I would hazard that OLPC will not
> have the choice but negociate a deal with an existing sample company
> or, alternatively, record its own bank. GPL sounds do exist out there
> but the quality is spotty and not all categories of sounds are
> readily available.
>
>
> Comments sought and welcome!
>
>
> Jean Piché
> TamTam


Thanks, Jean, for writing up on this important topic.

Sound is very important for Etoys. We can read both AIFF and WAV  
samples, so no specific preference from our side in that. I'd  
slightly prefer 22050 Hz because that has been the default rate in  
Etoys for quite some time and seems "good enough" for our purposes.  
We can play load, edit, and play back MIDI, either using the built-in  
synthesizer or using an external one (via ALSA MIDI on Linux).

Could ALSA make use of this sound bank? Or could CSound be used as  
MIDI synthesizer?

There is a working OSC binding for Squeak, but to my knowledge it has  
not been integrated with Etoys, yet.

Anyway, this is tangential to the sample bank discussion. Your  
proposal sounds good to me.

- Bert -




More information about the Sugar mailing list