<commit_before>## Synopsis

Ospac will take a multi-channel recording of an audio podcast conversation 
and master this to  a high-quality mix-down with support for intro and outro. 

## Features

Beside other features, ospac includes a robust leveler, two solutions to
avoid crosstalk and soft silence skipping.

### Leveler

Ospac provides an energy based leveler. The following plot shows the
original on top and the levelled outcome on the bottom:

![Example for the leveling algorithm: Original top, leveling bottom](https://github.com/sritterbusch/ospac/raw/master/images/leveler-result.png)

### Crosstalk Filter

This waveform shows a crosstalk from the first channel in to the second
channel, and some original content in the second half of the second channel:

![Example for crosstalk](https://github.com/sritterbusch/ospac/raw/master/images/crosstalk-example.png)

The included crosstalk gate is a very robust algorithm that results in the
following:

![Result of crosstalk gate](https://github.com/sritterbusch/ospac/raw/master/images/xgate-result.png)

A new experimental crosstalk filter tries to improve the result:

![Result of crosstalk filter](https://github.com/sritterbusch/ospac/raw/master/images/xfilter-result.png)

### Soft silence skipping

When enabled, ospac may reduce silence above 0.5s to shorter pauses:

![Result of soft silence skipping](https://github.com/sritterbusch/ospac/raw/master/images/skip-result.png)

## Examples

Mix 2 mono voice recordings with crosstalk filter, leveling and normalization:

	ospac person1.wav person2.wav --output target.wav

Mix a podcast with stereo intro and outro:

 	ospac --mix in.wav --overlap 4 \
		--voice person1.wav person2.wav --overlap 4 \
		--mix out.wav --output target.wav

## Motivation

Ospac was developed due to the need of a batch solution for audio podcast 
creation. It is a rewrite and compilation of the scripts and methods used 
for the Modellansatz podcast, http://modellansatz.de/ .

## Installation

Check that you have libsndfile and a c++-compiler on your system. Then, you
may build and install ospac in this way:

	$ make ospac && sudo make install


## API Reference

See the doxygen docs <commit_msg>Installation of libsndfile using homebrew on MacOS.<commit_after>## Synopsis

Ospac will take a multi-channel recording of an audio podcast conversation 
and master this to  a high-quality mix-down with support for intro and outro. 

## Features

Beside other features, ospac includes a robust leveler, two solutions to
avoid crosstalk and soft silence skipping.

### Leveler

Ospac provides an energy based leveler. The following plot shows the
original on top and the levelled outcome on the bottom:

![Example for the leveling algorithm: Original top, leveling bottom](https://github.com/sritterbusch/ospac/raw/master/images/leveler-result.png)

### Crosstalk Filter

This waveform shows a crosstalk from the first channel in to the second
channel, and some original content in the second half of the second channel:

![Example for crosstalk](https://github.com/sritterbusch/ospac/raw/master/images/crosstalk-example.png)

The included crosstalk gate is a very robust algorithm that results in the
following:

![Result of crosstalk gate](https://github.com/sritterbusch/ospac/raw/master/images/xgate-result.png)

A new experimental crosstalk filter tries to improve the result:

![Result of crosstalk filter](https://github.com/sritterbusch/ospac/raw/master/images/xfilter-result.png)

### Soft silence skipping

When enabled, ospac may reduce silence above 0.5s to shorter pauses:

![Result of soft silence skipping](https://github.com/sritterbusch/ospac/raw/master/images/skip-result.png)

## Examples

Mix 2 mono voice recordings with crosstalk filter, leveling and normalization:

	ospac person1.wav person2.wav --output target.wav

Mix a podcast with stereo intro and outro:

 	ospac --mix in.wav --overlap 4 \
		--voice person1.wav person2.wav --overlap 4 \
		--mix out.wav --output target.wav

## Motivation

Ospac was developed due to the need of a batch solution for audio podcast 
creation. It is a rewrite and compilation of the scripts and methods used 
for the Modellansatz podcast, http://modellansatz.de/ .

## Installation

Check that you have libsndfile and a c++-compiler on your system. 
Then, you may build and install ospac in this way:

	$ make ospac && sudo make install

On MacOS you can install libsndfile using homebrew simply by:

	$ brew install libsndfile

## API Reference

See the doxygen docs 
{'fraction_non_alphanumeric': 0.07620941020543406, 'fraction_numerical': 0.003976143141153081, 'mean_word_length': 4.345926800472255, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3883077', 'n_tokens_mistral': 1391, 'n_tokens_neox': 1298, 'n_words': 543}