log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- Code GCC produces that makes you cry #12684 (Prog:39)
- Rougol November 2024 meeting on monday (News:)
- Announcing the TIB 2024 Advent Calendar (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
- RISC OS London Show Report 2024 (News:1)
- RISC OS London Show 2024 - pictures (News:2)
Related articles
- Latest hardware upgrade from RISCOSbits
- WROCC Newsletter Volume 42:1 reviewed
- How fast is Fast?
- WROCC Newsletter Volume 41:12 reviewed
- CloudFS re-evaluated with new 0.35 release
- PinBoard 2.05 released
- Drag'n'Drop 13i3 edition reviewed
- WROCC Newsletter Volume 41:11 reviewed
- Drag'n'Drop 13i2 edition reviewed
- Timerun from Amcog games released
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: News and features: Jason Tribbeck talks sound to ROUGOL
 

Jason Tribbeck talks sound to ROUGOL

Posted by Mark Stephens on 20:30, 19/10/2020 |
 
One of the great successes of the summer has been the ROUGOL online meetings on Zoom. Being online instead of in London has allowed a much wider range of speakers and attendees. The talks start at 7:45pm on Zoom, and there is usually chat before and after the meetings. There are usually 30-40 people attending.
 
Tonight (Monday 19th October) it was the turn of Jason Tribbeck to talk about sound. His day job is at a defence company designing simulators.
 
Jason's talk was all about sound and a new sound API for RISC OS. He started with his brief history, starting on the BBC Micro and including software/hardware for sound capture and playback for Archimedes.He developed the VTX2000 sound synthesiser and wrote audio playback for several games. He also composed music.
 
Stefan Fröhling from Cloverleaf started a conversation which resulted in the idea for a new sound API.
 
Jason gave us a quick overview of how Computer audio works, sampling and audio buffers to reduce CPU load. Historically RISC OS had audio input devices or audio input/output. Cards only tended to work with vendors cards. Acorn did have some ideas for an API but it never happened.
 
Modern computers have built-in audio input and output. Sound is also available on HDMI, USB and Bluetooth. I2S provides a flexible hardware standard.
 
API needs to be:-
1. Easy to implement.
2. Easy to use.
3. Allow backward compatibility.
4. Be hardware agnostic
5. Be extensible for future needs.
 
I2S is an obvious choice as supported by hardware such as Raspberry Pi. It is also easiest to implement.
 
RISC OS SOUND has gone through a number of transitions. Started on 8bit until 16-bit stereo in RISC PC.
 
This new API will be next stage with multiple audio input and output streams, 32-bit channel streams, shared and non-shared audio applications and compressed audio formats.
 
There will be a shared and deviated mode. Applications will need to use new API, but emulation for older sound systems.
 
API has 4 areas of interest:-
1. Applications that need to use sound.
2. Hardware that provides interface.
3. A new interface to convert between formats.
4. Discovery of hardware.
 
Jason started the development with documentation, with the layout modelled on the PRM.
 
The module will be called SoundSystem and source code is in Subversion. He is testing on RaspberryPI.
 
Code is written in pure ARM on GCCSDK via Jenkins.
 
There are 3 modules:-
1. Main API module
2. RaspberryPi I2s reference interface.
3. Dummy reference interface.
 
Jason is a strong believer in source repository and Unit testing, with continuous testing on each change.
 
Code testing is actually using an ARM emulator called Amethyst. Testing is done on X-ARM, written by Jason in 1993 as an ARM assembler. And ROUTE - RISC OS Unit Test Engine which allows XML descriptions of tests.
 
Development steps are:-
1. Removal of all existing APIs.
2. Development of SoundDMA/SoundChannel shims to provide emulation.
3. Development of new API features.
 
Future ideas include integration of RDSP from Amcog and a data manager.
 
After Jason finished his formal presentation, there were lots of questions.
 
The talk was recorded so should appear shortly if you missed the live talk.
 
Rougol meetings
 
  Jason Tribbeck talks sound to ROUGOL
  helpful (09:21 23/11/2020)
  nytrex (10:11 24/11/2020)
    arawnsley (22:41 26/11/2020)
      nytrex (11:41 27/11/2020)
 
Bryan Hogan Message #125003, posted by helpful at 09:21, 23/11/2020
Member
Posts: 254
Video here - https://youtu.be/F-PhWFiKitk
  ^[ Log in to reply ]
 
Alan Robertson Message #125004, posted by nytrex at 10:11, 24/11/2020, in reply to message #125003
Member
Posts: 117
Thank you so much for organizing and publishing this RISC OS meeting. Brilliant as always.

I noticed that Jason seems to be writing the new SoundSystem module using 32-bit ARM code, which as we now know, is only 12 months away from being deprecated on all new ARM Cortex-A cores.

I was surprised Jason decided to use ARM assembly when the ARM compilers we now have on RISC OS are now very good (GCC 10.x & DDE).

I don't want to come across as negative sour puss - just raising my initial thoughts.
  ^[ Log in to reply ]
 
Andrew Rawnsley Message #125008, posted by arawnsley at 22:41, 26/11/2020, in reply to message #125004
R-Comp chap
Posts: 600
After a bit of post-talk discussion, I think only speed-critical code will be written in assembler. I certainly expressed the general desire amongst ROOL and ROD for C where possible.
  ^[ Log in to reply ]
 
Alan Robertson Message #125011, posted by nytrex at 11:41, 27/11/2020, in reply to message #125008
Member
Posts: 117
Thank you for the reply. It would be a shame if new code introduced to the OS was more 32-bit ARM assembly code, just as ARM the owners deprecated 32-bit from all their larger more powerful ARM cores.

With the speed of processors now, I thought C would have been fast enough to ensure low latency and high throughput.
  ^[ Log in to reply ]
 

The Icon Bar: News and features: Jason Tribbeck talks sound to ROUGOL