• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Glass_Knife

Sound Programming from Scratch

10 posts in this topic

Not sure if this question is better asked here or in the programming forum.  I've been playing with sound programming, but I find the APIs hide too much stuff.  When I learned 3D graphics, I started by learning from scratch.  I would like to know if anyone has any resources (books or online) that teach audio programming from scratch.  Much like writing a software renderer from scratch to learn about the algorithms.

 

I've googled and amazoned, but I don't really know enough about the subject to make a decision if the books I found are any good.  And man, I though software books were expensive.  Audio books are not cheap.  :)

 

Thanks,

 

1

Share this post


Link to post
Share on other sites

Honestly, I'm not sure which forum this belongs in. My hunch, however, would be the programming forum, as you don't have to be a programmer of code to be able to make music.

 

As for the main topic, I've fluctuated over what I've wanted to do specifically in music, so I sometimes performed a similar search. Sadly, all results I've found so far are either completely irrelevant, or relate only to programming in general.

 

UPDATE: just found this article. Not sure yet if it has everything you're looking for, but it's a start, at least.

 

http://www.metafilter.com/105057/Write-Your-Own-Software-Synth

Edited by Python Blue
1

Share this post


Link to post
Share on other sites

Honestly, I'm not sure which forum this belongs in. My hunch, however, would be the programming forum, as you don't have to be a programmer of code to be able to make music.

 

Thanks what I thought, but I thought i'd ask here first.  I've purchased a book that I thought would help, but it was written for a sound designer.  Whenever a topic would start to get interesting (from my perspective) the author would say "Go ask your programmer." as if we're some commodity sound people keep in the basement until they need us.  Actually, since I'm in my basement right now, that may be true.  smile.png  But either way, where did these programmers learn all about audio programming?

Edited by Glass_Knife
can't type
0

Share this post


Link to post
Share on other sites
This might be totally irrelevant to your interest, but have you considered making your own ensembles in Reaktor 5? I know this isn't quite what you are looking for, but still, it could be helpful to learn about the signal flow in some particular DSPs or synths.

Other than that, there's also Csounds with its multitude of manuals and tutorials. Edited by Kristoff K.
0

Share this post


Link to post
Share on other sites

One of the issues sending a question to the internet, whether it's to Google, a forum, or Wikipedia, is that if you don't know a lot about the subject, it is hard to ask the right questions.

 

I'm not trying to figure out how to use Reaktor 5 or Csounds, I want the knowledge so that I could create those programs from scratch by writing all the code by hand.

 

 

0

Share this post


Link to post
Share on other sites

One of the issues sending a question to the internet, whether it's to Google, a forum, or Wikipedia, is that if you don't know a lot about the subject, it is hard to ask the right questions.

 

I'm not trying to figure out how to use Reaktor 5 or Csounds, I want the knowledge so that I could create those programs from scratch by writing all the code by hand.

 

Ok I'm tired and ready for bed, so apologies in advance as this will be wishy washy and probably contain errors:

 

Firstly this is a programming question. A lot of musicians using such software won't have a clue how it works underneath.

 

Things you want to have a bit of understanding about:

 

1) What is sound. Get a physics book or wiki and make sure you understand what it is. Soundwaves of compression travelling in the air.

 

2) As background it's slightly helpful to know how people perceive sound in the ear through the cochlear etc. And that slightly different versions are received in left and right ears, and the brain is able to interpret these differences to perceive direction, distance etc.

 

3) Understand how computers, and all digital audio devices (cds, dvds etc) output audio. It's done as samples. If you are interested you can read back on the history of this with things like the Fairlight CMI, Synclavier etc.

 

4) If you are doing things yourself (and sounds like that's what you want) you'll be writing raw audio data out for your device (PC, tablet etc) to play. There are various APIs for this. Which you use isn't that important to your understanding of the rest of the system, as they all tend to do the same thing.

 

5) Making a music app is about mixing together a bunch of sound sources (could be samples, software instruments, whatever) with the right timing, then usually rigging it up so you can add audio effects to the mix, like reverb, delays, flangers etc. There are lots of ways of doing this. You might be inspired by another program or come up with your own way of doing it.

 

6) Depending on what your app is to do, you will probably have to spend a lot of time thinking about your GUI, how your sequencer works, tracks patterns. There is no 'rule book', so it's not realistic to expect someone to lay out exactly how you should do this for your program.

 

7) For your sound sources I'd suggest starting with being able to just handle samples for instruments, and varying the pitch. That's pretty easy. I'd also suggest using a plugin system for your instruments, and your effects. You can also have a look at the specs for things like VST plugins if you want ideas, or want to be able to use them in your app (I dunno the practicalities of this).

 

8) If you want to use realtime MIDI input you need to think about this from the outset, because this will have a lot of design implications (low latency etc).

 

Right bedtime *yawn*. :)

0

Share this post


Link to post
Share on other sites

In case anyone else is interested in the responses, Glass_Knife re-asked this question in one of the programming forums and got a number of helpful responses from a programmer's point of view.  You can view the topic HEREsmile.png

1

Share this post


Link to post
Share on other sites

In case anyone else is interested in the responses, Glass_Knife re-asked this question in one of the programming forums and got a number of helpful responses from a programmer's point of view.  You can view the topic HEREsmile.png

Thanks. I should have posted the link to the other one. Many people have responded with online programming resources. Check it out!
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0