Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Sound Programming

Name: Anonymous 2010-01-20 15:31

I want to write a software synthesizer. I understand concepts like samples, the basic math, etc. I just need to learn a sound API now so I can actually hear something.

Which one is the least retarded to work with? Cross-platform would be a plus, but I wouldn't mind using DirectSound if it's easy to work with. SDL is pretty retarded.

Name: Anonymous 2010-01-20 15:38

Scheme

Name: Anonymous 2010-01-20 15:38

>>2

Derp.

Name: Anonymous 2010-01-20 16:55

Use Jack.

Name: Anonymous 2010-01-20 17:10

Use Paul.

Name: Anonymous 2010-01-20 17:28

c-sound perhaps?

Name: Anonymous 2010-01-20 17:32

Write to /dev/audio or /dev/dsp.

Name: Anonymous 2010-01-20 17:36

cat urandom > dsp

Name: Anonymous 2010-01-20 17:37

>>4

Jack looks fairly usable, I'll give it a shot.

>>6

That's a bit much - all I'm looking for here is something that will let me output samples.

Name: Anonymous 2010-01-20 17:44

something that will let me output samples.
>>7

Name: Anonymous 2010-01-20 18:38

GIMP

Name: Anonymous 2010-01-20 23:04

portaudio is fantastically easy and very fast.

(jack is a pain in the ass and I have found it to introduce unacceptable latency)

Name: Anonymous 2010-01-20 23:10

>>12
Yeah, but portaudio will make your software essentially useless, like Audacity. Recording software that can't recieve audio from anything? Brilliant!

Name: Anonymous 2010-01-20 23:29

>>13
What on earth are you talking about? Are you using some obscure or broken sound server?

Name: Anonymous 2010-01-21 22:36

>>12

Maybe I'm just retarded, but I can neither find a binary .dll + headers + libs anywhere on the net nor compile the fucking thing with make under MSYS. I'd love to use it, honest, but the developers of this thing obviously don't give half a shit about Windows developers.

Name: Anonymous 2010-01-21 22:59

>>14
Portaudio.

Name: Anonymous 2010-01-22 0:07

>>16
portaudio isn't a sound server. if you think it is, you have serious problems.

Name: Anonymous 2010-01-22 0:16

>>17
If you think I mean it was, you now have two problems: a comprehension problem and a failure to understand why Portaudio is a poor choice for a synth or recording software.

Name: Anonymous 2010-01-22 0:41

>>18
One of us has already written software of the kind you speak (an FM synth and a sampler/DAW w/ LADSPA/etc plugin support.) Hint: it's the one of us currently advocating portaudio. It works great, and certainly has lower latency than any jack client.

Name: Anonymous 2010-01-22 0:45

>>15
That's... odd. What are you running up against when building it?

Name: Anonymous 2010-01-22 1:03

>>20

I don't remember exactly, as I've since uninstalled MSYS in frustration, but I did ./configure (which seemed to run without problems), then ran make which output a lot of junk to the screen until eventually returning an error of -1 (whatever the fuck that means.) I really don't know, it could be a problem with me, MSYS, make, I have no idea. Why they couldn't just offer a precompiled header/library/dll, I don't know.

If you happen to have the header + library + dll lying around and would be willing to upload them to mediafire or something, I'd be very grateful, and more than willing to give portaudio a shot. I feel dumb for not getting this to work, but (I'll be honest) I don't know jack shit about building other people's programs from source past snippets of C code.

Name: Anonymous 2010-01-22 1:07

>>19
How easy is it to route your software's output into another program, such as an actual DAW?

Name: Anonymous 2010-01-22 18:40

>>21
I only have MSYS around to build ARM binaries at the moment. I might take a look into targeting Windows/x86 later, but it would probably be simpler to help you with your actual problem -- which is probably just a missing dependency, environment variable, or maybe a compiler or libc issue.

>>22
My software is an actual DAW, so I don't really see the point. If it wasn't, I would have made it a plugin.

Name: Anonymous 2010-01-22 19:47

>>23
In other words: not easy at all.

Name: Anonymous 2010-01-22 20:59

>>24
Well in truth it is really easy if you know what you're doing with hardware routing, but assuming you don't: the fact that you have difficulty in doing something completely useless is not a problem at the top of my priority list. I know some projects will cater to that kind of thing (see: PulseAudio) but the only thing it would accomplish is to add jack's latency overhead.

Name: Anonymous 2010-01-22 21:03

>>23

I was browsing 4-ch's /code/ board and found this:

http://4-ch.net/code/kareha.pl/1216806037/10
I like the portaudio API (and the related portmidi), but there's no pulse-support, and the fact that the GCC+MINGW builds are crippled is annoying.

Granted, the post is a little out of date, but perhaps my problem is not an uncommon one? Perhaps the reason that I can't find anything precompiled is because no one can figure out how to do?

Name: Anonymous 2010-01-22 21:31

>>26
That's possible, but IIRC the crippling was just lack of support for something. (It may have been callback support. Some people would consider lacking callback support to be 'crippling'.) I am fairly certain that one of the Buzz clones had used portaudio on Windows at one point without any issues.

It has occurred to me that if you just want to make sound, the fastest solution may be to write it as a plugin and use a host application to deal with the shenanigans. It would also be more useful to others that way, if you care about that.

Name: Anonymous 2010-01-22 21:42

>>27

I guess you're right; the synthesis part is just doing math with integers, so I can use DirectSound or something for output now, and write an equivalent Linux output version if I ever want to port it. Thanks for the help, I wish I knew enough about make to use it.

Name: Anonymous 2011-02-03 5:27

Name: Anonymous 2011-02-04 18:22


Don't change these.
Name: Email:
Entire Thread Thread List