Posts

Showing posts with the label Linux Audio

One way to record a program's Audio output

Image
One way to record a program's Audio output Table of Contents 1 PulseAudio Audio Server Introduction 2 Record a program's Audio output. 1 PulseAudio Audio Server Introduction Linux Audio System can be divided into 3 layers. Alsa/Oss package provide a bottom layer to driver sound card. PulseAudio/Jack/ESD package provide middle ware layer named Audio Server. Multimedia applications written by the API provided by Audio Server. PulseAudio is focused on desktop and mobile audio needs. It doesn't try to address low latency, but does provide seamless device switching, network routing, global per-application volume control and lots great stuff. 2 Record a program's Audio output. Following is the step by step tutorial to record an Audio output. Load a null-sink pactl load-module module-null-sink sink_name =steam Load combine-sink module-combine-sink is used to combine slaves sinks to build virtual sinks. # First use "pactl list ...

Alsa lisp in alsa-lib

Image
Alsa lisp in Alsa-lib Table of Contents 1 What is Alsa lisp? 2 Difference between lisp and alsa lisp. 3 Sample code 4 Why not make a alisp-mode for emacs? 1 What is Alsa lisp? Alsa lisp is a lisp interpreter provided by alsa-lib package, it can be used as a script language to configure alsa. Alsalisp is not installed default by alsa-lib, so you need to compile alsalisp from source code. It provide a simple example to make a tiny lisp interpreter from scratch. Of course we can make our own script language by wrapper alsa-lib functions with some script language like Gnu's guile. 2 Difference between lisp and alsa lisp. Alsa lisp just implemented basic syntax of lisp with some simple intrinsic function. But it does not support macro syntax, that's too complicated. Beside the simple syntax, alsa lisp implemented its own special intrinsic function to invoke alsa-lib native functions. Those alsa related intrinsic function include: static const...