---
name: "bsesh"
section: "1"
platform: "linux"
package: "beast"
version: "0.6.6-9"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/bsesh"
---

# bsesh(1)

A Guile based scheme shell for BEAST and BSE.

## NAME

bsesh - A Guile based scheme shell for *BEAST* and *BSE*.

## SYNOPSIS

**bsesh** \[*OPTIONS*\] \[**--**\] ...

## DESCRIPTION

**bsesh** is a [guile(1)](/guile/1.md) based scheme shell for *BSE*, the Bedevilled Sound Engine.

**bsesh** provides a shell interface to all procedures exported by the *BSE* library, so scripts are able to access the full range of functionality provided by it, from simple playback of a `.bse` file to full fledged automated creation or editing of synthesis networks.

Alternatively to the linked in *BSE* library, the **bsesh** language interface can also talk to a remotely running *BSE* library host, for instance [beast(1)](/beast/1.md). By operating on a remotely running *BSE* core, **bsesh** can be used to script arbitrary *BSE* programs. The shell is also used directly by the *BSE* library to execute procedures on its behalf, this allows *BSE* procedures to be written in scheme.

When started, **bsesh** tests whether the first non-option argument is a `.bse` file and if the test succeeds, attempts to play the command line arguments as `.bse` files.

## OPTIONS

**bsesh** follows the usual GNU command line syntax, with long options starting with two dashes (\`-').

- **--bse-pipe** *INFD OUTFD*

  *Provide the input and output communication filedescriptors for remote operation.*

- **--bse-eval** *STRING*

  *Execute (eval-string STRING) instead of going into interactive mode.*

- **--bse-enable-register**

  *Allowes registration of procedures with the BSE core.*

- **--bse-no-load**

  *Prevent automated loading of plugins and scripts at startup time in interactive mode.*

- **--bse-no-play**

  *Prevent automated detection and playback of* `.bse` file command line arguments.

- **--g-fatal-warnings**

  Make runtime warnings fatal (abort).

- **-h, --help**

  Describe command line options and exit.

- **-v, --version**

  Display version and exit.

- **-n=***NICELEVEL*

  *Execute with priority NICELEVEL, this option only takes effect for the root suid wrapper "beast".*

- **-N**

  *Disables renicing to execute with existing priority.*

- **--bse-latency=***USECONDS*

  *Set the allowed synthesis latency for BSE in milliseconds.*

- **--bse-mixing-freq=***FREQUENCY*

  *Set the desired synthesis mixing frequency in Hz.*

- **--bse-control-freq=***FREQUENCY*

  *Set the desired control frequency in Hz, this should be much smaller than the synthesis mixing frequency to reduce CPU load. The default value of approximately 1000 Hz is usually a good choice.*

- **--bse-pcm-driver** *DRIVER-CONF*

  - **-p** *DRIVER-CONF*

  *This options results in an attempt to open the PCM driver DRIVER-CONF when playback is started. Multiple options may be supplied to try a variety of drivers and unless DRIVER-CONF is specified as \`auto', only the drivers listed by options are used. Each DRIVER-CONF consists of a driver name and an optional comma seperated list of arguments attached to the driver withan equal sign, e.g.:* **-p oss=/dev/dsp2,rw -p auto**

- **--bse-midi-driver** *DRIVER-CONF*

  - **-m** *DRIVER-CONF*

  *This option is similar to the* **--bse-pcm-driver** *option, but applies to MIDI drivers and devices. It also may be specified multiple times and features an \`auto' driver.*

- **--bse-driver-list**

  *Produce a list of all available PCM and MIDI drivers and available devices.*

*Guile Options:*

- **-l** *FILE*

  *Load scheme source code from file.*

- **-e** *FUNCTION*

  *After reading script, apply FUNCTION to command-line arguments.*

- **-ds**

  *Do -s SCRIPT at this point (note that this argument must be used in conjuction with -s).*

- **--debug**

  *Start with debugging evaluator and backtraces enabled (useful for debugging scripts).*

- **--emacs**

  *Enable emacs protocol for use from within emacs (experimental).*

*The remaining Guile options stop argument processing, and pass all remaining arguments as the value of (command-line):*

- **--**

  *Stop argument processing, start in interactive mode.*

- **-c** *EXPR*

  *Stop argument processing, evaluate EXPR as a scheme expression.*

- **-s** *SCRIPT*

  *Load Scheme source from SCRIPT and execute as a script.*

## SEE ALSO

*[guile(1)](/guile/1.md), [beast(1)](/beast/1.md), [sfidl(1)](/sfidl/1.md)*

*Document Revised: Wed May 25 23:38:26 2005*\
