Vous voulez voir cette page en français ? Cliquez ici.

Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Digital Audio with Java [Paperback]

Craig A. Lindley
3.8 out of 5 stars  See all reviews (12 customer reviews)

Available from these sellers.

Book Description

Jan. 7 2000
Programming Languages
Digital Audio with Java TM A Book/CD-ROM Package
Craig Lindley
The ultimate guide to creating digital audio applications and special effects with Java TM!
Perfect for anyone interested in audio applications- musicians, game programmers, audio enthusiasts, and many others!
Includes two complete audio applications- a guitar tuner and phrase sampler.
CD-ROM- Extensive code library, including exclusive JavaBeans user interface controls for software audio devices. This is the first complete, practical programmers guide to developing audio processing devices and applications with Java. Perfect for anyone interested in audio, it provides a cookbook of components and techniques for professional-quality audio applications. Leading audio developer Craig Lindley explains the theory and practice of audio effects as found in programs like Cakewalk and CoolEdit, and shows how a wide variety of audio applications can be built with Java. Lindley covers a wide variety of user interface techniques for audio applications, including simulated equipment front panels, audio controls and indicators, audio potentiometers, LED indicators, meters, display devices, and more. He introduces an extensible architecture for developing audio processing effects; covers digital filters, audio sources and monitors; audio processors, sinks, and more. The book concludes with two detailed applications- a phrase sampler and a guitar/bass tuner. The accompanying CD-ROM includes both applications, as well as an awesome toolset for creating great sounds. You get a complete library of JavaBeans user interface controls for building audio devices; expert audio test tools, and 12 audio processing effects, including phaser, delay, reverb, pitch shifter, flanger, and more.
Craig Lindley has written several books on digital signal processing and audio programming. He has been programming for over 20 years, and was electronic design engineer for Quantum Audio Labs, designing professional-quality audio equipment.

Product Details

Product Description

From the Inside Flap


The purpose of this book is to show how to process sound with the JavaTM programming language using techniques of digital signal processing (DSP). This is not a traditional DSP book (or Java book for that matter), in that only a limited amount of theory is presented. The approach taken here is much more intuitive, describing how algorithms work instead of necessarily why they work mathematically. Here, hearing is truly believing. You don't need an advanced degree in mathematics or digital signal processing to understand what is going on. You should come away with a toolkit of audio processing tools and effects that can be applied anywhere they are needed. To this end, the book includes code for processing digital audio in various ways (reverb, phaser, delay, equalization, flanger, chorus, etc); for analyzing digital audio (an oscilloscope class and a spectrum analyzer class); a large group of User Interface (UI) controls (potentiometers, LED-like indicators, switches, meters, etc) for building audio processing devices in software, complete with realistic front panels and two full applications (phrase sampler and guitar tuner) for showing practical uses of the code provided.

As anyone interested in audio will know, digital processing of audio is all the rage and is one of the reasons for the falling prices of professional audio equipment. The increase in microprocessor performance over time and falling memory prices has benefitted the recording industry as well as the personal computing industry. Previously, digital audio processing algorithms could only be implemented on dedicated DSP chips because of performance requirements. Now, these same algorithms can be implemented on a personal computer using an interpretive language like Sun's Java. With processing performance doubling roughly every six months, even the lowest-end computer will have or currently does have the power required for manipulation of sound in real time.

In short, this book provides a collection of algorithms for audio processing that I have collected over many years. These algorithms are coded in Java so you can see as well as hear the affect of their application. This book contains a lot of code you can use for whatever audio applications you can envision. Audio files are also provided to audibly illustrate the processing algorithms.Who the book is written for

This book is for anyone with a programming background who is interested in the manipulation of sound on a PC and people who are interested in how programs like Cakewalk or Cool Edit process digital audio. This book is also for anyone who would like a platform for prototyping new audio effects to hear what they sound like. This book is even for someone who would like to make their voice sound like Darth Vader or the Chipmunks on their answering machine (using the pitch shifter effect provided).

Besides the intended use in audio applications, the UI controls and indicators provided in this book can be used for process control and other test applications where values must be displayed to a user and the user has a need to interact with simulated controls on simulated equipment front panels—for example, power system monitors, power plant simulators, mass transit status controls, etc.Why Java?

