{"id":5001,"date":"2019-06-18T18:47:43","date_gmt":"2019-06-18T16:47:43","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?p=5001"},"modified":"2019-09-11T22:52:25","modified_gmt":"2019-09-11T20:52:25","slug":"basic-reference-project-signal-flow-operation","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=5001","title":{"rendered":"Basic Reference Project Signal Flow Operation"},"content":{"rendered":"<h4>Loudness Operation<\/h4>\n<p class=\"text\">The purpose of the Loudness stage is to attenuate high frequencies as system volume is lowered. Loudness is implemented as a tone control filter object, which uses biquad filters with external gain control from the <span class=\"emph\">Control Interface<\/span>. A custom panel for designing the loudness curve filter during design time, shown below, is provided with the project.<\/p>\n<figure id=\"attachment_5007\" aria-describedby=\"caption-attachment-5007\" style=\"width: 442px\" class=\"wp-caption alignnone\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-5007\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/LoudnessDesignPanel.png\" alt=\"Loudness Design Custom Panel\" width=\"442\" height=\"408\" \/><figcaption id=\"caption-attachment-5007\" class=\"wp-caption-text\">Loudness Design Custom Panel<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p class=\"text\">During system runtime, the gains of the filter are set by the &#8220;<span class=\"emph\">Loudness<\/span>&#8221; column values in the look-up table <span class=\"emph\">loudnessLUT <\/span>shown below. The &#8220;<span class=\"emph\">Axis<\/span>&#8221; column shows values from the volume control. The two columns are mapped together, with the X axis being the volume control values and the Y axis being the resulting loudness gain values, to produce the curve shown on the right side of the look-up table panel.<\/p>\n<p class=\"text\">A typical loudness design workflow will alternate between the filter design and runtime testing using the look-up table and volume control. Convenient access to the volume control is provided via the <span class=\"emph\">Main<\/span> custom panel shown below.<\/p>\n<p class=\"text note\">Note that while using the design panel when connected to a target device in real-time, changes in the loudness filter tuning will be sent to the target. However, the gain of the filter will be overwritten upon any volume control messages coming from the <span class=\"emph\">Control Interface<\/span><\/p>\n<p class=\"note\">The filter gain should be set to 0 prior to saving the GTTD; otherwise the filter state may be out of sync with the volume control setting<\/p>\n<figure id=\"attachment_5008\" aria-describedby=\"caption-attachment-5008\" style=\"width: 1366px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-5008\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/lutLoudness.png\" alt=\"Look-up table for loudness\" width=\"1366\" height=\"728\" \/><figcaption id=\"caption-attachment-5008\" class=\"wp-caption-text\">Look-up table for loudness<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_7111\" aria-describedby=\"caption-attachment-7111\" style=\"width: 784px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-7111\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/09\/BasicMainPanel.png\" alt=\"BASIC Project Main Panel\" width=\"784\" height=\"406\" \/><figcaption id=\"caption-attachment-7111\" class=\"wp-caption-text\">BASIC Project Main Panel<\/figcaption><\/figure>\n<h4>Tone Control Operation<\/h4>\n<p class=\"text\">The purpose of the Tone Control stage is to provide bass and treble filters, the gain of which are set by external user controls in the <span class=\"emph\">Control Interface<\/span>. Tone control is implemented with two biquad filters, one each for bass and treble. A custom panel for designing the tone control curve filters during design time, shown below, is provided with the project.<\/p>\n<figure id=\"attachment_5012\" aria-describedby=\"caption-attachment-5012\" style=\"width: 589px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5012\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/ToneDesignPanel.png\" alt=\"Tone Control Design Custom Panel\" width=\"589\" height=\"450\" \/><figcaption id=\"caption-attachment-5012\" class=\"wp-caption-text\">Tone Control Design Custom Panel<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p class=\"text\">During system runtime, the gains of the filters are set by the values in the look-up tables <span class=\"emph\">lutBass <\/span>hand <span class=\"emph\">lutTreble<\/span>. The &#8220;<span class=\"emph\">Axis<\/span>&#8221; column shows values from the bass control or treble control, sent by the <span class=\"emph\">Control Interface<\/span> object. The two columns are mapped together, with the X axis being the tone control values and the Y axis being the resulting tone filter gain values, to produce the curve shown on the right side of the look-up table panel.<\/p>\n<p class=\"text\">A typical tone control design workflow will alternate between the filter design and runtime testing using the look-up tables and tone controls. Convenient access to the volume control is provided via the <b><i>Main <\/i><\/b>custom panel.<\/p>\n<figure id=\"attachment_5017\" aria-describedby=\"caption-attachment-5017\" style=\"width: 1366px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5017\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/lutBass.png\" alt=\"Bass control look-up table\" width=\"1366\" height=\"728\" \/><figcaption id=\"caption-attachment-5017\" class=\"wp-caption-text\">Bass control look-up table<\/figcaption><\/figure>\n<p class=\"text note\">Note that while using the design panel when connected to a target device in real-time, changes in the tone control filter tuning will be sent to the target. However, the gain of the filters will be overwritten by any tone control messages coming from the <span class=\"emph\">Control Interface<\/span><\/p>\n<p class=\"note\">The filter gains should be set to 0 prior to saving the GTTD; otherwise the filter states may be out of sync with the tone control settings<\/p>\n<h4>Volume Operation<\/h4>\n<p class=\"text\">The purpose of the Volume object is to provide system gain and attenuation to the signal depending on the value of an external user control from the Control Interface. In the Basic reference project, an speed-controlled volume function is also implemented.<\/p>\n<p class=\"text\">During system runtime, volume messages are sent from the <span class=\"emph\">Control Interface<\/span> object to a control adder object that combines the volume control value with values coming from the look-up table <span class=\"emph\">lutSPEED<\/span>. This look-up table converts the speed control value to a positive amount, which is then added to the volume control. In this way, an increase in speed will also produce an increase the volume control value sent to the Volume object. The amount set in the look-up table equates to a +20 volume value increase at maximum speed. The speed table is shown below.<\/p>\n<figure id=\"attachment_5014\" aria-describedby=\"caption-attachment-5014\" style=\"width: 1366px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5014\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/lutSpeed.png\" alt=\"Speed look-up table\" width=\"1366\" height=\"728\" \/><figcaption id=\"caption-attachment-5014\" class=\"wp-caption-text\">Speed look-up table<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Loudness Operation The purpose of the Loudness stage is to attenuate high frequencies as system volume is lowered. Loudness is implemented as a tone control filter object, which uses biquad filters with external gain control from the Control Interface. A custom panel for designing the loudness curve filter during design time, shown below, is provided [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[]},"categories":[3,7,12],"tags":[],"coauthors":[165],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/5001"}],"collection":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5001"}],"version-history":[{"count":11,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/5001\/revisions"}],"predecessor-version":[{"id":7330,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/5001\/revisions\/7330"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5001"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=5001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}