RISC OS USB Audio Prize
I am offering a cash ‘prize’ to be awarded to the first person or company or group of persons who produces new software for RISC OS that satisfies the following requirements. The Prize is for £300 pounds. This is not meant to be a full payment as if the project were a commercial commission. It is simply offered to attract interest in the challenge to produce a specific useful item for RO users, and ‘win the prize’ as a public recognition. Others may also wish to add to the prize if they so choose.
Note also that ROOL have a relevant RO USB Bounty currently on offer!
The challenge: As I understand it, the existing RISC OS USB stack(s)/interface(es) do not support the isochronous / asynchronous methods. These would be required as the basis for being able to use modern high quality USB devices like the Halide Bridge, Arcam rDAC, etc. Other developments and alterations may also have to be implimented. The basis of the challenge is therefore to develop the USB stack/interface, user API, etc, to allow such devices to be ‘plug and play’ with ‘native’ ARM hardware running RISC OS. Thus enabling RO users to make use of modern USB devices for high quality audio playing (and recording).
The requirements include:
1) The resulting code should function and provide working access to the USB sound devices in a generic manner. i.e. Work with RO hardware having USB hardware, and drive any USB device that uses the methods employed by devices like the Halide Bridge and rDAC.
2) The compiled/assembled code and its source code should be made openly available so that it could be used or developed by anyone who was interested. At minimum it should work as required on both an Iyonix and newer hardware like the BeagleBoard and ARMini.
3) Have an openly documented API specification that anyone writing sound playing (or recording) programs for RO may use to play (or record) using suitable USB DACs/ADCs/etc.
4) Work with the standard LPCM sample rates and depths including at least 44.1/48/88.2/96k rates and 16/24 bits per sample, stereo.
5) Provide sample-by-sample bit-perfect output when used with devices like the Halide Bridge or rDAC with no breaks or stutters or repeats. i.e. for the system to be said to ‘work’ does not just mean ‘sounds can be heard’. It means that the same series of sample values that are present in the source material (e.g. LPCM Wave file) are played out at the appropriate uniform rate in the same sequence with no pauses, missing samples, etc, when using a device like the Halide Bridge or rDAC.
6) Success will be judged by myself on the basis of using the software (on my Iyonix by default) plus having any associated documentation and both listening to and measuring the output to see if it works in my judgement according to the requirements and with the following notes in mind. I may also consult others wrt questions like checking to ensure the software also functions on other machines like the BeagleBoard or ARMini and take their findings/views into account.
7) The new or modified USB code should not prevent existing types of transfer, etc, from working as previously. So for example will allow the user to read/write storage or other devices whilst playing (or recording) using the attached USB sound device(s).
8) The Prize offer will lapse and be withdrawn on 1st of December 2011 if it has not been awarded by that time. (I would however be happy to consider extending this if someone contacted me and said they were near being able to submit some software that they felt would meet the other requirements, after this set deadline.)
9) In the event of more than one submission to me fulfilling all the other requirements, ‘first’ will mean the earliest date of submission of the completed software and all its documentation, etc, to me for consideration.
10) Anyone submitting work for consideration does so on the basis that is their own work, or must make clear if all or part are the work of anyone else. Any desputes about such matters are for those contesting ownership/authorship to resolve among themselves.
These conditions and the other comments on this page will be my guide when deciding who may be awarded the prize, or if no prize will be awarded. Any award will be made on my judgement, although I may discuss the matter with others during consideration. None of the conditions, etc, represent any form of legal contract or promise of a legally binding agreement. They simply describe my being willing to consider making a personal gift according to my own choice.
Notes: Past RO hardware like the RiscPC and Iyonix have used dedicated sound hardware. This has however suffered from various serious (in audio terms) drawbacks. One is the tendency for the hardware to only function (semi-)correctly at one standard rate. For example, the Iyonix hardware only functions correctly at one standard rate – 48k. At other rates like 44.1k it tends to drop or repeat sample values. Those samples it does play are in bursts at another rate like 48k. Hence the output is significantly distorted. There has also been a general problem with interrupts, etc, causing either missed samples, or timing irregularities.
These days it makes more sense to implement a general standard method to enable the user to choose their own preferred ‘sound card’. Thus avoiding them being tied down by any imperfections in the sound hardware supplied with the computer itself. Having a suitable USB stack/interface will help ‘future proof’ sound playing and recording and avoid each individual choice having to have its own ‘fix’ and set of limitations.
At present users of other OSs and platforms can obtain excellent results. For example the USB devices I mention as examples can deliver superb results when connected to a box running a suitable Linux distro. These days an increasing number of computer users and audio enthusiasts are turning to using a computer as the basis for listening to music at home. And modern hardware is capable of really excellent results. However RO users have largely been excluded from this. Hence I feel that it is likely to become a major deterrent to attracting new users, as well as usefulness for existing users, if the RO machines remain unable to duplicate this. The basic problem here is not file formats or being able to process formats like mp3 or aac. Those with a serious interest in audio are likely to prefer LPCM. And the growth in hard disc sizes and home servers mean there is much less need to compress audio than in the past.
RO and its hardware should have advantages in this application area as they tend to be light, low powered, compact, and can be mechanically totally silent. Indeed, various dedicated systems (at present probably based on Linux) are commercially available. So far as I can see, the main blockage here at present is simply being able to use modern USB sound devices from RO.
Hence the aim of the Prize is to enable RO users to be able access good sound on a generic, flexible and developable basis.
Anyone wishing to submit work for consideration for the prize should please first contact me via email at the address given at the end of the Audiomisc website main page to arrange the details.
1st Jun 2011