The primary reason for choosing Java is because it is my programming language of choice for application development. Ease of use, object orientation, and portability make it an excellent choice for coding audio algorithms for reuse. Further, since VM (virtual machine) performance is increasing rapidly, Java's performance is approaching that of C++. So by using Java we get portability, the performance we need, and the richness of the Java APIs without the complexity of C++. That's a winning combination as far as I am concerned. I never want to code in C++ again if I can help it.

Almost all of the code in this book is written in Java. I say almost because there is a small amount of code for interfacing to the Windows audio hardware. This was necessary since the initial version of JMF (Java Media Framework) did not provide audio (or video) acquisition when the code for this book was first written. So, I provide a couple of Windows DLLs written in C using JNI (Java native interface) to couple the Windows sound hardware to the Java framework presented in this book. By the time you read this, the need for this system-dependent code will probably have vanished as the next release of JMF/JavaSound promises to provide audio acquisition. See Appendix B for details.

While almost all of the code in this book is written in Java, this book does not pretend or intend to teach Java programming. There are many, many books on the market for that. No one with experience with any high level procedural language should have trouble reading the code provided as it is well-commented and most of the code has javadoc API documentation as well. All of the code is written in a very straightforward manner with no intentional tricks or obfuscations. I want people to understand what I have provided and use it fully.

One final note is that all programs in this book are written as Java applications. There are no applets provided. Using the framework I provide, it should be an easy task to come up with a Java applet for processing sound but I'll leave it to you to do so. Any Java programming book can be used as a guide for applet development.What you need to use the software in this book

You'll need the software provided on the included CDROM, a Java development environment of your choice (the code is Java 1.1 compliant), a make utility of some kind, and a PC with enough horsepower to process audio. Minimum requirements for the PC are a Pentium-class machine with a minimum of 20 megabytes of RAM running at 150MHz or faster. Of course the faster the PC, the higher the sampling rate audio that can be accommodated. Actually, even a slower machine will do, but you'll have to limit your real-time processing to lower sampling rates. My main development machine was a 75MHz Pentium laptop that worked fine except when high sampling rate audio (44100 samples/second) was processed. Also, it will be helpful to have a sound card on your PC that is full duplex. That is, one that can record and play back at the same time. Otherwise, you will not be able to digitize audio and play back audio simultaneously. Fortunately, most modern sound cards support full duplex operation if the required driver is available, so this should not be an issue for most people.

A final note about the software build environment and testing: This code was built and tested on machines running Windows. Ports of the provided code to other platforms will require some work on the user's part that is not within the scope of this book. Make files will probably need to be changed when using different make programs and even some of the Java code may need to be tweaked depending on the Java development environment and version of Java you use. Please be prepared to face these and similar situations as you attempt to use the code provided.Who the author is

I have been writing software for a very long time. Recently, I was a founding partner in a startup company that writes multimedia software. I've always been interested in sound and imaging. Actually, the last three books I have written deal with imaging topics.

Before starting my software career, I was involved in the design, production, and deployment of professional recording equipment as a hardware circuit designer. I have now come full circle with this book. It is rather amazing to me to think that what I designed years ago with analog circuitry can now be done totally in the digital domain with software. When I think of all the circuit boards I designed that are now unnecessary, I have to chuckle.

I hope you enjoy reading this book as much as I have enjoyed writing it. There is something very pleasing about having knobs to tweak (even though they are simulated knobs on simulated front panels) and hearing the results of the changes in real time.

If you would like to contact me, e-mail is your best bet. The following e-mail address can be used:craigl@worldnet.att

So long and have fun processing audio. Maybe the next break through audio special effect will be yours.Craig A. Lindley
Manitou Springs, CO

From the Back Cover

The ultimate guide to creating digital audio software and special effects with Java!

Digital Audio with Java is your complete, hands-on guide to developing audio applications and devices with Java. Perfect for any developer interested in audio, it delivers an amazing cookbook of components and techniques for professional-quality audio-plus the skills you need to make the most of them! Leading audio developer Craig Lindley explains the theory and practice of Cakewalk/CoolEdit-style audio effects, and demonstrates how to build virtually any audio applications with Java. Discover how to:

  • Create spectacular user interfaces: simulated front panels, audio controls, indicators, potentiometers, LEDs, meters, and more for audio and/or process control applications
  • Design audio applications for maximum power and extensibility
  • Master every key aspect of sound processing and filtering
  • Control audio sources; create monitors, audio sinks, and more
  • Build two complete applications, start to finish: a phrase sampler and a guitar/bass tuner
  • Interface the audio architecture with Java Media Framework (JMF).

