• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

config_files/H03-May-2022-184109

source/H03-May-2022-2,4971,712

AUTHORSH A D14-Dec-201139 21

COPYINGH A D19-Mar-201234.3 KiB675553

READMEH A D29-Jun-20211.3 KiB4934

README_CONFIGH A D31-Jan-20212.5 KiB7545

README

1Release 0.4.2 (29 Jun. 2021)
2----------------------------
3
4* Added -T option.
5
6* Fixed typos in Makefile.
7
8
9Release 0.4.0 (31 Jan. 2021)
10----------------------------
11
12* Added file processor, fmatconvol. This accepts
13  the same config files as jmatconvol, and any
14  reference to port names etc. are ignored.
15
16* Added commands to read the entire matrix
17  from a single audio file, see README_CONFIG.
18
19* Bugfixes, empty connection names are now
20  handled correctly.
21
22
23Release notes for jmatconvol
24----------------------------
25
26Jmatconvol is a real-time convolution engine. In
27contrast to jconvolver it uses a single partition
28size equal to the Jack period, and is optimised
29for dense matrices of short convolutions, e.g.
30for processing signals from spherical microphones
31such as the Eigenmike. The maximum convolution
32length is limited to 4096 samples in this release.
33
34For any other type of use (sparse matrics, longer
35convolutions,...) jconvolver is probably a better
36choice.
37
38Jmatconvol can compute up to a 64 by 64 convolution
39matrix (i.e. 4096 simultaneous convolutions) as long
40as your CPU(s) can handle the load. The computation
41work is performed by a user configurable number of
42parallel threads, allowing to distribute the load
43over all available CPUs.
44
45For configuration details, see README_CONFIG
46
47--
48FA
49

README_CONFIG

1Configuration file format for jmatconvol and fmatconvol
2-------------------------------------------------------
3
4
5See the files in the directory 'config-files' for some
6examples. Lines starting with '#' are comments.
7
8
9The following commands are available:
10
11
12/convolver/new  <inputs> <outputs> <maximum impulse length> <number of threads>
13
14    This command is always required and must be first one.
15
16    The 'maximum impulse length' has an impact on the amount of memory
17    used and on the CPU load. Do not use a larger value than necessary.
18    It is limited to 4096 samples in this release.
19
20    The compution load can be more or less equally distributed over
21    a configurable number of parallel threads. This value should
22    normally be equal to the number of available CPUs.
23
24
25/input/name <input number> <port name> {<source port>}
26/output/name <output number> <port name> {<destination port>}
27
28    These can be used to provide more informative ports names,
29    and to optionally connect the inputs or outputs. Input and
30    output numbers start at 1. These command are ignored by
31    fmatconvol.
32
33
34/cd <path>
35
36    Change the directory where impulse response files are searched
37    for to 'path'. Permits the use of short names in the commands
38    below. Initial value is the current directory.
39
40
41/matrix/load  <gain> <file>
42
43    Load the entire convolution matrix from an audio file.
44    If 'ninp' and 'nout' are the matrix dimensions, the file
45    must have 'ninp' channels, and the file size in frames
46    must be an exact multiple of 'nout'. The file will be
47    read as 'nout' equal lenght sections, one for each output.
48    The 'gain' parameter is a linear gain factor.
49
50
51/matrix/load_transp  <gain> <file>
52
53    Load the entire convolution matrix from an audio file.
54    If 'ninp' and 'nout' are the matrix dimensions, the file
55    must have 'nout' channels, and the file size in frames
56    must be an exact multiple of 'ninp'. The file will be
57    read as 'ninp' equal lenght sections, one for each input.
58    The 'gain' parameter is a linear gain factor.
59
60
61/matrix/load_output <output> <gain> <file>
62
63    Load the all impulses for a single output from an audio file.
64    The file  must have 'ninp' channels. Output numbers start at 1.
65    The 'gain' parameter is a linear gain factor.
66
67
68/matrix/load_input <input> <gain> <file>
69
70    Load the all impulses for a single input from an audio file.
71    The file  must have 'nout' channels. Input numbers start at 1.
72    The 'gain' parameter is a linear gain factor.
73
74
75