Jump to page: 1 2
Thread overview
D audio playing and analysis library?
Apr 28, 2015
Gan
Apr 28, 2015
Dragos Carp
Apr 28, 2015
Gan
Apr 28, 2015
John Colvin
Apr 28, 2015
Chris
Apr 28, 2015
ponce
Apr 28, 2015
ponce
Apr 28, 2015
Stincky gecko
Apr 28, 2015
ponce
Apr 28, 2015
Stincky gecko
Apr 29, 2015
ponce
Apr 28, 2015
Rikki Cattermole
Apr 28, 2015
Adam D. Ruppe
Apr 29, 2015
Rikki Cattermole
April 28, 2015
I found this: https://github.com/p0nce/dplug

Which seems to be a good analysis library but I haven't found a library to play sounds.
Is there one?
April 28, 2015
On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
> I found this: https://github.com/p0nce/dplug
>
> Which seems to be a good analysis library but I haven't found a library to play sounds.
> Is there one?

https://github.com/D-Programming-Deimos/portaudio
April 28, 2015
On Tuesday, 28 April 2015 at 11:28:42 UTC, Dragos Carp wrote:
> On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
>> I found this: https://github.com/p0nce/dplug
>>
>> Which seems to be a good analysis library but I haven't found a library to play sounds.
>> Is there one?
>
> https://github.com/D-Programming-Deimos/portaudio

Downloaded it, put the D example in a source folder, downloaded the official library, compiled the official library, stuck the libportaudio.la with the example, ran DUB and it can't the port audio library.
Undefined symbols for architecture x86_64:
  "_Pa_CloseStream", referenced from:
      __Dmain in unknown.o

The source is 3 years old, probably why no dub.json file. Know how to fix the library problem?
April 28, 2015
On Tuesday, 28 April 2015 at 13:43:02 UTC, Gan wrote:
> On Tuesday, 28 April 2015 at 11:28:42 UTC, Dragos Carp wrote:
>> On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
>>> I found this: https://github.com/p0nce/dplug
>>>
>>> Which seems to be a good analysis library but I haven't found a library to play sounds.
>>> Is there one?
>>
>> https://github.com/D-Programming-Deimos/portaudio
>
> Downloaded it, put the D example in a source folder, downloaded the official library, compiled the official library, stuck the libportaudio.la with the example, ran DUB and it can't the port audio library.
> Undefined symbols for architecture x86_64:
>   "_Pa_CloseStream", referenced from:
>       __Dmain in unknown.o
>
> The source is 3 years old, probably why no dub.json file. Know how to fix the library problem?

What does dub -v show?
April 28, 2015
On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
> I found this: https://github.com/p0nce/dplug
>
> Which seems to be a good analysis library but I haven't found a library to play sounds.
> Is there one?

SDL2 can through DerelictSDL2 (use the mixer extension for easier playback).
D-SFML can probably too.


Out of Topic: we need what ae.utils.graphics does for images, but for sound! A good abstraction for audio data and processors would be welcome.
Vanilla ranges do not cut it since it would need the additional concept of:

- clearing the state (setting delaylines to 0)
- separate channels that can be stored interleaved or not. Samples would be indexed by time and channel index. I feel like samplerate can be left out of the equation, it will almost always be a runtime value.

April 28, 2015
On Tuesday, 28 April 2015 at 15:00:18 UTC, ponce wrote:
> - clearing the state (setting delaylines to 0)
> - separate channels that can be stored interleaved or not. Samples would be indexed by time and channel index. I feel like samplerate can be left out of the equation, it will almost always be a runtime value.

- and more importantly, batch processing instead of sample per
sample like I do now in dplug
April 28, 2015
On Tuesday, 28 April 2015 at 15:01:23 UTC, ponce wrote:
> On Tuesday, 28 April 2015 at 15:00:18 UTC, ponce wrote:
>> - clearing the state (setting delaylines to 0)
>> - separate channels that can be stored interleaved or not. Samples would be indexed by time and channel index. I feel like samplerate can be left out of the equation, it will almost always be a runtime value.
>
> - and more importantly, batch processing instead of sample per
> sample like I do now in dplug

in d plug sample by sample processing is justified because of the z-transform, while in video games you just basically play some wavetables.

April 28, 2015
On 29/04/2015 3:00 a.m., ponce wrote:
> On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
>> I found this: https://github.com/p0nce/dplug
>>
>> Which seems to be a good analysis library but I haven't found a
>> library to play sounds.
>> Is there one?
>
> SDL2 can through DerelictSDL2 (use the mixer extension for easier
> playback).
> D-SFML can probably too.
>
>
> Out of Topic: we need what ae.utils.graphics does for images, but for
> sound! A good abstraction for audio data and processors would be welcome.
> Vanilla ranges do not cut it since it would need the additional concept of:
>
> - clearing the state (setting delaylines to 0)
> - separate channels that can be stored interleaved or not. Samples would
> be indexed by time and channel index. I feel like samplerate can be left
> out of the equation, it will almost always be a runtime value.

I've seriously considered in the past to implement a library just like Devisualization.Window but for sound. Unfortunately my knowledge of sound/music isn't good enough to do so.

April 28, 2015
idk if it would be useful at all, I'm not even happy with it myself yet, but I am writing a simpleaudio.d https://github.com/adamdruppe/arsd/blob/master/simpleaudio.d

it is meant to do waveform i/o and MIDI, but I'm not happy with my first draft of the api so it is probably going to change.... eventually.

Currently works on Windows (winMM) and Linux (ALSA).
April 28, 2015
On Tuesday, 28 April 2015 at 13:43:02 UTC, Gan wrote:
> On Tuesday, 28 April 2015 at 11:28:42 UTC, Dragos Carp wrote:
>> On Tuesday, 28 April 2015 at 11:18:14 UTC, Gan wrote:
>>> I found this: https://github.com/p0nce/dplug
>>>
>>> Which seems to be a good analysis library but I haven't found a library to play sounds.
>>> Is there one?
>>
>> https://github.com/D-Programming-Deimos/portaudio
>
> Downloaded it, put the D example in a source folder, downloaded the official library, compiled the official library, stuck the libportaudio.la with the example, ran DUB and it can't the port audio library.
> Undefined symbols for architecture x86_64:
>   "_Pa_CloseStream", referenced from:
>       __Dmain in unknown.o
>
> The source is 3 years old, probably why no dub.json file. Know how to fix the library problem?

It should work, I'm using it a lot. I use libportaudio.a, make sure you reference deimos/portaudio.di or have it in your `source` folder. Here's an excerpt from my dub.json (you might have to include other libs too):

"libs": [
        "portaudio",
        "asound",
        "jack",
        "sndfile",
        "FLAC",
        "vorbisenc",
        "vorbis",
        "ogg"
      ],

Also, compile or download the portaudio lib for x86_64, if you're on 64bit. Alternatively, compile your code with -m32.

BTW, did you pass the library to the compiler and linker?
« First   ‹ Prev
1 2