File: Version_6.15.md

package info (click to toggle)
csound 1%3A6.18.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 62,416 kB
  • sloc: ansic: 192,636; cpp: 14,151; javascript: 9,654; objc: 9,181; java: 3,337; python: 3,333; sh: 1,783; yacc: 1,255; xml: 985; perl: 635; lisp: 411; tcl: 341; lex: 217; makefile: 126
file content (243 lines) | stat: -rw-r--r-- 6,808 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<!---

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.15 RELEASE NOTES

Quite a few new opcodes are in this release as well as extensions of
existing opcodes.  In particular there is the introduction of streamed
LPC which has long been requested.

Another feature in this release is a large number of internal fixes to
incorrect data access, as well as the usual tweaks and changes.

Starting from this release, no third-party graphic frontends are shipped
with the installation packages on MacOs and Windows. Users should
install their choice of frontend separately.

-- The Developers

## USER-LEVEL CHANGES

### New opcodes

- ftset sets multiple elements of a table to a given value.

- lufs opcode calculates a momentary, integrated and short-term loudness meter.

- bob filter is a numerical simulation of the Moog analog resonant filter.

- sterrain is an enhanced version of wterrain with more possible orbits.

- wterrain2 is a alternative enhancement of wterrain with less variation that sterrain.

- count, count_i, cntCreate, cntRead, cntReset, cntCycles and cntState together implement a new counter object that cycles through a constant range, similar to in PD.

- new alias for sc_ opcodes: sc_lag -> lag, sc_lagud -> lagud, sc_trig -> trigholf, sc_phasor -> phasortrigo.

- println is similar to printf but without the trigger.

- rndseed provides a seed for rnd and birnd functions.

- arduinoStart, arduinoRead and arduinoStop provide a protocol for
transferring sensor data from an Arduino to Csound.

- lpcfilter, lpcanal, allpole, pvslpc, pvscfs, apoleparams, resonbnk:
new streaming linear prediction opcodes.

- gauss - new version accepting mean and standard deviation as
parameters, implementing the Box-Muller algorithm.

- pvsbandwidth - returns spectral bandwidth.

- vps - vector phase shaping

### New Gen and Macros

### Orchestra

- #include of a url now works again.

- the end of file case is better handled in the pre-lexer.

- corrections to reported line number in a few error cases.

- conditional expressions yielding strings fixed, and other cases.

- the sequence //* no longer is misinterpreted as starting a comment block.

- when using sample-accurate mode a new score event that was aligned to the ksmps could stop one cycle early.  Now correct.

- the maximum line length for various inputs has been increased to
  8192.

- now legal to set the number of input channels to zero.

### Score

- New score opcode B is like b but is accumulative.

- the end of file case is better handled in the pre-lexer.

### Options

- keep-sorted-score and simple-sorted-score both can take a filename in which to write the score after a =.

- print_version option prints the version of Csound used at the end of a rendering.

- syntax-check-only return an error if syntax failed.

- opcode-dir: loads all plugin opcodes from a given directory (in
  addition to the plugins loaded from the opcode plugin path).

### Modified Opcodes and Gens

- cent, semitone, dB accuracy improved.

- taninv2 now has an array version.

- ftslice has more variations.

- ptable opcodes are now deprecated as they are identical to table opcodes.

- GEN20 case 9 (sinc function) now has an optional parameter to the x range.

- fprint(k)s now has a %s format specifier.

- lastcycle corrected and clarified.

- chn_k can now accept the mode as a string. r=1 (input), w=2 (output), rw=3 (input+output).

- trim improved.

- the HDF5 opcodes upgraded to v1.12.0.

- GEN16 is more careful about lengths of data.

- scale has additional optional arguments to specify the input range.

- schedule/schedulek can take arguments from an array.

- GEN11 improved with respect to rounding errors.

- partials has an improved method of phase estimation.
.
- ctrlinit checks that the values are in the range [0,127].

- fin as format argument changed, and is now deprecated.

- fink has the same argument change

### Utilities

- lpanal now contains a new alternative algorithm based on the Durbin
  method, in addition to the original Gauss method.

### Frontends

- Belacsound:

- CsoundQt:


### General Usage

- if using FLTK the widgets are reset on ending a run, which was not always the case earlier.


## Bugs Fixed

- setcols was very broken; fixed.

- cps2pch and cpsxpc fixed in the case of a table of frequencies.

- the 31 bit pseudo random number generator was seeded with zero then it stayed on zero.  That is now fixed.

- gen 20 was wrong in the case of 8 (triangle).

- turning off an instrument from inside a UDO now works.

- macro expansion in both orchestra and score had a bug related to uninitialised variable.

- if a UDO set a different value for ksmps any output to a multichannel device was incorrectly calculated.

- reshape array had a number of problems, now all fixed.

- ftprint had problems not following the manual regarding trig == -1 and could show the wrong index.

- part2txt/partials occasionally emitted the same track (including same track ID) multiple times for a given time point. Fixed.

- expsegr was incorrectly dependent on ksmps when sample-accurate is in force.

- table opcodes had an error when used with non power-of-two lengths.

- a fencepost error in OSCraw fixed.

# SYSTEM LEVEL CHANGES

- A crash when csound.evalcode was called without csound.start fixed.

### System Changes

- Many fixes to memory problems, mainly invalid reads/writes.

### Translations

### API

- new API to hard override default plugin dir.

- new API function to load plugins.

### Platform Specific

- WebAudio: 
 
  - Built using Emscripten 1.40.1 (LLVM backend)
  - New single-file release of CsoundObj.js with all classes and webassembly files combined using npm and rollup
  - Breaking: CsoundObj.importScripts() was removed and replaced with CsoundObj.initialize()
    - paths for loading other files no longer relevant with single-file
    - initialize takes in optional AudioContext, otherwise CsoundObj will create one for use
  - Breaking: CSOUND\_AUDIO\_CONTEXT moved from global namespace; instead reference CsoundObj.CSOUND\_AUDIO\_CONTEXT
  - Compile flags changed to -O3 and without debug information, per recommendations for release builds by Emscripten
  - Link-Time Optimization (LTO) enabled for reduced size

- iOS

- Android

- Windows

- MacOS

  - coreaudio now checks the number of channels and fails if there are insufficient.

- GNU/Linux

- Haiku port

- Bela

  - updated digiBelaOut and digiIOBela.
  - Added trill opcode

==END==