Windows > Third Party Plug-ins, Programs, and Skins
beqdesigner: a jriver dsp simulator and editor
mattkhan:
--- Quote from: Foggyroad on June 07, 2021, 11:37:31 am ---I've imported a PEQ file from JRiver27 and all looks good. Once I realised I had to split the filter pairs (eg L,R channels) in order to edit them it was straightforward. The Q of shelving filters seemed slightly different from my calculations using one of the online algebra calculators, but were so close that I doubt I would hear the difference - 0.5004 or 0.4999 instead of 0.5 for example.
--- End quote ---
there is some rounding error in the UI due to the conversions back and forth between S and Q and the way the UI controls format that value. I've never bothered to fix that as there is no perceivable difference in practice, the dB error as a result is less than 0.001dB so you really do have golden ears if you can notice that :)
--- Quote from: Foggyroad on June 07, 2021, 11:37:31 am ---Disabled filters do display on the graph which was disconcerting at first, but are marked as disabled in the text, so easy enough to remove.
--- End quote ---
thanks for noting this, will fix
--- Quote from: Foggyroad on June 07, 2021, 11:37:31 am ---I'm presuming when the .dsp file is uploaded to JRiver it is converted back to cascaded BW2s as my understanding that is the only way JRiver can do a LR4. Is this correct? And are the shelving Qs converted back to S?
--- End quote ---
yes, what you see in beqd should be what you get in MC as beqd converts everything into filters supported by jriver using values for Q (or S) which jriver understands. This means converting between Q and S for shelf filters & generating as many butterworth filters as is necessary to represent higher and/or odd order low or high pass filters. Note that MC also has unconventional values for custom Q high/low pass filters so this problem is also worked around along the way.
mattkhan:
latest release fixes a couple of glitches in filter editing - https://github.com/3ll3d00d/beqdesigner/releases/tag/0.10.0-beta.13
--- Quote from: Foggyroad on June 07, 2021, 11:37:31 am ---Once I realised I had to split the filter pairs (eg L,R channels) in order to edit them it was straightforward.
--- End quote ---
in the build above, if you attempt to edit such filter in the filter list then it will offer to split them to per channel filters for you
this isn't strictly necessary though because you can also edit filters via the filter chain view, if you right click on a filter in that view then you'll get an add/edit/delete menu or alternatively double click on one of those nodes and it will start editing for that particular channel. If you change that filter then it will automatically remove that channel from the multichannel filter and create a new filter for that individual channel instead.
mattkhan:
another new version up https://github.com/3ll3d00d/beqdesigner/releases/tag/0.11.0-beta.4
the main change in feature terms is that beqdesigner now supports importing filters from Multi Sub Optimiser to MC DSP - see https://www.andyc.diy-audio-engineering.org/mso/html/tech-topics/jriver-export.html for further details on how to use this
there are a few incremental improvements driven by changes in MC29
* changes to DSP capability in MC29 (https://yabb.jriver.com/interact/index.php/topic,132284.0.html)
* automatic conversion between MC28 and MC29 format for Q (i.e. connect to MC28, download DSP config, connect to MC29, upload config)
jjazdk:
This is a fantastic tool, and I just found it by accident 2 days ago. Great work!!
Version: 0.11.0-beta.4
But.. When I load my existing DSP config into BEQ, I have two issues.
1. The subwoofer output is not displayed (Channel 13, 14, 15 & 16)
2. BEQ outputs this error: Warning: Could not load "C:\Users\humle\AppData\Local\Temp\_MEI276162\gvplugin_pango.dll" - The system cannot find the file specified.
The entire debug log file is here:
2023-03-02 16:37:53,723 - DEBUG - MainThread - signal - calculate_average - Analysing default at 1.0 Hz resolution using Default avg windows
2023-03-02 16:37:53,725 - DEBUG - MainThread - xy - interp - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,725 - DEBUG - MainThread - signal - __rescale_x - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,725 - DEBUG - MainThread - signal - calculate_peak - Analysing default at 1.0 Hz resolution using Default peak windows
2023-03-02 16:37:53,726 - DEBUG - MainThread - xy - interp - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,726 - DEBUG - MainThread - signal - __rescale_x - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,728 - DEBUG - MainThread - xy - interp - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,728 - DEBUG - MainThread - signal - __rescale_x - Interpolation from 501 to 32769 in 1.001ms
2023-03-02 16:37:53,728 - DEBUG - MainThread - signal - on_filter_change - Applying filter change to default
2023-03-02 16:37:53,730 - DEBUG - MainThread - iir - get_transfer_function - freqz in 2.002ms
2023-03-02 16:37:53,737 - INFO - MainThread - beq - __init__ - Ignoring unknown cached preference for display/show_filtered_signals - None
2023-03-02 16:37:53,761 - DEBUG - MainThread - limits - propagate_to_axes - main Redrawing axes on limits change
2023-03-02 16:37:53,776 - DEBUG - MainThread - limits - propagate_to_axes - spectrum Redrawing axes on limits change
2023-03-02 16:37:53,777 - WARNING - MainThread - beq - ensurePathContainsExternalTools - No binaries paths set
2023-03-02 16:37:54,212 - DEBUG - Dummy-2 - urllib3.connectionpool - _make_request - https://api.github.com:443 "GET /repos/3ll3d00d/beqdesigner/releases HTTP/1.1" 200 None
2023-03-02 16:37:54,237 - DEBUG - Dummy-2 - urllib3.connectionpool - _new_conn - Starting new HTTPS connection (1): api.github.com:443
2023-03-02 16:37:54,908 - DEBUG - Dummy-2 - urllib3.connectionpool - _make_request - https://api.github.com:443 "GET /repos/3ll3d00d/beqdesigner/issues?sort=updated&state=closed&per_page=100 HTTP/1.1" 200 None
2023-03-02 16:38:43,639 - DEBUG - MainThread - limits - propagate_to_axes - preview Redrawing axes on limits change
2023-03-02 16:38:47,766 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Sub common filters ---
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,767 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Shared Subwoofer Filters ---
2023-03-02 16:38:47,768 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,768 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,768 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Sub Front Left ---
2023-03-02 16:38:47,768 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,768 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Sub Front Right ---
2023-03-02 16:38:47,769 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,769 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Sub Rear Center ---
2023-03-02 16:38:47,769 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,769 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --- Sub Sink+Sofa ---
2023-03-02 16:38:47,769 - DEBUG - MainThread - jriver.dsp - __handle_divider - Ignoring divider outside complex filter parsing - --------------
2023-03-02 16:38:47,770 - INFO - MainThread - jriver.dsp - __init__ - Parsed M:/Movies/DSP Preset better-bogus.dsp in 9.0ms
2023-03-02 16:38:47,774 - INFO - MainThread - jriver.filter - __update_history - FiltCache: 1, idx: -1
2023-03-02 16:38:47,805 - INFO - MainThread - jriver.filter - simulate - Generated 18 signals in 25.0 ms
2023-03-02 16:38:47,810 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.backend.piping.pipe(['renderer', 'formatter', 'neato_no_op', 'quiet'])
2023-03-02 16:38:47,811 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.backend.rendering.render(['renderer', 'formatter', 'neato_no_op', 'quiet'])
2023-03-02 16:38:47,811 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.backend.unflattening.unflatten(['stagger', 'fanout', 'chain', 'encoding'])
2023-03-02 16:38:47,812 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.backend.viewing.view(['quiet'])
2023-03-02 16:38:47,814 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.quoting.quote(['is_html_string', 'is_valid_id', 'dot_keywords', 'endswith_odd_number_of_backslashes', 'escape_unescaped_quotes'])
2023-03-02 16:38:47,814 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.quoting.a_list(['kwargs', 'attributes'])
2023-03-02 16:38:47,814 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.quoting.attr_list(['kwargs', 'attributes'])
2023-03-02 16:38:47,814 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.clear(['keep_attrs'])
2023-03-02 16:38:47,815 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.__iter__(['subgraph'])
2023-03-02 16:38:47,815 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.node(['_attributes'])
2023-03-02 16:38:47,815 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.edge(['_attributes'])
2023-03-02 16:38:47,815 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.attr(['_attributes'])
2023-03-02 16:38:47,816 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.dot.Dot.subgraph(['name', 'comment', 'graph_attr', 'node_attr', 'edge_attr', 'body'])
2023-03-02 16:38:47,816 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.piping.Pipe._pipe_legacy(['renderer', 'formatter', 'neato_no_op', 'quiet'])
2023-03-02 16:38:47,817 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.saving.Save.save(['directory'])
2023-03-02 16:38:47,817 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.rendering.Render.render(['directory', 'view', 'cleanup', 'format', 'renderer', 'formatter', 'neato_no_op', 'quiet', 'quiet_view'])
2023-03-02 16:38:47,817 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.rendering.Render.view(['directory', 'cleanup', 'quiet', 'quiet_view'])
2023-03-02 16:38:47,818 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.unflattening.Unflatten.unflatten(['stagger', 'fanout', 'chain'])
2023-03-02 16:38:47,818 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.graphs.BaseGraph.__init__(['comment', 'filename', 'directory', 'format', 'engine', 'encoding', 'graph_attr', 'node_attr', 'edge_attr', 'body', 'strict'])
2023-03-02 16:38:47,819 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.sources.Source.from_file(['directory', 'format', 'engine', 'encoding', 'renderer', 'formatter'])
2023-03-02 16:38:47,819 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.sources.Source.__init__(['filename', 'directory', 'format', 'engine', 'encoding'])
2023-03-02 16:38:47,819 - DEBUG - MainThread - graphviz._tools - decorator - deprecate positional args: graphviz.sources.Source.save(['directory'])
2023-03-02 16:38:47,820 - DEBUG - MainThread - graphviz.backend.execute - run_check - run [WindowsPath('dot'), '-Kdot', '-Tsvg']
2023-03-02 16:38:47,898 - DEBUG - MainThread - signal - calculate_average - Analysing L at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,904 - DEBUG - MainThread - signal - calculate_average - Analysing R at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,910 - DEBUG - MainThread - signal - calculate_average - Analysing C at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,916 - DEBUG - MainThread - signal - calculate_average - Analysing SW at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,922 - DEBUG - MainThread - signal - calculate_average - Analysing SL at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,928 - DEBUG - MainThread - signal - calculate_average - Analysing SR at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,934 - DEBUG - MainThread - signal - calculate_average - Analysing RL at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,940 - DEBUG - MainThread - signal - calculate_average - Analysing RR at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,945 - DEBUG - MainThread - signal - calculate_average - Analysing C9 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,951 - DEBUG - MainThread - signal - calculate_average - Analysing C10 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,960 - DEBUG - MainThread - signal - calculate_average - Analysing C11 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,970 - DEBUG - MainThread - signal - calculate_average - Analysing C12 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,979 - DEBUG - MainThread - signal - calculate_average - Analysing C13 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,986 - DEBUG - MainThread - signal - calculate_average - Analysing C14 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:47,995 - DEBUG - MainThread - signal - calculate_average - Analysing C15 at 1.0 Hz resolution using Default avg windows
2023-03-02 16:38:48,003 - DEBUG - MainThread - signal - calculate_average - Analysing C16 at 1.0 Hz resolution using Default avg windows
mattkhan:
Can you share your config?
Go to DSP studio and save it as a file then post that
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version