<commit_before><!---

To maintain this document use the following markdown:

# First level heading
## Second level heading
### Third level heading

- First level bullet point
  - Second level bullet point
    - Third level bullet point

`inline code`

``` pre-formatted text etc.  ```

[hyperlink](url for the hyperlink)

Any valid HTML can also be used.

 --->

# CSOUND VERSION 6.16 RELEASE NOTES - DRAFT - DRAFT - DRAFT - DRAFT 

This is mainly a bug fixing release but there are new opcodes, including
support for simpler use of MIDI controls and a new opcode to connect
to an Arduino.  Also there is an optional limiter in the sound output chain.

-- The Developers

## USER-LEVEL CHANGES

### New opcodes

- cntDelete deletes a counter object

- lfsr, a linear feedback shift register opcode for psuedo random
  number generation.

- ctrlsave stores the currrent values of MIDI controllers in an array.

- turnoff3 extends tuning off to remove instrument instances that are
  queued via scheduling but not yet active.

- ctrlprint prints the result of a ctrlsave call in a form that can be
  used in an orchestra.

- ctrlprintpresets prints the MIDI controller preset.

- ctrlselect selects a preset for MIDI controller values.

- ctrlpreset defines a preset for MIDI controllers.

- outall writes a signal to all output channels.

- scale2 is similar to scale but has different argument order and has
  an optional port filter.

- aduinoReadF extends the arduino family to transfer floating point
  values.

- triglinseg and trigexpseg are triggered versions of linseg and
  expseg

- vclpf is a 4-pole resonant lowpass linear filter based on a typical
analogue filter configuration.

- spf is a second-order multimode filter based on the Steiner-Parker
configuration with separate lowpass, highpass, and bandpass inputs
and a single output.

- skf is a second-order lowpass or highpass filter based on a
linear model of the Sallen-Key analogue filter.

- svn is a non-linear state variable filter with overdrive control
and optional user-defined non-linear map.

- autocorr computes the autocorrelation of a sequence stored in an array.

- turnoff2_i is init-time version of turnoff2.

- scanu2 is a revision of scanu to make it closer to the original
  concept.  Damping now a positive value and plucking initialisation
  totally rewritten, plus various code improvements.

### Orchestra

- The operations += and -= now work for i and k arrays. 

-  k-rate array operators are now only processed at k-rate.
    <commit_msg>added st ms opcodes to notes<commit_after><!---

To maintain this document use the following markdown:

# First level heading
## Second level heading
### Third level heading

- First level bullet point
  - Second level bullet point
    - Third level bullet point

`inline code`

``` pre-formatted text etc.  ```

[hyperlink](url for the hyperlink)

Any valid HTML can also be used.

 --->

# CSOUND VERSION 6.16 RELEASE NOTES - DRAFT - DRAFT - DRAFT - DRAFT 

This is mainly a bug fixing release but there are new opcodes, including
support for simpler use of MIDI controls and a new opcode to connect
to an Arduino.  Also there is an optional limiter in the sound output chain.

-- The Developers

## USER-LEVEL CHANGES

### New opcodes

- cntDelete deletes a counter object

- lfsr, a linear feedback shift register opcode for psuedo random
  number generation.

- ctrlsave stores the currrent values of MIDI controllers in an array.

- turnoff3 extends tuning off to remove instrument instances that are
  queued via scheduling but not yet active.

- ctrlprint prints the result of a ctrlsave call in a form that can be
  used in an orchestra.

- ctrlprintpresets prints the MIDI controller preset.

- ctrlselect selects a preset for MIDI controller values.

- ctrlpreset defines a preset for MIDI controllers.

- outall writes a signal to all output channels.

- scale2 is similar to scale but has different argument order and has
  an optional port filter.

- aduinoReadF extends the arduino family to transfer floating point
  values.

- triglinseg and trigexpseg are triggered versions of linseg and
  expseg

- vclpf is a 4-pole resonant lowpass linear filter based on a typical
analogue filter configuration.

- spf is a second-order multimode filter based on the Steiner-Parker
configuration with separate lowpass, highpass, and bandpass inputs
and a single output.

- skf is a second-order lowpass or highpass filter based on a
linear model of the Sallen-Key analogue filter.

- svn is a non-linear state variable filter with overdrive control
and optional user-defined non-linear map.

- autocorr computes the autocorrelation of a sequence stored in an array.

- turnoff2_i is init-time version of turnoff2.

- scanu2 is a revision of scanu to make it closer to the original
  concept.  Damping now a positive value and plucking initialisation
  totally rewritten, plus various code improvements.

- st2ms and ms2st are stereo to MS and vice-versa conversion opcodes
with stereo width control.

### Orchestra

- The operations += and -= now work for i and k arrays. 

-  k-rate array operators are now only processed at k-rate.
    
{'fraction_non_alphanumeric': 0.04578825347758887, 'fraction_numerical': 0.0038639876352395673, 'mean_word_length': 3.6140819964349378, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3924287', 'n_tokens_mistral': 1475, 'n_tokens_neox': 1414, 'n_words': 748}