The bse file format is used by the BSE library and dependent programs to save BSE projects, songs, instruments and sample collections. The BSE scheme shell bsescm(1) is able to play back bse files directly.
BSE files start out with a special magic string "; BseProject and then contain nested expressions in scheme syntax using the ASCII charset. Binary data may be appended to a .bse file if it is seperated from the preceeding ASCII test by one or more literal NUL characters (' '). This mechanism is used to store arbitrary binary data like .WAV or Ogg/Vorbis files in BSE projects, while keeping the actuall content user editable (text editors that preserve binary sections have to be used, such as vi(1) or emacs(1)).
The exact format and sets of objects and properties used in a bse file depend highly on the library version that was used to save the file. Compatibility functions are supplied by the library itself, so old bse files can be converted when the file is loaded. To enable this mechanism, all bse files contain a "bse-version" directive which indicates the bse file format version of the supplied content.