Whether you're a musician, game developer, audio enthusiast, or MP3 power user, if you can make your way around Java, you can build spectacular Java audio applications. All you need is the right tools and the right book. Digital Audio with Java gives you both!


The accompanying CD-ROM includes two complete audio applications, as well as an awesome toolset for creating great applications and sounds. You get a complete library of JavaBeans user interface controls, expert audio test tools, plus 12 audio processing effects-phaser, delay, reverb, pitch shifter, flanger, and many more!

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

Most helpful customer reviews
5.0 out of 5 stars Traditional, but great clues are in here. April 3 2002
I have huge experiences treating many digital sound software, I think this book could be helpful to whom want to
try to develop digital music software.
Good book.
Was this review helpful to you?
5.0 out of 5 stars Excellent Jan. 28 2002
This is a very good book for java programmers who want to try digital audio processing. The book presents the ideas very precisely and all of the source code for the programs are on the accompanying CD.
Was this review helpful to you?
1.0 out of 5 stars Bad choice Dec 6 2001
By A Customer
Primitive and, as far as Java goes, really outdated.
Was this review helpful to you?
4.0 out of 5 stars Excellent Intro to DSP in Java Aug. 28 2001
While some the the awt gui stuff in the first part of the book may or may not apply to your needs (but it's easily adapted to swing if needed), Part II of the book provides excellent examples of digital signal processing in Java. The book also explains a flexible software architecture for plugging in effects at runtime. Code examples are nicely modular and can be easily adapted to more specific tasks. JMF examples are still very useful even after a number of updates to the Java Media Framework from Sun. Writing style is very straight forward and enjoyable. All around, a good read!
Was this review helpful to you?
5.0 out of 5 stars The 'guide' to DSP Aug. 16 2001
This is a very good book about Digital Audio on Java. It have a lot of examples that works very fine. CD have a powerful framework to plug & play. If you don't need the frameworks, don't worry cut & past code and run it your appp. This book save my life. I had the opportunities of email to the author (not to abuse) and he response me of inmediate and plus, fix my problem. It's an excellent engineer. Ten stars to Digital audio with Java...
Was this review helpful to you?
1.0 out of 5 stars Really poorly written, examples are really bad May 13 2001
By A Customer
Well, this is one of most useless book i ever bought. Author spent too much time describing a GUI related stuff. This book was a big disappointment. Author didnt seem to have any patience to writing this book. I didnt find anything useful in this book. After reading 40 pages, i threw it on my "useless books" shelf. People who are looking to do good sound effects for games, applications, applets and such, please avoid this book. Purpose of this book was clearly different.
Was this review helpful to you?
Want to see more reviews on this item?
Most recent customer reviews
5.0 out of 5 stars Great DSP primer with real life applications.
This is a great book for anyone just getting into DSP. You'll learn how to manipulate audio samples to create some common sound effects, reverb, delay, equalization etc by using... Read more
Published on May 9 2001 by Sean Ahearne
5.0 out of 5 stars If you don't get it, you'll regret it!!!!
This book has saved my soul. I was looking to build some audio tools using JMF and there was just about nothing out there to help me. Mr. Read more
Published on Nov. 17 2000 by Thi Pham
5.0 out of 5 stars It's GOOD and it's the only thing you'll find on this topic!
This book has saved my soul. I was looking to build some audio tools using JMF and there was just about nothing out there to help me. Mr. Read more
Published on Nov. 17 2000 by Thi Pham
4.0 out of 5 stars Not bad intro
You can get an update to the code at the publishers website, which is in the book.
Once I did that I was able to compile the software in the book. Read more
Published on June 18 2000 by sean kroah
4.0 out of 5 stars Backing off ...
+AH4-It's fair to say, code blame is not to be attributed to the author. The code is OK, the tools are not. You can't find anymore JMF2. Read more
Published on Feb. 19 2000
2.0 out of 5 stars A disappointment for me
I bought this book to learn JAVA audio by doing. The javax.media dependent code however isn't compiling under any of the SUN provided JAVA environments for PC. Read more
Published on Feb. 15 2000 by vladob@aol.com
Search Customer Reviews
Only search this product's reviews

Look for similar items by category