Miscellaneous functions

pitchmeld.lin2db(value: float) float

Convert a linear amplitude value to a decibel value.

Parameters:

value – on a linear scale.

Returns:

  • float - The value on a decibel scale.

pitchmeld.db2lin(value: float) float

Convert a decibel value to a linear amplitude value.

Parameters:

value – on a decibel scale.

Returns:

  • float - The value on a linear scale.

Multiprocessing

When using multiprocessing, you need to use the ‘spawn’ start method instead of the ‘fork’ start method.

import multiprocessing
multiprocessing.set_start_method('spawn', force=True)

Slow connection

In case you are on a slow connection, you can increase the timeout for the connection to the server.

export PITCHMELD_TIMEOUT=20
python -c "import pitchmeld; print(pitchmeld.__version__)"

Exit On Interrupt (EOI)

Many C/C++ written python modules won’t react to a ctrl-c interruption (or equivalent). The C/C++ part will first finish its execution and the python part will then handle any ctrl-c.

Calling pitchmeld.eoi() after loading the module

import pitchmeld
pitchmeld.eoi()

allows any ctrl-c to kill the C/C++ part immediately.

You can deactivate eoi() with pitchmeld.uneoi()

By default, this uncommon behavior is disabled.