[Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers
Date | 2025-03-20 00:49 |
From | Richard Knight |
Subject | [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Hi I have been doing some work with Shoutcast (internet radio) recently and thought it would be fun to make a plugin to stream directly to a server from within Csound. The plugin is in my git repo here: https://git.1bpm.net/csound-shout/about/ I'm running a test at the moment which you can hear here: http://1bpm.net:8000/salad.mp3 Not tested extensively so interested for feedback if anyone has use for it. Internally it uses LAME to stream as MP3 - might be interesting to explore that mechanism between networked Csound instances, as I've had difficulty with socksend/sockrecv for audio - seemingly due to the bandwidth required. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2025-03-20 06:45 |
From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
That's really interesting. Some years ago, I remember Tarmo set up a stream like that where we could go and interact with the server, submitting code to be played. Using it as a means of sending audio to other instances is also an interesting idea. Prof. Victor Lazzarini Maynooth University Ireland > On 20 Mar 2025, at 00:49, Richard Knight |
Date | 2025-03-20 07:31 |
From | Philipp Neumann <0000119f78f3a4f9-dmarc-request@LISTSERV.HEANET.IE> |
Subject | Re: [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Hi Richard! Super interesting work! But i don’t get how and where you run the Csound file for streaming? Greetings, Philipp > Am 20.03.2025 um 01:49 schrieb Richard Knight |
Date | 2025-03-20 08:28 |
From | Tarmo Johannes |
Subject | Re: [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Hi Richard! Brilliant! This is very nice, thank you! I built in and tested on local openSuse Linux machine with icecast server - everything went smoothly and worked as expected. The only thing I noticed is that running this plugin, Csound eats a lot of CPU - that is a bit of a problem. It is so convenient to have such and opcode to stream straight from Csound to the broadcasting server! Before I used to use Csound->Jack->DarkIce for sending up the stream but this is so much more convenient. You mentioned 'might be interesting to explore that mechanism between networked Csound instances' - how can the other side to receive the sound from the broadcasing server? And of course then there is the latency problem, that is at least 5 but probably more seconds. Just to mention - for low-latency audio transfer I find jacktrip a very good tool or Jamulus platform https://jamulus.io/ if you want to play together with several people (or Sonobus, but then the routing from/to Csound can be more difficult to achineve) Thanks! tarmo Kontakt Philipp Neumann (<0000119f78f3a4f9-dmarc-request@listserv.heanet.ie>) kirjutas kuupäeval N, 20. märts 2025 kell 09:32: Hi Richard! |
Date | 2025-03-20 13:38 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Nice! tor. 20. mars 2025 kl. 01:49 skrev Richard Knight <richard@1bpm.net>: Hi |
Date | 2025-03-20 13:52 |
From | Richard Knight |
Subject | Re: [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Hi, the streaming happens within Csound itself. So the connection to the server is setup with the opcodes shoutinit and shoutopen , and then you can pass audio to the shoutsend opcode. There's a simple example in the repository here, which shows establishing the connection, and then sending a sound to the server: https://git.1bpm.net/csound-shout/tree/examples/example.csd On 2025-03-20 07:31, Philipp Neumann wrote: > Hi Richard! > Super interesting work! > > But i don’t get how and where you run the Csound file for streaming? > > Greetings, > Philipp Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2025-03-20 14:01 |
From | Richard Knight |
Subject | Re: [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
Hi, thank you, and really interesting to hear you've done things with Csound and streaming before, and glad it is useful! With the idea between networked Csound instances, I was thinking of a new plugin that would send/receive mp3 encoded streams. And you have a great point I didn't consider before about the latency, so maybe that's not such a great idea. These are reallyy useful suggestions, thank you - I will have a look at jacktrip and jamulus. On 2025-03-20 08:28, Tarmo Johannes wrote:
|
Date | 2025-03-20 14:02 |
From | Richard Knight |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
I did wonder about something interactive like that. That sounds interesting, would be intrigued to hear more about that setup Tarmo! On 2025-03-20 06:45, Victor Lazzarini wrote: > That's really interesting. Some years ago, I remember Tarmo set up a > stream like that where we could go and interact with the server, > submitting code to be played. > > Using it as a means of sending audio to other instances is also an > interesting idea. > > Prof. Victor Lazzarini > Maynooth University > Ireland Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2025-03-20 16:06 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
If On Thu, Mar 20, 2025 at 3:13 PM Richard Knight <richard@1bpm.net> wrote: I did wonder about something interactive like that. That sounds |
Date | 2025-03-20 16:11 |
From | Eduardo Moguillansky |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
If the goal is to broadcast audio over the network I would look into libaao (audio over osc): https://git.iem.at/aoo/aoo, it is the underlying protocol used by sonobus and in my own experience it offers low latency while being cross-platform than other tools like jack trip. On Thu, Mar 20, 2025 at 3:13 PM Richard Knight <richard@1bpm.net> wrote: I did wonder about something interactive like that. That sounds |
Date | 2025-03-20 21:54 |
From | Richard Knight |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] Plugin opcodes for broadcasting via Shoutcast and Icecast streaming servers |
That seems good and not heard of it before, I will have a look, thanks. On 2025-03-20 16:11, Eduardo Moguillansky wrote:
|