Archived messages from: gitter.im/red/audio from year: 2021

Oldes
14:48Should I report bugs for the new audio port?
greggirwin
18:20Can't hurt IMO.
Oldes
19:01Ok... this one is really basic:
x: load %/C/Windows/Media/chimes.wav
port: open audio://
write port x ;<--- CRASH
19:20Also I cannot find, how to play more sounds together without mixing data manually.
>> p1: open audio:// p2: open audio://
*** Access Error: cannot open: "Port is already opened"

qtxie
04:19The current audio port is a prototype. I don't have any experience on audio programming. I use the Rebol docs as a reference. We need to write the spec of the port first.
rebolek
05:36I try to find the specs I wrote for R3 audio port.
greggirwin
05:36@Oldes, you, @rebolek, @hiiamboris, and @BeardPower are the prime candidates to test and provide design input and assistance with audio.
05:37You have some of the deepest real-world experience in this area.
05:40We have a [wiki page](https://github.com/red/red/wiki/%5BDOC%5D-Audio-R&D) where we can make notes as well.
Oldes
09:36@qtxie current implementation (at least on Windows where I play with it) does not support 24bit audio data.
qtxie
10:10Yes, 16bit integer, 32bit integer and 32bit float only. We should support all the other formats later.

ldci
15:44While waiting for sound support, have a look here: http://sox.sourceforge.net
17:03For fun: Hello world in morse code with light and sound.
17:03[![image.png](https://files.gitter.im/5ab1b630d73408ce4f925702/PGcP/thumb/image.png)](https://files.gitter.im/5ab1b630d73408ce4f925702/PGcP/image.png)
17:04[![image.png](https://files.gitter.im/5ab1b630d73408ce4f925702/ZQvB/thumb/image.png)](https://files.gitter.im/5ab1b630d73408ce4f925702/ZQvB/image.png)
greggirwin
19:45Nice! Wrapping CLIs in GUIs is a great use case for Red. @qtxie is working on audio, but we won't have the breadth of support that libs like sox and ogg do, so giving people examples of how to integrate them is great.

ldci
10:12@greggirwin . Call is really useful. In this sample I use 2 simple functions which are conjointly activated:
light: func [
	b	[float!]
][
	plot/2: yellow
	canvas/draw: reduce [plot]
	wait b
	plot/2: black
	canvas/draw: reduce[plot]
]

beep: func [
	b	[float!]
][
	prog: rejoin ["play -n synth " form b " sine 700"]
	call/wait prog
]

11:23@greggirwin A better solution
plot: compose [pen green fill-pen black circle 150x150 100]

light: func [
	b	[float!]
][
	plot/4: yellow wait b plot/4: black
]
beep: func [
	b	[float!]
][
	call/wait rejoin ["play -n synth " form b " sine 700"]
]

greggirwin
19:52:+1: