New version of ProSound
Henrik Bjerregaard Pedersen (3011) 58 posts |
There is a new version of ProSound which works on ARM7. ProSound is an audio processor, it was originally released by Oregan about 20 years ago. ProSound can edit large sound files. It should be available in PackMan soon, but until then it can be downloaded from www.henrikbp.riscos.fr. A few notes: This version has been tested on Pi 2 and a little bit in RPCEmu. There are probably still lots of bugs – the ARM7 conversion was a bit of a nightmare. There is no documentation. I believe documentation should be available online, so if anyone wants to start a wiki page somewhere then I’d be happy to contribute. When you start ProSound for the first time, the Choices window will be displayed. Select playback drivers and drag the directory icon to the place where you want ProSound to store data, typically your biggest/fastest harddrive. There is currently no way of recording sound. I am working on an API to allow other applications to delivered recorded audio to ProSound, hopefully this will be ready in a week or 2. Then someone will have to develope an application for interfacing with an USB audio device or whatever. I would like ProSound to be able to read MP3 files. If anyone feels like writing a BASIC program for decoding MP3, using eg. AMPlayer, then I’d be happy to include it in ProSound. |
Steffen Huber (91) 1953 posts |
Not a BASIC program, but there is some simple example code available on the DigitalCD site to implement an MP3 decoder based on the AudioMPEG/DiskSample modules. |
jim lesurf (2082) 1438 posts |
As things stand a USB recording input would have to bypass SharedSound and SoundDMA. So your best bet with that might be Colin or Dave. |
Steffen Huber (91) 1953 posts |
I always thought that SharedSound and SoundDMA only handle output? IIRC, RISC OS never had any public API for sound input, so hopefully Henrik’s API can be used in a generic way instead of an application specific way. |
Henrik Bjerregaard Pedersen (3011) 58 posts |
Thanks for the tip about DigitalCD – the AudioMPEG module seems like it might do the job. I think I will just wait a little to see if anybody volunteers to do the job. The API will not be ProSound-specific, it will just be a few Wimp messages to transfer information about available devices and to start/stop, and the rest will be done in shared memory. |
Raik (463) 2061 posts |
Short try this morning on my ARMX6. Works fine. Thanks a lot. I have also try with my EasyCap and IsocRecorder. No success. Not sure what the reason is. The right settings are inside (“Syntek Semiconductor ‘USB 2.0 Video Capture Controller’”) but “bad request”. |
Henrik Bjerregaard Pedersen (3011) 58 posts |
I also got the “bad request” error. I’m considering offering a bounty for a driver that works with a cheap USB device, but I have a feeling the cheap devices change every other month. |
Raik (463) 2061 posts |
I’m sure one of my EasyCap devices was working. Long time ago (01/2014). But I’m not sure both. |
Raik (463) 2061 posts |
I have sort any things on my “reference maschine” (Pandore and MX6) e.g. Systemupdate. Both are working with Prosound. |
Henrik Bjerregaard Pedersen (3011) 58 posts |
Thanks for the feedback – not quite sure why it plays too fast on one machine but not on the other. ProSound just delivered data to the Replay sampledriver whenever it needs it, so the sampledriver must consume the samples too fast. I have no problems on RP2. |
Raik (463) 2061 posts |
I remember there was a comparable Problem on the Pandaboard in the past. I must think about and search… but here 35°C. |
Raik (463) 2061 posts |
Looks like is a ARMX6 problem with the IsocRecorder. |
Colin Ferris (399) 1818 posts |
Seems some 26bit instructions in there. One in Code: 3 in module ‘ProSound’ This should do. |
Henrik Bjerregaard Pedersen (3011) 58 posts |
Colin – I have probably missed some of the finer details of 26 to 32 bit conversion. I only changed the non-aligned LDR to make it ARM7 compatible, but I will go through the module and look for weird stuff that involves PC. Thanks for reporting it. |
Steve Pampling (1551) 8172 posts |
It’s not a jump out at you referenced document but there is a partially complete document on conversion. Armalyser comes in handy for identifying the basic issues. |
Raik (463) 2061 posts |
One of the old links I know is not broken… |
Henrik Bjerregaard Pedersen (3011) 58 posts |
Raik – thanks for the link, I didn’t know the Iconbar kept a copy of my old site. I will take a look. |