Linux Sound Programming


Book Description

Program audio and sound for Linux using this practical, how-to guide. You will learn how to use DSPs, sampled audio, MIDI, karaoke, streaming audio, and more. Linux Sound Programming takes you through the layers of complexity involved in programming the Linux sound system. You’ll see the large variety of tools and approaches that apply to almost every aspect of sound. This ranges from audio codecs, to audio players, to audio support both within and outside of the Linux kernel. What You'll Learn Work with sampled audio Handle Digital Signal Processing (DSP) Gain knowledge of MIDI Build a Karaoke-like application Handle streaming audio Who This Book Is For Experienced Linux users and programmers interested in doing multimedia with Linux.




Programming Linux Games


Book Description

Explains how to build a scrolling game engine, play sound effects, manage compressed audio streams, build multiplayer games, construct installation scripts, and distribute games to the Linux community.




Programming for Musicians and Digital Artists


Book Description

Summary Programming for Musicians and Digital Artists: Creating Music with ChucK offers a complete introduction to programming in the open source music language ChucK. In it, you'll learn the basics of digital sound creation and manipulation while you discover the ChucK language. As you move example-by-example through this easy-to-follow book, you'll create meaningful and rewarding digital compositions and "instruments" that make sound and music in direct response to program logic, scores, gestures, and other systems connected via MIDI or the network. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About this Book A digital musician must manipulate sound precisely. ChucK is an audio-centric programming language that provides precise control over time, audio computation, and user interface elements like track pads and joysticks. Because it uses the vocabulary of sound, ChucK is easy to learn even for artists with little or no exposure to computer programming. Programming for Musicians and Digital Artists offers a complete introduction to music programming. In it, you'll learn the basics of digital sound manipulation while you learn to program using ChucK. Example-by-example, you'll create meaningful digital compositions and "instruments" that respond to program logic, scores, gestures, and other systems connected via MIDI or the network. You'll also experience how ChucK enables the on-the-fly musical improvisation practiced by communities of "live music coders" around the world. Written for readers familiar with the vocabulary of sound and music. No experience with computer programming is required. What's Inside Learn ChucK and digital music creation side-by-side Invent new sounds, instruments, and modes of performance Written by the creators of the ChucK language About the Authors Perry Cook, Ajay Kapur, Spencer Salazar, and Ge Wang are pioneers in the area of teaching and programming digital music. Ge is the creator and chief architect of the ChucK language. Table of Contents Introduction: ChucK programming for artistsPART 1 INTRODUCTION TO PROGRAMMING IN CHUCK Basics: sound, waves, and ChucK programming Libraries: ChucK's built-in tools Arrays: arranging and accessing your compositional data Sound files and sound manipulation Functions: making your own tools PART 2 NOW IT GETS REALLY INTERESTING! Unit generators: ChucK objects for sound synthesis and processing Synthesis ToolKit instruments Multithreading and concurrency: running many programs at once Objects and classes: making your own ChucK power tools Events: signaling between shreds and syncing to the outside world Integrating with other systems via MIDI, OSC, serial, and more




Advanced Linux Programming


Book Description

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version. Advanced Linux Programming is divided into two parts. The first covers generic UNIX system services, but with a particular eye towards Linux specific information. This portion of the book will be of use even to advanced programmers who have worked with other Linux systems since it will cover Linux specific details and differences. For programmers without UNIX experience, it will be even more valuable. The second section covers material that is entirely Linux specific. These are truly advanced topics, and are the techniques that the gurus use to build great applications. While this book will focus mostly on the Application Programming Interface (API) provided by the Linux kernel and the C library, a preliminary introduction to the development tools available will allow all who purchase the book to make immediate use of Linux.




The Audio Programming Book


Book Description

An encyclopedic handbook on audio programming for students and professionals, with many cross-platform open source examples and a DVD covering advanced topics. This comprehensive handbook of mathematical and programming techniques for audio signal processing will be an essential reference for all computer musicians, computer scientists, engineers, and anyone interested in audio. Designed to be used by readers with varying levels of programming expertise, it not only provides the foundations for music and audio development but also tackles issues that sometimes remain mysterious even to experienced software designers. Exercises and copious examples (all cross-platform and based on free or open source software) make the book ideal for classroom use. Fifteen chapters and eight appendixes cover such topics as programming basics for C and C++ (with music-oriented examples), audio programming basics and more advanced topics, spectral audio programming; programming Csound opcodes, and algorithmic synthesis and music programming. Appendixes cover topics in compiling, audio and MIDI, computing, and math. An accompanying DVD provides an additional 40 chapters, covering musical and audio programs with micro-controllers, alternate MIDI controllers, video controllers, developing Apple Audio Unit plug-ins from Csound opcodes, and audio programming for the iPhone. The sections and chapters of the book are arranged progressively and topics can be followed from chapter to chapter and from section to section. At the same time, each section can stand alone as a self-contained unit. Readers will find The Audio Programming Book a trustworthy companion on their journey through making music and programming audio on modern computers.




Linux Programming White Papers


Book Description

Going right to the heart of the technical operation of major Linux subsystems, this title provides a topical organization to the programming portions of the Linux Documentation Project (LDP), which is a series of exiting documents on the Internet that currently has no index, comprehensive table of contents, or pagination.




The Linux Kernel Module Programming Guide


Book Description

Linux Kernel Module Programming Guide is for people who want to write kernel modules. It takes a hands-on approach starting with writing a small "hello, world" program, and quickly moves from there. Far from a boring text on programming, Linux Kernel Module Programming Guide has a lively style that entertains while it educates. An excellent guide for anyone wishing to get started on kernel module programming. *** Money raised from the sale of this book supports the development of free software and documentation.




Mastering Linux


Book Description

Encouraging hands-on practice, Mastering Linux provides a comprehensive, up-to-date guide to Linux concepts, usage, and programming. Through a set of carefully selected topics and practical examples, the book imparts a sound understanding of operating system concepts and shows how to use Linux effectively.Ready-to-Use Examples Offer Immediate Acces




Linux Kernel Programming


Book Description

Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals Key Features Discover how to write kernel code using the Loadable Kernel Module framework Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization Book DescriptionLinux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come. You’ll start the journey by learning how to build the kernel from the source. Next, you’ll write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The following chapters will cover key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. During the course of this book, you’ll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You’ll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques. By the end of this kernel book, you’ll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products.What you will learn Write high-quality modular kernel code (LKM framework) for 5.x kernels Configure and build a kernel from source Explore the Linux kernel architecture Get to grips with key internals regarding memory management within the kernel Understand and work with various dynamic kernel memory alloc/dealloc APIs Discover key internals aspects regarding CPU scheduling within the kernel Gain an understanding of kernel concurrency issues Find out how to work with key kernel synchronization primitives Who this book is for This book is for Linux programmers beginning to find their way with Linux kernel development. If you’re a Linux kernel and driver developer looking to overcome frequent and common kernel development issues, or understand kernel intervals, you’ll find plenty of useful information. You’ll need a solid foundation of Linux CLI and C programming before you can jump in.




Linux Game Programming


Book Description

Overviews the tools and gaming libraries available for programming in Linux and how they all fit together. Written for programmers familiar with C++, the book discusses the commands for creating 2D and 3D graphics, device input through SDL, features of the OpenGL graphics API, and the open audio library (OpenAL) for controlling sound. The CD-ROM contains the Indrema entertainment software development toolkit, OpenAL, and the PrettyPoly editor. Annotation copyrighted by Book News, Inc., Portland, OR.