Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Buy Used
FREE Shipping on orders over $25.
Condition: Used: Very Good
Comment: fullfilled by amazon
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Digital Audio with Java Paperback – December 27, 1999

3.8 out of 5 stars 12 customer reviews

See all formats and editions Hide other formats and editions
New from Used from
"Please retry"
$44.60 $7.22

click to open popover

Editorial Reviews

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!


Engineering & Transportation Books
Discover books for all types of engineers, auto enthusiasts, and much more. Learn more

Product Details

  • Paperback: 512 pages
  • Publisher: Prentice Hall PTR (December 27, 1999)
  • Language: English
  • ISBN-10: 0130876763
  • ISBN-13: 978-0130876768
  • Product Dimensions: 9.2 x 7 x 0.8 inches
  • Shipping Weight: 14.4 ounces
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #393,993 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By A Customer on February 19, 2000
Format: Paperback
+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.0ea which the author used in writing his code. Now it has become simply JMF2.0, not compatible in naming conventions with the ea(early edition) and unavailable when the Author did his book. Sun should have paid better attention to compatibility issues on something they want to attract developers with. I'm holding one star off just to warn about this unfortunate+AH4-+AH4- practice. It wouldn't be bad also if the author puts his newly adapted version of the code on the book publisher WEB site+AH4-
Comment 4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
This book's title is a little misleading. The lion's share of this book is actually about writing a Cakewalk-like interface in Java for controlling digital audio production rather than a treatise on digital audio effects themselves. In fact, the first seven chapters of the book is solely about writing code for such controls. Only chapter thirteen talks about specific audio effects such as chorus, flanging, reverb, etc. Even in this chapter I do not believe that there is enough information independent of the author's code to lift filter algorithms from the book and simply port them to your application. Where the book does excel is in the details of what it takes to write a good user interface for a digital audio application. This is an important aspect of audio signal processing and it is ignored in all other books on this subject. The author has updated his code, since the book and CD predate the current release of JMF which is 2.0. Also, the details for the filters can be found in the code itself which is both well organized and well commented. For a book that is much more focused on the algorithms of filters for digital audio processing itself and not on a complete application and its user interface, try "Digital Audio Signal Processing" By Zolzer.
Comment 3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
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. Lindley strikes a balance between the theory of DSP and how to use Java to implement the various audio tools in his book. This is a well-rounded book. I would recommend this book to anyone working with JMF. You will need to get the updated code from the publishers' ftp site. The main reason is that Sun has updated their JMF API. This is a plus. A lot of authors don't even bother updating their code. TWO THUMBS UP!!!!
Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
By A Customer on August 28, 2001
Format: Paperback
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!
Comment One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
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 real life applications. I write in VB so if you have a little knowledge of C then with a bit of work you can quickly translate all the code in the book. It's heavy on the practical side which is good and it leaves out a lot of theory which would only be overkill at this stage.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
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.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

What Other Items Do Customers Buy After Viewing This Item?