Hi,
I've been working on an Ethernet transport layer for the Audio library which is now ready for beta testing.
https://github.com/palmerr23/EtherAudio - this repo only contains the added/changed files, not a full library. I'll create a pull request for Paul when the additions are fully tested.
It comprises a Control object which uses Paul's Ethernet library (v2) to control WizNet adapters (5500s preferred); an Input and Output object with a stereo channel each. More than one can be used for extra channels.
As well, it has a facility to send messages between hosts - the SendControl and RecvControl examples illustrate how this works.
Two other examples are included
SendSimple/RecvSimple - which just sends a pair of sine waves from one host to another
Send/Recv2way - bi-directional send and receive to/from both hosts.
I've done some initial testing on T3.2, T3.5 and T4.0 with two different varieties of Wiz5500 module. The only known issue is block loss due to different audio clock rates of T3.x and T4.0 (about 0.05% different).
There is some design and use information in the DOCX file in the root of the repo.
I'm open to code improvements - e.g. at the moment I'm transmitting audio buffers of zeros on no input, maybe I can simply not transmit for that cycle as I believe Paul has mentioned in other posts that "all objects (should) handle no data available on update() as silence"?
Have fun!
I've been working on an Ethernet transport layer for the Audio library which is now ready for beta testing.
https://github.com/palmerr23/EtherAudio - this repo only contains the added/changed files, not a full library. I'll create a pull request for Paul when the additions are fully tested.
It comprises a Control object which uses Paul's Ethernet library (v2) to control WizNet adapters (5500s preferred); an Input and Output object with a stereo channel each. More than one can be used for extra channels.
As well, it has a facility to send messages between hosts - the SendControl and RecvControl examples illustrate how this works.
Two other examples are included
SendSimple/RecvSimple - which just sends a pair of sine waves from one host to another
Send/Recv2way - bi-directional send and receive to/from both hosts.
I've done some initial testing on T3.2, T3.5 and T4.0 with two different varieties of Wiz5500 module. The only known issue is block loss due to different audio clock rates of T3.x and T4.0 (about 0.05% different).
There is some design and use information in the DOCX file in the root of the repo.
I'm open to code improvements - e.g. at the moment I'm transmitting audio buffers of zeros on no input, maybe I can simply not transmit for that cycle as I believe Paul has mentioned in other posts that "all objects (should) handle no data available on update() as silence"?
Have fun!