<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pqyt</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pqyt"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Pqyt"/>
	<updated>2026-05-03T02:57:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38171</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38171"/>
		<updated>2024-08-10T08:32:17Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Preferences */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.6.0&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|09}}&lt;br /&gt;
| preview_release         = 0.1.6.3-alpha3&lt;br /&gt;
| preview_release_date    = {{start date and age|2024|07|12}}&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = UI&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;br /&gt;
&lt;br /&gt;
The component supports multiple instances. Each instance can have its own settings and will use its own browser profile.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
When you add a WebView panel to the foobar2000 user interface the following things happen:&lt;br /&gt;
&lt;br /&gt;
* The component tries to enable a supported WebView2 control. If no compatible WebView can be found the component will fail gracefully and report the error in the foobar2000 console.&lt;br /&gt;
* A subdirectory called &#039;&#039;&#039;foo_uie_webview&#039;&#039;&#039; gets created in your foobar2000 profile directory. It will contain various state information used by WebView2.&lt;br /&gt;
* The component looks by default for the HTML file &#039;&#039;&#039;foo_uie_webview\Template.html&#039;&#039;&#039; in your foobar2000 profile directory. The location of the template can be changed in the preferences page of the component. A copy of the default template will be created in that location if the file does not exist when the component starts. The example template provides working example code for all the component features.&lt;br /&gt;
* A &#039;&#039;&#039;WebView&#039;&#039;&#039; preferences page is added to Preferences dialog in the &#039;&#039;&#039;Display&#039;&#039;&#039; category.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WebView2 control fills the complete client area of the panel and captures all mouse and keyboard events. The context menu will contain a &#039;&#039;&#039;WebView&#039;&#039;&#039; item to access the preferences of an instance. During &#039;&#039;&#039;Layout Edit&#039;&#039;&#039; mode the control will be hidden and only the &#039;&#039;&#039;WebView&#039;&#039;&#039; text will be shown.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
Basically anything you can do with HTML and JavaScript in WebView2 you can do with this panel.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
Your JavaScript code can react to the following events raised by the component:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStarting(command, paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback is being initialized.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;command&#039;&#039;: The name of the command that started playback.&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackNewTrack() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback advances to a new track.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStop(reason) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback stops.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;reason&#039;&#039;: The reason why playback got stopped (&amp;quot;User&amp;quot; / &amp;quot;EOF&amp;quot; / &amp;quot;Starting another&amp;quot; / &amp;quot;Shutting down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackSeek(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user seeks to a specific &#039;&#039;time&#039;&#039; (in seconds).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackPause(paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback pauses or resumes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackEdited() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the currently played file gets edited.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when dynamic info (VBR bitrate etc...) changes.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicTrackInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the per-track dynamic info (stream track titles etc...) change. Happens less often than OnPlaybackDynamicInfo().&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackTime(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called, every second, for time display.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnVolumeChange(newValue) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user changes the volume.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaylistFocusedItemChanged() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the focused playlist item changes.&lt;br /&gt;
&lt;br /&gt;
===Shared Buffer===&lt;br /&gt;
A special feature of the component is the shared buffer between the component and the browser control. It will contain a copy of the foobar2000 visualization stream data allowing you to create visualizations in JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnSharedBufferReceived(e) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This event gets raised when a new shared buffer is available to the JavaScript code. The following JavaScript code fragment gets the samples as an ArrayBuffer and converts them to an array of 64-bit double values.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;SharedBuffer = e.getBuffer(); // as an ArrayBuffer&lt;br /&gt;
 Samples = new Float64Array(SharedBuffer);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;e.additionalData&#039;&#039;&#039; property will specify the format of the buffer.&lt;br /&gt;
&lt;br /&gt;
* e.additionalData.SampleCount: The number of samples (for all channels) in the buffer&lt;br /&gt;
* e.additionalData.SampleRate: The sample rate in Hz&lt;br /&gt;
* e.additionalData.ChannelCount: The number of channels in the sample data.&lt;br /&gt;
* e.additionalData.ChannelConfig: The channel configuration of the sample data. Take a look at the &amp;lt;code&amp;gt;function GetChannelConfigurationText(channelConfig)&amp;lt;/code&amp;gt; function in the example template included in the component archive to learn how to interpret the &#039;&#039;&#039;ChannelConfig&#039;&#039;&#039; property value.&lt;br /&gt;
&lt;br /&gt;
==Host object==&lt;br /&gt;
The component makes a special host object called &#039;&#039;&#039;chrome.webview.hostObjects.sync.foo_uie_webview&#039;&#039;&#039; available to JavaScript. The object provides the following methods and properties:&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
* ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.&lt;br /&gt;
* IsPlaying: Gets whether playback is active.&lt;br /&gt;
* IsPaused: Gets whether playback is active and in paused state.&lt;br /&gt;
* StopAfterCurrent: Gets or sets the stop-after-current-track option state.&lt;br /&gt;
* Length: Gets the length of the currently playing item, in seconds.&lt;br /&gt;
* Position: Gets the playback position within the currently playing item, in seconds.&lt;br /&gt;
* CanSeek: Gets whether currently playing track is seekable. If it&#039;s not, Seek/SeekDelta calls will be ignored.&lt;br /&gt;
* Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.&lt;br /&gt;
* IsMuted: Gets whether playback is muted.&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
* GetFormattedText(titleFormattingString): Interprets the [https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference foobar2000 title formatting] string and returns the result.&lt;br /&gt;
* Print(text): Prints text from JavaScript on the foobar2000 console.&lt;br /&gt;
* Stop(): Stops playback.&lt;br /&gt;
* Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.&lt;br /&gt;
* Pause(paused): Pauses or resumes playback.&lt;br /&gt;
* Previous(): Plays the previous track from the current playlist according to the current playback order.&lt;br /&gt;
* Next(): Plays the next track from the current playlist according to the current playback order.&lt;br /&gt;
* Random(): Plays a random track from the current playlist (aka Shuffle).&lt;br /&gt;
* TogglePause(): Toggles the pause status.&lt;br /&gt;
* ToggleMute(): Toggles playback mute state.&lt;br /&gt;
* ToggleStopAfterCurrent(): Toggles the stop-after-current mode.&lt;br /&gt;
* VolumeUp(): Increases the volume with one step.&lt;br /&gt;
* VolumeDown(): Decreases the volume with one step.&lt;br /&gt;
* Seek(time): Seeks in the currently playing track to the specified time, in seconds.&lt;br /&gt;
* SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.&lt;br /&gt;
* GetArtwork(artworktype): Returns the specified artwork as a data URI, either the file path of external artwork or the base64 encoded image data of embedded artwork. Artwork type can be: &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;disc&amp;quot;, &amp;quot;icon&amp;quot; or &amp;quot;artist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
The following settings can be changed on the preferences page.&lt;br /&gt;
&lt;br /&gt;
* Name: The name of the component&lt;br /&gt;
* User data folder path: The root of the WebView2 user data folder. By default it gets created in your foobar2000 profile directory. When you change the location the old directory will &#039;&#039;&#039;not&#039;&#039;&#039; be moved or deleted automatically.&lt;br /&gt;
* Template file path: The fully-qualified path of the HTML file to be used. The &#039;&#039;&#039;Edit&#039;&#039;&#039; button only works when an HTML editor is associated the the HTML file type and the Edit verb in Explorer.&lt;br /&gt;
* Window size: The size of the window (in samples or seconds) to capture the foobar2000 visualization stream.&lt;br /&gt;
* Reaction alignment: A parameter that allows you to tweak the alignment of the sample window. Positive values start the window behind the playback position; negative values start the window ahead of the playback position.&lt;br /&gt;
* Clear browsing data on startup: The browser data cache will be cleared each time the instance starts.&lt;br /&gt;
* In Private mode: The WebView2 control of the instance runs in &#039;&#039;&#039;In Private&#039;&#039;&#039; mode.&lt;br /&gt;
* Fluent scrollbar style: When enabled the control use the [https://fluent2.microsoft.design/design-principles Fluent design language] to render the scrollbar. Disable it for a default scrollbar.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38170</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38170"/>
		<updated>2024-08-10T08:26:37Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: Added &amp;quot;Fluent scrollbar style&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.6.0&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|09}}&lt;br /&gt;
| preview_release         = 0.1.6.3-alpha3&lt;br /&gt;
| preview_release_date    = {{start date and age|2024|07|12}}&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = UI&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;br /&gt;
&lt;br /&gt;
The component supports multiple instances. Each instance can have its own settings and will use its own browser profile.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
When you add a WebView panel to the foobar2000 user interface the following things happen:&lt;br /&gt;
&lt;br /&gt;
* The component tries to enable a supported WebView2 control. If no compatible WebView can be found the component will fail gracefully and report the error in the foobar2000 console.&lt;br /&gt;
* A subdirectory called &#039;&#039;&#039;foo_uie_webview&#039;&#039;&#039; gets created in your foobar2000 profile directory. It will contain various state information used by WebView2.&lt;br /&gt;
* The component looks by default for the HTML file &#039;&#039;&#039;foo_uie_webview\Template.html&#039;&#039;&#039; in your foobar2000 profile directory. The location of the template can be changed in the preferences page of the component. A copy of the default template will be created in that location if the file does not exist when the component starts. The example template provides working example code for all the component features.&lt;br /&gt;
* A &#039;&#039;&#039;WebView&#039;&#039;&#039; preferences page is added to Preferences dialog in the &#039;&#039;&#039;Display&#039;&#039;&#039; category.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WebView2 control fills the complete client area of the panel and captures all mouse and keyboard events. The context menu will contain a &#039;&#039;&#039;WebView&#039;&#039;&#039; item to access the preferences of an instance. During &#039;&#039;&#039;Layout Edit&#039;&#039;&#039; mode the control will be hidden and only the &#039;&#039;&#039;WebView&#039;&#039;&#039; text will be shown.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
Basically anything you can do with HTML and JavaScript in WebView2 you can do with this panel.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
Your JavaScript code can react to the following events raised by the component:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStarting(command, paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback is being initialized.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;command&#039;&#039;: The name of the command that started playback.&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackNewTrack() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback advances to a new track.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStop(reason) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback stops.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;reason&#039;&#039;: The reason why playback got stopped (&amp;quot;User&amp;quot; / &amp;quot;EOF&amp;quot; / &amp;quot;Starting another&amp;quot; / &amp;quot;Shutting down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackSeek(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user seeks to a specific &#039;&#039;time&#039;&#039; (in seconds).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackPause(paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback pauses or resumes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackEdited() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the currently played file gets edited.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when dynamic info (VBR bitrate etc...) changes.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicTrackInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the per-track dynamic info (stream track titles etc...) change. Happens less often than OnPlaybackDynamicInfo().&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackTime(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called, every second, for time display.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnVolumeChange(newValue) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user changes the volume.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaylistFocusedItemChanged() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the focused playlist item changes.&lt;br /&gt;
&lt;br /&gt;
===Shared Buffer===&lt;br /&gt;
A special feature of the component is the shared buffer between the component and the browser control. It will contain a copy of the foobar2000 visualization stream data allowing you to create visualizations in JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnSharedBufferReceived(e) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This event gets raised when a new shared buffer is available to the JavaScript code. The following JavaScript code fragment gets the samples as an ArrayBuffer and converts them to an array of 64-bit double values.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;SharedBuffer = e.getBuffer(); // as an ArrayBuffer&lt;br /&gt;
 Samples = new Float64Array(SharedBuffer);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;e.additionalData&#039;&#039;&#039; property will specify the format of the buffer.&lt;br /&gt;
&lt;br /&gt;
* e.additionalData.SampleCount: The number of samples (for all channels) in the buffer&lt;br /&gt;
* e.additionalData.SampleRate: The sample rate in Hz&lt;br /&gt;
* e.additionalData.ChannelCount: The number of channels in the sample data.&lt;br /&gt;
* e.additionalData.ChannelConfig: The channel configuration of the sample data. Take a look at the &amp;lt;code&amp;gt;function GetChannelConfigurationText(channelConfig)&amp;lt;/code&amp;gt; function in the example template included in the component archive to learn how to interpret the &#039;&#039;&#039;ChannelConfig&#039;&#039;&#039; property value.&lt;br /&gt;
&lt;br /&gt;
==Host object==&lt;br /&gt;
The component makes a special host object called &#039;&#039;&#039;chrome.webview.hostObjects.sync.foo_uie_webview&#039;&#039;&#039; available to JavaScript. The object provides the following methods and properties:&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
* ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.&lt;br /&gt;
* IsPlaying: Gets whether playback is active.&lt;br /&gt;
* IsPaused: Gets whether playback is active and in paused state.&lt;br /&gt;
* StopAfterCurrent: Gets or sets the stop-after-current-track option state.&lt;br /&gt;
* Length: Gets the length of the currently playing item, in seconds.&lt;br /&gt;
* Position: Gets the playback position within the currently playing item, in seconds.&lt;br /&gt;
* CanSeek: Gets whether currently playing track is seekable. If it&#039;s not, Seek/SeekDelta calls will be ignored.&lt;br /&gt;
* Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.&lt;br /&gt;
* IsMuted: Gets whether playback is muted.&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
* GetFormattedText(titleFormattingString): Interprets the [https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference foobar2000 title formatting] string and returns the result.&lt;br /&gt;
* Print(text): Prints text from JavaScript on the foobar2000 console.&lt;br /&gt;
* Stop(): Stops playback.&lt;br /&gt;
* Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.&lt;br /&gt;
* Pause(paused): Pauses or resumes playback.&lt;br /&gt;
* Previous(): Plays the previous track from the current playlist according to the current playback order.&lt;br /&gt;
* Next(): Plays the next track from the current playlist according to the current playback order.&lt;br /&gt;
* Random(): Plays a random track from the current playlist (aka Shuffle).&lt;br /&gt;
* TogglePause(): Toggles the pause status.&lt;br /&gt;
* ToggleMute(): Toggles playback mute state.&lt;br /&gt;
* ToggleStopAfterCurrent(): Toggles the stop-after-current mode.&lt;br /&gt;
* VolumeUp(): Increases the volume with one step.&lt;br /&gt;
* VolumeDown(): Decreases the volume with one step.&lt;br /&gt;
* Seek(time): Seeks in the currently playing track to the specified time, in seconds.&lt;br /&gt;
* SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.&lt;br /&gt;
* GetArtwork(artworktype): Returns the specified artwork as a data URI, either the file path of external artwork or the base64 encoded image data of embedded artwork. Artwork type can be: &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;disc&amp;quot;, &amp;quot;icon&amp;quot; or &amp;quot;artist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
The following settings can be changed on the preferences page.&lt;br /&gt;
&lt;br /&gt;
* Name: The name of the component&lt;br /&gt;
* User data folder path: The root of the WebView2 user data folder. By default it gets created in your foobar2000 profile directory. When you change the location the old directory will &#039;&#039;&#039;not&#039;&#039;&#039; be moved or deleted automatically.&lt;br /&gt;
* Template file path: The fully-qualified path of the HTML file to be used. The &#039;&#039;&#039;Edit&#039;&#039;&#039; button only works when an HTML editor is associated the the HTML file type and the Edit verb in Explorer.&lt;br /&gt;
* Window size: The size of the window (in samples or seconds) to capture the foobar2000 visualization stream.&lt;br /&gt;
* Reaction alignment: A parameter that allows you to tweak the alignment of the sample window. Positive values start the window behind the playback position; negative values start the window ahead of the playback position.&lt;br /&gt;
* Clear browsing data on startup: The browser data cache will be cleared each time the instance starts.&lt;br /&gt;
* In Private mode: The WebView2 control of the instance runs in &#039;&#039;&#039;In Private&#039;&#039;&#039; mode.&lt;br /&gt;
* Fluent scrollbar style: When enabled the control use the Fluent design to render the scrollbar. Disable it for a default scrollbar.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38069</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38069"/>
		<updated>2024-07-12T16:00:00Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.6.0&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|09}}&lt;br /&gt;
| preview_release         = 0.1.6.3-alpha3&lt;br /&gt;
| preview_release_date    = {{start date and age|2024|07|12}}&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = UI&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;br /&gt;
&lt;br /&gt;
The component supports multiple instances. Each instance can have its own settings and will use its own browser profile.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
When you add a WebView panel to the foobar2000 user interface the following things happen:&lt;br /&gt;
&lt;br /&gt;
* The component tries to enable a supported WebView2 control. If no compatible WebView can be found the component will fail gracefully and report the error in the foobar2000 console.&lt;br /&gt;
* A subdirectory called &#039;&#039;&#039;foo_uie_webview&#039;&#039;&#039; gets created in your foobar2000 profile directory. It will contain various state information used by WebView2.&lt;br /&gt;
* The component looks by default for the HTML file &#039;&#039;&#039;foo_uie_webview\Template.html&#039;&#039;&#039; in your foobar2000 profile directory. The location of the template can be changed in the preferences page of the component. A copy of the default template will be created in that location if the file does not exist when the component starts. The example template provides working example code for all the component features.&lt;br /&gt;
* A &#039;&#039;&#039;WebView&#039;&#039;&#039; preferences page is added to Preferences dialog in the &#039;&#039;&#039;Display&#039;&#039;&#039; category.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WebView2 control fills the complete client area of the panel and captures all mouse and keyboard events. The context menu will contain a &#039;&#039;&#039;WebView&#039;&#039;&#039; item to access the preferences of an instance. During &#039;&#039;&#039;Layout Edit&#039;&#039;&#039; mode the control will be hidden and only the &#039;&#039;&#039;WebView&#039;&#039;&#039; text will be shown.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
Basically anything you can do with HTML and JavaScript in WebView2 you can do with this panel.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
Your JavaScript code can react to the following events raised by the component:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStarting(command, paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback is being initialized.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;command&#039;&#039;: The name of the command that started playback.&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackNewTrack() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback advances to a new track.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackStop(reason) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback stops.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;reason&#039;&#039;: The reason why playback got stopped (&amp;quot;User&amp;quot; / &amp;quot;EOF&amp;quot; / &amp;quot;Starting another&amp;quot; / &amp;quot;Shutting down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackSeek(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user seeks to a specific &#039;&#039;time&#039;&#039; (in seconds).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackPause(paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback pauses or resumes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackEdited() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the currently played file gets edited.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when dynamic info (VBR bitrate etc...) changes.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackDynamicTrackInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the per-track dynamic info (stream track titles etc...) change. Happens less often than OnPlaybackDynamicInfo().&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaybackTime(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called, every second, for time display.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnVolumeChange(newValue) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user changes the volume.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;function OnPlaylistFocusedItemChanged() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the focused playlist item changes.&lt;br /&gt;
&lt;br /&gt;
===Shared Buffer===&lt;br /&gt;
A special feature of the component is the shared buffer between the component and the browser control. It will contain a copy of the foobar2000 visualization stream data allowing you to create visualizations in JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnSharedBufferReceived(e) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This event gets raised when a new shared buffer is available to the JavaScript code. The following JavaScript code fragment gets the samples as an ArrayBuffer and converts them to an array of 64-bit double values.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;SharedBuffer = e.getBuffer(); // as an ArrayBuffer&lt;br /&gt;
 Samples = new Float64Array(SharedBuffer);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;e.additionalData&#039;&#039;&#039; property will specify the format of the buffer.&lt;br /&gt;
&lt;br /&gt;
* e.additionalData.SampleCount: The number of samples (for all channels) in the buffer&lt;br /&gt;
* e.additionalData.SampleRate: The sample rate in Hz&lt;br /&gt;
* e.additionalData.ChannelCount: The number of channels in the sample data.&lt;br /&gt;
* e.additionalData.ChannelConfig: The channel configuration of the sample data. Take a look at the &amp;lt;code&amp;gt;function GetChannelConfigurationText(channelConfig)&amp;lt;/code&amp;gt; function in the example template included in the component archive to learn how to interpret the &#039;&#039;&#039;ChannelConfig&#039;&#039;&#039; property value.&lt;br /&gt;
&lt;br /&gt;
==Host object==&lt;br /&gt;
The component makes a special host object called &#039;&#039;&#039;chrome.webview.hostObjects.sync.foo_uie_webview&#039;&#039;&#039; available to JavaScript. The object provides the following methods and properties:&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
* ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.&lt;br /&gt;
* IsPlaying: Gets whether playback is active.&lt;br /&gt;
* IsPaused: Gets whether playback is active and in paused state.&lt;br /&gt;
* StopAfterCurrent: Gets or sets the stop-after-current-track option state.&lt;br /&gt;
* Length: Gets the length of the currently playing item, in seconds.&lt;br /&gt;
* Position: Gets the playback position within the currently playing item, in seconds.&lt;br /&gt;
* CanSeek: Gets whether currently playing track is seekable. If it&#039;s not, Seek/SeekDelta calls will be ignored.&lt;br /&gt;
* Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.&lt;br /&gt;
* IsMuted: Gets whether playback is muted.&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
* GetFormattedText(titleFormattingString): Interprets the [https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference foobar2000 title formatting] string and returns the result.&lt;br /&gt;
* Print(text): Prints text from JavaScript on the foobar2000 console.&lt;br /&gt;
* Stop(): Stops playback.&lt;br /&gt;
* Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.&lt;br /&gt;
* Pause(paused): Pauses or resumes playback.&lt;br /&gt;
* Previous(): Plays the previous track from the current playlist according to the current playback order.&lt;br /&gt;
* Next(): Plays the next track from the current playlist according to the current playback order.&lt;br /&gt;
* Random(): Plays a random track from the current playlist (aka Shuffle).&lt;br /&gt;
* TogglePause(): Toggles the pause status.&lt;br /&gt;
* ToggleMute(): Toggles playback mute state.&lt;br /&gt;
* ToggleStopAfterCurrent(): Toggles the stop-after-current mode.&lt;br /&gt;
* VolumeUp(): Increases the volume with one step.&lt;br /&gt;
* VolumeDown(): Decreases the volume with one step.&lt;br /&gt;
* Seek(time): Seeks in the currently playing track to the specified time, in seconds.&lt;br /&gt;
* SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.&lt;br /&gt;
* GetArtwork(artworktype): Returns the specified artwork as a data URI, either the file path of external artwork or the base64 encoded image data of embedded artwork. Artwork type can be: &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;disc&amp;quot;, &amp;quot;icon&amp;quot; or &amp;quot;artist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
The following settings can be changed on the preferences page.&lt;br /&gt;
&lt;br /&gt;
* Name: The name of the component&lt;br /&gt;
* User data folder path: The root of the WebView2 user data folder. By default it gets created in your foobar2000 profile directory. When you change the location the old directory will &#039;&#039;&#039;not&#039;&#039;&#039; be moved or deleted automatically.&lt;br /&gt;
* Template file path: The fully-qualified path of the HTML file to be used. The &#039;&#039;&#039;Edit&#039;&#039;&#039; button only works when an HTML editor is associated the the HTML file type and the Edit verb in Explorer.&lt;br /&gt;
* Window size: The size of the window (in samples or seconds) to capture the foobar2000 visualization stream.&lt;br /&gt;
* Reaction alignment: A parameter that allows you to tweak the alignment of the sample window. Positive values start the window behind the playback position; negative values start the window ahead of the playback position.&lt;br /&gt;
* Clear browsing data on startup: The browser data cache will be cleared each time the instance starts.&lt;br /&gt;
* In Private mode: The WebView2 control of the instance runs in &#039;&#039;&#039;In Private&#039;&#039;&#039; mode.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38068</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38068"/>
		<updated>2024-07-12T15:58:38Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Shared Buffer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.6.0&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|09}}&lt;br /&gt;
| preview_release         = 0.1.6.3-alpha3&lt;br /&gt;
| preview_release_date    = {{start date and age|2024|07|12}}&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = UI&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;br /&gt;
&lt;br /&gt;
The component supports multiple instances. Each instance can have its own settings and will use its own browser profile.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
When you add a WebView panel to the foobar2000 user interface the following things happen:&lt;br /&gt;
&lt;br /&gt;
* The component tries to enable a supported WebView2 control. If no compatible WebView can be found the component will fail gracefully and report the error in the foobar2000 console.&lt;br /&gt;
* A subdirectory called &#039;&#039;&#039;foo_uie_webview&#039;&#039;&#039; gets created in your foobar2000 profile directory. It will contain various state information used by WebView2.&lt;br /&gt;
* The component looks by default for the HTML file &#039;&#039;&#039;foo_uie_webview\Template.html&#039;&#039;&#039; in your foobar2000 profile directory. The location of the template can be changed in the preferences page of the component. A copy of the default template will be created in that location if the file does not exist when the component starts. The example template provides working example code for all the component features.&lt;br /&gt;
* A &#039;&#039;&#039;WebView&#039;&#039;&#039; preferences page is added to Preferences dialog in the &#039;&#039;&#039;Display&#039;&#039;&#039; category.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WebView2 control fills the complete client area of the panel and captures all mouse and keyboard events. The context menu will contain a &#039;&#039;&#039;WebView&#039;&#039;&#039; item to access the preferences of an instance. During &#039;&#039;&#039;Layout Edit&#039;&#039;&#039; mode the control will be hidden and only the &#039;&#039;&#039;WebView&#039;&#039;&#039; text will be shown.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
Basically anything you can do with HTML and JavaScript in WebView2 you can do with this panel.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
Your JavaScript code can react to the following events raised by the component:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackStarting(command, paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback is being initialized.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;command&#039;&#039;: The name of the command that started playback.&lt;br /&gt;
&#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackNewTrack() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback advances to a new track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackStop(reason) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback stops.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;reason&#039;&#039;: The reason why playback got stopped (&amp;quot;User&amp;quot; / &amp;quot;EOF&amp;quot; / &amp;quot;Starting another&amp;quot; / &amp;quot;Shutting down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackSeek(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user seeks to a specific &#039;&#039;time&#039;&#039; (in seconds).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackPause(paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback pauses or resumes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackEdited() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the currently played file gets edited.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackDynamicInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when dynamic info (VBR bitrate etc...) changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackDynamicTrackInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the per-track dynamic info (stream track titles etc...) change. Happens less often than OnPlaybackDynamicInfo().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackTime(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called, every second, for time display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnVolumeChange(newValue) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user changes the volume.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaylistFocusedItemChanged() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the focused playlist item changes.&lt;br /&gt;
&lt;br /&gt;
===Shared Buffer===&lt;br /&gt;
A special feature of the component is the shared buffer between the component and the browser control. It will contain a copy of the foobar2000 visualization stream data allowing you to create visualizations in JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnSharedBufferReceived(e) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This event gets raised when a new shared buffer is available to the JavaScript code. The following JavaScript code fragment gets the samples as an ArrayBuffer and converts them to an array of 64-bit double values.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;SharedBuffer = e.getBuffer(); // as an ArrayBuffer&lt;br /&gt;
 Samples = new Float64Array(SharedBuffer);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;e.additionalData&#039;&#039;&#039; property will specify the format of the buffer.&lt;br /&gt;
&lt;br /&gt;
* e.additionalData.SampleCount: The number of samples (for all channels) in the buffer&lt;br /&gt;
* e.additionalData.SampleRate: The sample rate in Hz&lt;br /&gt;
* e.additionalData.ChannelCount: The number of channels in the sample data.&lt;br /&gt;
* e.additionalData.ChannelConfig: The channel configuration of the sample data. Take a look at the &amp;lt;code&amp;gt;function GetChannelConfigurationText(channelConfig)&amp;lt;/code&amp;gt; function in the example template included in the component archive to learn how to interpret the &#039;&#039;&#039;ChannelConfig&#039;&#039;&#039; property value.&lt;br /&gt;
&lt;br /&gt;
==Host object==&lt;br /&gt;
The component makes a special host object called &#039;&#039;&#039;chrome.webview.hostObjects.sync.foo_uie_webview&#039;&#039;&#039; available to JavaScript. The object provides the following methods and properties:&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
* ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.&lt;br /&gt;
* IsPlaying: Gets whether playback is active.&lt;br /&gt;
* IsPaused: Gets whether playback is active and in paused state.&lt;br /&gt;
* StopAfterCurrent: Gets or sets the stop-after-current-track option state.&lt;br /&gt;
* Length: Gets the length of the currently playing item, in seconds.&lt;br /&gt;
* Position: Gets the playback position within the currently playing item, in seconds.&lt;br /&gt;
* CanSeek: Gets whether currently playing track is seekable. If it&#039;s not, Seek/SeekDelta calls will be ignored.&lt;br /&gt;
* Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.&lt;br /&gt;
* IsMuted: Gets whether playback is muted.&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
* GetFormattedText(titleFormattingString): Interprets the [https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference foobar2000 title formatting] string and returns the result.&lt;br /&gt;
* Print(text): Prints text from JavaScript on the foobar2000 console.&lt;br /&gt;
* Stop(): Stops playback.&lt;br /&gt;
* Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.&lt;br /&gt;
* Pause(paused): Pauses or resumes playback.&lt;br /&gt;
* Previous(): Plays the previous track from the current playlist according to the current playback order.&lt;br /&gt;
* Next(): Plays the next track from the current playlist according to the current playback order.&lt;br /&gt;
* Random(): Plays a random track from the current playlist (aka Shuffle).&lt;br /&gt;
* TogglePause(): Toggles the pause status.&lt;br /&gt;
* ToggleMute(): Toggles playback mute state.&lt;br /&gt;
* ToggleStopAfterCurrent(): Toggles the stop-after-current mode.&lt;br /&gt;
* VolumeUp(): Increases the volume with one step.&lt;br /&gt;
* VolumeDown(): Decreases the volume with one step.&lt;br /&gt;
* Seek(time): Seeks in the currently playing track to the specified time, in seconds.&lt;br /&gt;
* SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.&lt;br /&gt;
* GetArtwork(artworktype): Returns the specified artwork as a data URI, either the file path of external artwork or the base64 encoded image data of embedded artwork. Artwork type can be: &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;disc&amp;quot;, &amp;quot;icon&amp;quot; or &amp;quot;artist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
The following settings can be changed on the preferences page.&lt;br /&gt;
&lt;br /&gt;
* Name: The name of the component&lt;br /&gt;
* User data folder path: The root of the WebView2 user data folder. By default it gets created in your foobar2000 profile directory. When you change the location the old directory will &#039;&#039;&#039;not&#039;&#039;&#039; be moved or deleted automatically.&lt;br /&gt;
* Template file path: The fully-qualified path of the HTML file to be used. The &#039;&#039;&#039;Edit&#039;&#039;&#039; button only works when an HTML editor is associated the the HTML file type and the Edit verb in Explorer.&lt;br /&gt;
* Window size: The size of the window (in samples or seconds) to capture the foobar2000 visualization stream.&lt;br /&gt;
* Reaction alignment: A parameter that allows you to tweak the alignment of the sample window. Positive values start the window behind the playback position; negative values start the window ahead of the playback position.&lt;br /&gt;
* Clear browsing data on startup: The browser data cache will be cleared each time the instance starts.&lt;br /&gt;
* In Private mode: The WebView2 control of the instance runs in &#039;&#039;&#039;In Private&#039;&#039;&#039; mode.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38067</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38067"/>
		<updated>2024-07-12T15:54:54Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: Initial version of the documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.6.0&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|09}}&lt;br /&gt;
| preview_release         = 0.1.6.3-alpha3&lt;br /&gt;
| preview_release_date    = {{start date and age|2024|07|12}}&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = UI&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;br /&gt;
&lt;br /&gt;
The component supports multiple instances. Each instance can have its own settings and will use its own browser profile.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
When you add a WebView panel to the foobar2000 user interface the following things happen:&lt;br /&gt;
&lt;br /&gt;
* The component tries to enable a supported WebView2 control. If no compatible WebView can be found the component will fail gracefully and report the error in the foobar2000 console.&lt;br /&gt;
* A subdirectory called &#039;&#039;&#039;foo_uie_webview&#039;&#039;&#039; gets created in your foobar2000 profile directory. It will contain various state information used by WebView2.&lt;br /&gt;
* The component looks by default for the HTML file &#039;&#039;&#039;foo_uie_webview\Template.html&#039;&#039;&#039; in your foobar2000 profile directory. The location of the template can be changed in the preferences page of the component. A copy of the default template will be created in that location if the file does not exist when the component starts. The example template provides working example code for all the component features.&lt;br /&gt;
* A &#039;&#039;&#039;WebView&#039;&#039;&#039; preferences page is added to Preferences dialog in the &#039;&#039;&#039;Display&#039;&#039;&#039; category.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WebView2 control fills the complete client area of the panel and captures all mouse and keyboard events. The context menu will contain a &#039;&#039;&#039;WebView&#039;&#039;&#039; item to access the preferences of an instance. During &#039;&#039;&#039;Layout Edit&#039;&#039;&#039; mode the control will be hidden and only the &#039;&#039;&#039;WebView&#039;&#039;&#039; text will be shown.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template==&lt;br /&gt;
Basically anything you can do with HTML and JavaScript in WebView2 you can do with this panel.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
Your JavaScript code can react to the following events raised by the component:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackStarting(command, paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback is being initialized.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;command&#039;&#039;: The name of the command that started playback.&lt;br /&gt;
&#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackNewTrack() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback advances to a new track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackStop(reason) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback stops.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;reason&#039;&#039;: The reason why playback got stopped (&amp;quot;User&amp;quot; / &amp;quot;EOF&amp;quot; / &amp;quot;Starting another&amp;quot; / &amp;quot;Shutting down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackSeek(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user seeks to a specific &#039;&#039;time&#039;&#039; (in seconds).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackPause(paused) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when playback pauses or resumes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;paused&#039;&#039;: True if the playback was started paused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackEdited() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the currently played file gets edited.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackDynamicInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when dynamic info (VBR bitrate etc...) changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackDynamicTrackInfo() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the per-track dynamic info (stream track titles etc...) change. Happens less often than OnPlaybackDynamicInfo().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaybackTime(time) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called, every second, for time display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnVolumeChange(newValue) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the user changes the volume.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnPlaylistFocusedItemChanged() {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Called when the focused playlist item changes.&lt;br /&gt;
&lt;br /&gt;
===Shared Buffer===&lt;br /&gt;
A special feature of the component is the shared buffer between the component and the browser control. It will contain a copy of the foobar2000 visualization stream data allowing you to create visualizations in JavaScript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function OnSharedBufferReceived(e) {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This event gets raised when a new shared buffer is available to the JavaScript code. The following JavaScript code fragment get the samples as an ArrayBuffer and converts them to an array of 64-bit double values.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;SharedBuffer = e.getBuffer(); // as an ArrayBuffer&lt;br /&gt;
 Samples = new Float64Array(SharedBuffer);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;e.additionalData&#039;&#039;&#039; property will specify the format of the buffer.&lt;br /&gt;
&lt;br /&gt;
* e.additionalData.SampleCount: The number of samples (for all channels) in the buffer&lt;br /&gt;
* e.additionalData.SampleRate: The sample rate in Hz&lt;br /&gt;
* e.additionalData.ChannelCount: The number of channels in the sample data.&lt;br /&gt;
* e.additionalData.ChannelConfig: The channel configuration of the sample data. Take a look at the &amp;lt;code&amp;gt;function GetChannelConfigurationText(channelConfig)&amp;lt;/code&amp;gt; function in the example template included in the component archive to learn how to interpret the &#039;&#039;&#039;ChannelConfig&#039;&#039;&#039; property value.&lt;br /&gt;
&lt;br /&gt;
==Host object==&lt;br /&gt;
The component makes a special host object called &#039;&#039;&#039;chrome.webview.hostObjects.sync.foo_uie_webview&#039;&#039;&#039; available to JavaScript. The object provides the following methods and properties:&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
* ComponentVersion and ComponentVersionText: The version of this component as packed integer and as text.&lt;br /&gt;
* IsPlaying: Gets whether playback is active.&lt;br /&gt;
* IsPaused: Gets whether playback is active and in paused state.&lt;br /&gt;
* StopAfterCurrent: Gets or sets the stop-after-current-track option state.&lt;br /&gt;
* Length: Gets the length of the currently playing item, in seconds.&lt;br /&gt;
* Position: Gets the playback position within the currently playing item, in seconds.&lt;br /&gt;
* CanSeek: Gets whether currently playing track is seekable. If it&#039;s not, Seek/SeekDelta calls will be ignored.&lt;br /&gt;
* Volume: Gets or sets the playback volume in dBFS. Use 0 for full volume.&lt;br /&gt;
* IsMuted: Gets whether playback is muted.&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
* GetFormattedText(titleFormattingString): Interprets the [https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference foobar2000 title formatting] string and returns the result.&lt;br /&gt;
* Print(text): Prints text from JavaScript on the foobar2000 console.&lt;br /&gt;
* Stop(): Stops playback.&lt;br /&gt;
* Play(paused): Starts playback, paused or unpaused. If playback is already active, existing process is stopped first.&lt;br /&gt;
* Pause(paused): Pauses or resumes playback.&lt;br /&gt;
* Previous(): Plays the previous track from the current playlist according to the current playback order.&lt;br /&gt;
* Next(): Plays the next track from the current playlist according to the current playback order.&lt;br /&gt;
* Random(): Plays a random track from the current playlist (aka Shuffle).&lt;br /&gt;
* TogglePause(): Toggles the pause status.&lt;br /&gt;
* ToggleMute(): Toggles playback mute state.&lt;br /&gt;
* ToggleStopAfterCurrent(): Toggles the stop-after-current mode.&lt;br /&gt;
* VolumeUp(): Increases the volume with one step.&lt;br /&gt;
* VolumeDown(): Decreases the volume with one step.&lt;br /&gt;
* Seek(time): Seeks in the currently playing track to the specified time, in seconds.&lt;br /&gt;
* SeekDelta(delta): Seeks in the currently playing track forward or backwards by the specified delta time, in seconds.&lt;br /&gt;
* GetArtwork(artworktype): Returns the specified artwork as a data URI, either the file path of external artwork or the base64 encoded image data of embedded artwork. Artwork type can be: &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;disc&amp;quot;, &amp;quot;icon&amp;quot; or &amp;quot;artist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
The following settings can be changed on the preferences page.&lt;br /&gt;
&lt;br /&gt;
* Name: The name of the component&lt;br /&gt;
* User data folder path: The root of the WebView2 user data folder. By default it gets created in your foobar2000 profile directory. When you change the location the old directory will &#039;&#039;&#039;not&#039;&#039;&#039; be moved or deleted automatically.&lt;br /&gt;
* Template file path: The fully-qualified path of the HTML file to be used. The &#039;&#039;&#039;Edit&#039;&#039;&#039; button only works when an HTML editor is associated the the HTML file type and the Edit verb in Explorer.&lt;br /&gt;
* Window size: The size of the window (in samples or seconds) to capture the foobar2000 visualization stream.&lt;br /&gt;
* Reaction alignment: A parameter that allows you to tweak the alignment of the sample window. Positive values start the window behind the playback position; negative values start the window ahead of the playback position.&lt;br /&gt;
* Clear browsing data on startup: The browser data cache will be cleared each time the instance starts.&lt;br /&gt;
* In Private mode: The WebView2 control of the instance runs in &#039;&#039;&#039;In Private&#039;&#039;&#039; mode.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=38065</id>
		<title>Foobar2000:Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=38065"/>
		<updated>2024-07-08T19:25:22Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{fb2k}}&lt;br /&gt;
This page contains most [[foobar2000]] components available at time of history last update.&lt;br /&gt;
&lt;br /&gt;
{{panel|This Page will show only components which are built for at least x86 64-bit versions of Foobar2000. Components which exist in 32-bit version &#039;&#039;&#039;only&#039;&#039;&#039;, are now to be found on [[foobar2000:Legacy_components|Legacy Components]] page. Transition of wiki categories will take some time. Read more, here: [[foobar2000:Version_2.0_Release_Notes|Release Notes Version 2.0]]|color=green}}&lt;br /&gt;
&lt;br /&gt;
==Official components==&lt;br /&gt;
The following components are created and maintained by the foobar2000 development team. Support for them should be asked for in the [https://hydrogenaud.io/index.php/board,29.0.html Support forum].&lt;br /&gt;
&lt;br /&gt;
===Included in the installer===&lt;br /&gt;
====Required components====&lt;br /&gt;
The following components are required for installation, in addition to foobar2000 Core module. These components are installed when type of installation is Minimal.&lt;br /&gt;
&lt;br /&gt;
* [[Foobar2000:Components/Default user interface (foo ui std)|Default user interface (foo_ui_std)]] · Allows complex layout using building blocks that are called UI Elements, many of them already present after the installation. Additional Components, which are incorporated in Default user interface, are: Album List, Decoding Speed Test and File Integrity Verifier.&lt;br /&gt;
* Standard DSP Array (foo_dsp_std) · Equalizer, resampler, advanced limiter, hard limiter, stereo to 4 channel upmixer and a couple other effects.&lt;br /&gt;
* Standard Input Array (foo_input_std), which includes additional Components: CD Audio Decoder, FFmpeg Decoders and Monkey&#039;s Audio Decoder.&lt;br /&gt;
&lt;br /&gt;
====Optional components====&lt;br /&gt;
[[Image:Optional_features.png|thumb|The Optional Features screen of the foobar2000 installer]]&lt;br /&gt;
In addition to foobar2000&#039;s core functionality, following components can be installed as needed, through choice of Type of install.&lt;br /&gt;
&lt;br /&gt;
If selected &amp;quot;Normal&amp;quot;, following components will be included, cumulative to Minimal:&lt;br /&gt;
* [[Foobar2000:Converter|Converter (foo_converter)]] · Converts files to WAV or any other formats using command line encoders.&lt;br /&gt;
* [[Foobar2000:Equalizer DSP|Equalizer DSP (foo_dsp_eq)]] · Equalizer DSP (foo_dsp_eq) · An 18-band graphic equalizer based on SuperEQ library.&lt;br /&gt;
&lt;br /&gt;
If selected &amp;quot;Full&amp;quot;, following additional components will be included, cumulative to Normal and Minimal:&lt;br /&gt;
* [[Foobar2000:Archive Reader (foo_unpack)|Archive Reader (foo_unpack)]] · Adds support for playing files directly from ZIP RAR and GZIP archives.&lt;br /&gt;
* [[Foobar2000:Components/Freedb_Tagger_(foo_freedb2)|Freedb Tagger (foo_freedb2)]] · Tag retrieving support from freedb service for any set of files (mp3,mpc,flac,...-not only CDDA tracks).&lt;br /&gt;
* [[Foobar2000:File Operations (foo_fileops)|File Operations (foo_fileops)]] · Renames, moves, or copies files according to specified patterns.&lt;br /&gt;
&lt;br /&gt;
===Additional components===&lt;br /&gt;
These components are provided as separate downloads, found on the [http://www.foobar2000.org/components/author/Peter Official Components page]. &lt;br /&gt;
*[[Foobar2000:Components/ABX Comparator (foo abx)|ABX comparator (foo_abx)]] · Performs a double-blind listening test between two tracks.&lt;br /&gt;
*[[Foobar2000:Components/AdPlug (foo_adplug)|AdPlug (foo_adplug)]] Decoding support for all Adlib FM chip formats supported by the AdPlug library.&lt;br /&gt;
*[[Foobar2000:Components/ASIO Output (foo_out_asio)|ASIO Output (foo_out_asio)]] · Provides ASIO output support.&lt;br /&gt;
*[[Foobar2000:Components/Audio CD Writer (foo_burninate)|Audio CD Writer (foo_burninate)]] · CD burning support.&lt;br /&gt;
*[[Foobar2000:Components/Classical User Interface (foo_ui_classic)|Classical User Interface (foo_ui_classic)]] · The Default User Interface from early foobar2000 versions.&lt;br /&gt;
*[[Foobar2000:Components/Command-Line Decoder Wrapper (foo_input_exe)|Command-Line Decoder Wrapper (foo_input_exe)]] · Allows to play or convert any audio format with a standalone command-line decoder available.&lt;br /&gt;
*[[Foobar2000:Components/DEAF Module Decoder (foo_deaf)|DEAF Module Decoder (foo_deaf)]] · Plays module files: MOD, S3M, XM, IT, 669, PTM, PSM, MTM and UMX.&lt;br /&gt;
*[[Foobar2000:Components/FFmpeg Decoder Wrapper (foo_input_ffmpeg)|FFmpeg Decoder Wrapper (foo_input_ffmpeg)]] · Allows foobar2000 to read arbitrary file formats via user-supplied ffmpeg.exe and ffprobe.exe.&lt;br /&gt;
* [[Foobar2000:Components/Game Music Emu Decoder (foo_input_gme)|Game Music Emu Decoder (foo_input_gme)]]· plays several emulation formats, based on the &amp;quot;Game_Music_Emu&amp;quot; audio library by Shay Green&lt;br /&gt;
*[[Foobar2000:Components/Masstagger (foo_masstag)|Masstagger (foo_masstag)]] · Automates various tag editing operations.&lt;br /&gt;
* [[Foobar2000:Components/Monkey&#039;s Audio Decoder (foo_input_monkey)|Monkey&#039;s Audio Decoder (foo_input_monkey)]] Adds decoding support for Monkey&#039;s Audio files (.[[APE]]) as well as APE Link files (.[[APL]]).&lt;br /&gt;
*[[Foobar2000:Components/OpenMPT Module Decoder (foo_openmpt54)|OpenMPT Module Decoder (foo_openmpt54)]] · This component decodes modules, or music files combining both samples and sequence data and effects, using libopenmpt.&lt;br /&gt;
*[[Foobar2000:Components/Playback Statistics v3.x (foo playcount)|Playback Statistics (foo playcount)]] Collects playback statistics for your Media Library content.&lt;br /&gt;
*[[Foobar2000:Components/Quick Tagger (foo_quicktag)|Quick Tagger (foo_quicktag)]] · Adds customizable context menu commands for quickly setting tag fields to preconfigured values.&lt;br /&gt;
*[[Foobar2000:Components/Text Tools (foo texttools)|Text Tools (foo_texttools)]] · Adds customizable context menu commands for copying information about the selected tracks to Windows Clipboard. &lt;br /&gt;
*[[Foobar2000:Components/Utility DSP Array (foo_dsp_utility)|Utility DSP Array (foo_dsp_utility)]] · Contains the following utility DSP modules: Add Noise, DC Offset, Sample Offset, Scale, Upmix, Stereo Balance.&lt;br /&gt;
*[[Foobar2000:Components/UPnP MediaRenderer Output (foo_out_upnp)|UPnP MediaRenderer Output (foo_out_upnp)]] · Presents any UPnP MediaRenderer devices present on your home network as foobar2000 output devices.&lt;br /&gt;
*[[Foobar2000:Components/VST 2.x/3.x Adapter (foo_dsp_vst3)|VST 2.x/3.x Adapter (foo_dsp_vst3)]] · Allows VST effects to be used as DSPs in foobar2000.&lt;br /&gt;
&lt;br /&gt;
==3rd party components==&lt;br /&gt;
The following components are created and maintained by 3rd-party authors, using foobar2000&#039;s [http://www.foobar2000.org/SDK.html SDK]. Support for these components should be asked for in the [https://hydrogenaud.io/index.php/board,33.0.html 3rd Party Plugins forum]. Asking for help directly in the component&#039;s thread is usually preferred.&lt;br /&gt;
=== User Interface Modules ===&lt;br /&gt;
&lt;br /&gt;
==== Columns UI ====&lt;br /&gt;
[[Foobar2000:Components/Columns UI (foo_ui_columns)|Columns UI (foo_ui_columns)]] · Very popular alternate interface for foobar2000 based on a columns and panel layout.&lt;br /&gt;
&lt;br /&gt;
Columns UI introduced components with [[#Panels|panel]] capability which extend the user interface.&lt;br /&gt;
&lt;br /&gt;
=== User interface add-ons ===&lt;br /&gt;
==== UI elements ====&lt;br /&gt;
The [[Foobar2000:Components/Default user interface (foo_ui_std)|default user interface (foo_ui_std)]] · Included in the standard installation package, can be extended with the following component(s):&lt;br /&gt;
* [[Foobar2000:Components/Coverflow (foo coverflow)|Coverflow (foo_coverflow)]] · Interactive 3D Coverflow.&lt;br /&gt;
* [[Foobar2000:Components/Floating window (foo_flowin)|Floating window (foo_flowin)]] ·  a component that host Default UI elements.&lt;br /&gt;
* [[Foobar2000:Components/JScript Panel 3 (foo_jscript_panel3)|JScript Panel 3 (foo_jscript_panel3)]] · a component which allows creation of customisable panels that can be written with JavaScript rather than the C++ required by the foobar2000 SDK.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Minibar (mod) (foo_wave_minibar_mod)|Waveform Minibar (mod) (foo_wave_minibar_mod)]] · Element for DUI with seekbar functionality on top of the waveform of the playing song.&lt;br /&gt;
&lt;br /&gt;
==== Panels ====&lt;br /&gt;
Panels extend the functionality of Columns UI components.&lt;br /&gt;
* [[Foobar2000:Components/Album List Panel (foo_uie_albumlist)|Album List Panel (foo_uie_albumlist)]] · Displays the database in a treeview using customizable sorting methods (by genre, artist, directory, etc.)&lt;br /&gt;
* [[Foobar2000:Components/Console_(foo_uie_console)|Console (foo_uie_console)]] · Panel version of console. Displays diagnostic messages. Requires Columns UI 0.1.3 beta 1 or newer.&lt;br /&gt;
* [[Foobar2000:Components/JScript Panel 3 (foo_jscript_panel3)|JScript Panel 3 (foo_jscript_panel3)]] · a component which allows creation of customisable panels that can be written with JavaScript rather than the C++ required by the foobar2000 SDK.&lt;br /&gt;
* [[Foobar2000:Components/Popup Panels (foo_popup_panels)|Popup Panels (foo_popup_panels)]] · This component allows displaying ColumnsUI panels in a popup window.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Minibar (mod) (foo_wave_minibar_mod)|Waveform Minibar (mod) (foo_wave_minibar_mod)]] · Waveform Minibar (mod) is a seekbar that shows the waveform of the track.&lt;br /&gt;
*[[foobar2000:Components/WebView (foo_uie_webview)|WebView (foo_uie_webview)]] · Exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
===DSP===&lt;br /&gt;
====Converters====&lt;br /&gt;
* [[Foobar2000:Components/SRC Resampler DSP (foo_dsp_src_resampler)|SRC Resampler DSP (foo_dsp_src_resampler)]] · Secret Rabbit Code resampler.&lt;br /&gt;
&lt;br /&gt;
====Effects====&lt;br /&gt;
* [[Foobar2000:Components/Crossmix DSP (foo_dsp_crossmix)|Crossmix DSP (foo_dsp_crossmix)]] · Mixes the beginning of the next track over the ending of the previous track without any fading.&lt;br /&gt;
* [[Foobar2000:Components/Effect DSP (foo_dsp_effect)|Effect DSP (foo_dsp_effect)]] · Adds miscellaneous effects.&lt;br /&gt;
* [[Foobar2000:Components/Fade In-Out DSP (foo_dsp_fadeinout)|Fade In/Out DSP (foo_dsp_fadeinout)]] · Allows adding linear, sine, cosine, or logarithmic shaped fade-in and fade-out effects.&lt;br /&gt;
* [[Foobar2000:Components/Vocal Exciter DSP (foo_dsp_vocal_exciter)|Vocal Exciter DSP (foo_dsp_vocal_exciter)]] · Adds harmonically related distortion to high frequencies to give more presence.&lt;br /&gt;
&lt;br /&gt;
====Headphones====&lt;br /&gt;
* [[Foobar2000:Components/MathAudio Headphone EQ (foo_headphone_eq)|MathAudio Headphone EQ (foo_headphone_eq)]] · Helps to detect and compensate for the unwanted resonances in high-quality headphones and earphones.&lt;br /&gt;
&lt;br /&gt;
====Multichannel audio====&lt;br /&gt;
* [[Foobar2000:Components/Downmixer DSP (foo_dsp_downmixer)|Downmixer DSP (foo_dsp_downmixer)]] · Downmixes source to the selected output format.&lt;br /&gt;
* [[Foobar2000:Components/Trifield LR-LRC Decoder DSP (foo_dsp_trifield)|Trifield LR→LRC Decoder DSP (foo_dsp_trifield)]] · Implementation of Michael Gerzon&#039;s Trifield decoder.&lt;br /&gt;
&lt;br /&gt;
====Multi-purpose====&lt;br /&gt;
* [[Foobar2000:Components/MathAudio Room EQ (foo_room_eq)|MathAudio Room EQ (foo_room_eq)]] · Corrects deficiencies of room acoustics (multipoint compensation).&lt;br /&gt;
* [[Foobar2000:Components/mda Dither DSP (foo_dsp_mdadither)|mda Dither DSP (foo_dsp_mdadither)]] · Range of dither types for word-length reduction.&lt;br /&gt;
* [[Foobar2000:Components/Stereo Convolver (foo_dsp_stereoconv)|Stereo Convolver (foo_dsp_stereoconv)]] · Take stereo audio and convolve each channel with two impulse responses.&lt;br /&gt;
&lt;br /&gt;
====Utilities====&lt;br /&gt;
* [[Foobar2000:Components/Post-track Silence (foo_dsp_silence)|Affix silence (foo_dsp_silence)]] Inserts a configurable amount of silence after each track to help external devices like MiniDisc players to sync track changes.&lt;br /&gt;
* [[Foobar2000:Components/Amplifier DSP (foo_dsp_amp)|Amplifier DSP (foo_dsp_amp)]] · A simple volume adjustment DSP allowing the signal amplitude to be both boosted and lowered.&lt;br /&gt;
* [[Foobar2000:Components/EBU R128 Normalizer (foo_r128norm)|EBU R128 Normalizer (foo_r128norm)]] · This component provides a simple DSP for normalizing audio tracks using a running windowed calculation of the EBU R-128 standard.&lt;br /&gt;
* [[Foobar2000:Components/Fake Gapless DSP (foo_dsp_fakegapless)|Fake Gapless DSP (foo_dsp_fakegapless)]] · Briefly fades track changes to silence to avoid glitches with gapless tracks when encoded with lossy codecs.&lt;br /&gt;
* [[Foobar2000:Components/GAP Killer (foo_dsp_nogaps)|Gap Killer DSP (foo_dsp_nogaps)]] · Removes silence from track transitions.&lt;br /&gt;
* [[Foobar2000:Components/Hard Clip DSP (foo_dsp_hardclip)|Hard Clip DSP (foo_dsp_hardclip)]] · Clips peaks forcing foobar2000 output to match players that don&#039;t support floating point output.&lt;br /&gt;
* [[foobar2000:Components/Noise Sharpening (foo_dsp_delta)|Noise Sharpening (foo_dsp_delta)]] · This component boosts high frequencies.&lt;br /&gt;
* [[Foobar2000:Components/Pregap DSP (foo_dsp_pregap)|Pregap DSP (foo_dsp_pregap)]] · Inserts silence before real playback begins.&lt;br /&gt;
* [[Foobar2000:Components/ReplayGain DSP (foo_dsp_replaygain)|ReplayGain DSP (foo_dsp_replaygain)]] · ﻿Alternative ReplayGain implementation with support for smarter automatic mode selection.&lt;br /&gt;
* [[Foobar2000:Components/Skip Silence DSP (foo_dsp_skip_silence)|Skip Silence DSP (foo_dsp_skip_silence)]] · Automatically fast forwards over extended periods of silence.&lt;br /&gt;
* [[Foobar2000:Components/Smart Dither DSP (foo_dsp_dither)|Smart Dither DSP (foo_dsp_dither)]] · TPDF dither DSP that leaves digital silence untouched.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
====Music decoders====&lt;br /&gt;
* [[Foobar2000:Components/DVD Audio Decoder (foo_input_dvda)|DVD Audio Decoder (foo_input_dvda)]] · Decodes DVD Audio ([[DVD Audio]]) Disks.&lt;br /&gt;
* [[Foobar2000:Components/OptimFROG Decoder_(foo_input_ofr)|OptimFROG Decoder (foo_input_ofr)]] · Decodes OptimFROG audio format.&lt;br /&gt;
* [[foobar2000:Components/QOA Audio Decoder (foo_qoa)|QOA Audio Decoder (foo_qoa)]] · Decodes the Quite OK Audio (QOA) format.&lt;br /&gt;
* [[Foobar2000:Components/TAK Decoder (foo_input_tak)|TAK Decoder (foo_input_tak)]] · Adds support for decoding and tagging [[TAK]] files as well as reading embedded album art.&lt;br /&gt;
* [[Foobar2000:Components/TTA Audio Decoder (foo_input_tta)|TTA Audio Decoder (foo_input_tta)]] · Decodes True Audio ([[TTA]]) audio format.&lt;br /&gt;
&lt;br /&gt;
====Other decoders====&lt;br /&gt;
* [[Foobar2000:Components/Another Slight Atari Player (foo_asap)|Another Slight Atari Player (foo_asap)]]· adds playback of Atari 8-bit chiptunes to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/MIDI Player (foo_midi)|MIDI Player (foo_midi)]] · adds playback of MIDI files to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/sidplay (foo_sid)|SID Player (foo_sid)]] · adds playback of SID and MUS files to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/V2M Decoder (foo_input_v2m)|V2M Decoder (foo_input_v2m)]] · Farbrausch V2 module (V2M) decoder.&lt;br /&gt;
* [[Fobar2000:Components/vgmstream decoder (foo_input_vgmstrean)|vgmstream decoder]] (foo_input_vgmstrean) · allows playback of hundreds of streamed (prerecorded) audio formats used in video games.&lt;br /&gt;
&lt;br /&gt;
===Visualisation===&lt;br /&gt;
* [[Foobar2000:Components/ProjectM Visualisation (foo_vis_projectM)|ProjectM Visualisation (foo_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.&lt;br /&gt;
* [[Foobar2000:Components/Enhanced Spectrum Analyzer (foo enhanced spectrum analyzer)|Enhanced Spectrum Analyzer (foo_enhanced_spectrum_analyzer)]] Displays a detailed FFT spectrum in a logarithmic frequency scale.&lt;br /&gt;
* [[Foobar2000:Components/Loudness Peakmeter (foo loudness peakmeter)|Loudness Peakmeter (foo_loudness_peakmeter)]] Displays a loudness meter and graph in real-time.&lt;br /&gt;
* [[Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)|Spectrum Analyzer (foo_vis_spectrum_analyzer)]] Display an audio spectrum visualization. Currently a remake of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 64-bit versions&lt;br /&gt;
* [[foobar2000:Components/MIDI Visualizer (foo_vis_midi)|MIDI Visualizer (foo_vis_midi)]] Visualize MIDI events.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
====General====&lt;br /&gt;
* [[Foobar2000:Components/Cover Info (foo_cover_info)|Cover Info (foo_cover_info)]] · This component scans a selection of files for embedded album art and stores the results in a database.&lt;br /&gt;
* [[Foobar2000:Components/Cover Resizer (foo_cover_resizer)|Cover Resizer (foo_cover_resizer)]] · Utilities for manipulating embedded art of files from within of foobar 2000.&lt;br /&gt;
* [[Foobar2000:Components/Loop (foo_loop)|Loop (foo_loop)]] · This component offers looping in a track.&lt;br /&gt;
* [[Foobar2000:Components/Metronome (foo_metronome)|Metronome (foo_metronome)]] · a simple console metronome.&lt;br /&gt;
* [[Foobar2000:Components/No Display Standby (foo_nds)|No Display Standby (foo_nds)]] · This component disables monitor power saving feature while music is playing.&lt;br /&gt;
* [[Foobar2000:Components/No Sleep (foo_nosleep)|No Sleep (foo_nosleep)]] · Prevents system from entering standby mode while foobar2000 is running.&lt;br /&gt;
* [[Foobar2000:Components/Preview (foo_preview)|Preview (foo_preview)]] · Plays first seconds of consecutive tracks.&lt;br /&gt;
* [[Foobar2000:Components/QSearch (foo_qsearch|QSearch (foo_qsearch)]] · Provides 6 context menu items to create playlists or open a search window from the selected track&#039;s metadata.&lt;br /&gt;
* [[Foobar2000:Components/Quicksearch UI Element (foo quicksearch)|Quicksearch UI Element (foo_quicksearch)]] Search toolbar that sends results to a playlist.&lt;br /&gt;
* [[Foobar2000:Components/Replaygain Override (foo rg trn)|Replaygain Override (foo rg trn)]] · Provides a way to specify which replaygain modes to use for each playback order.&lt;br /&gt;
* [[Foobar2000:Components/Renamer (foo_renamer)|Renamer (foo_renamer)]] · An alternative file renamer for people who wish to configure reserved character replacement rules manually.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Run (foo_run)|Run Services (foo_run)]] · Allows you to run a external program with the foobar syntax.&lt;br /&gt;
* [[Foobar2000:Components/Run Main (foo_run_main)|Run Main (foo_run_main)]] · This component has full support for dynamically generated menu commands.&lt;br /&gt;
* [[Foobar2000:Components/Scheduler Mod (foo_scheduler_mod)|Scheduler Mod (foo_scheduler_mod)]] Plugin for scheduling actions like play, stop, system shutdown/wake up and many more.&lt;br /&gt;
* [[Foobar2000:Components/Seekbox (foo_seek_box)|Seekbox (foo_seek_box)]] · Main menu item that pops up a box for seeking to a particular hh:mm:ss time in the current track.&lt;br /&gt;
* [[Foobar2000:Components/Seek to Time (foo_seek_to_time)|Seek to Time (foo_seek_to_time)]] · This component allows defining timestamps to directly seek to with keyboard shortcuts.&lt;br /&gt;
* [[Foobar2000:Components/Stop after Album (foo_stopafteralbum)|Stop after Album (foo_stopafteralbum)]] · This component allows stop playing according to defined tags.&lt;br /&gt;
* [[Foobar2000:Components/SQL Tree (foo_uie_sql_tree)|SQL Tree (foo_uie_sql_tree)]] · This component makes possible viewing the media library in a tree structure using SQL queries.&lt;br /&gt;
* [[Foobar2000:Components/SQLite Utilities (foo_sqlite)|SQLite Utilities (foo_sqlite)]] · This component allows viewing and changing the contents of the media library and the playlists by using SQL statements.&lt;br /&gt;
* [[Foobar2000:Components/SVG services (foo_svg_services)|SVG services (foo_svg_services)]] · This component provides an SVG renderer, for use by other foobar2000 components.&lt;br /&gt;
* [[Foobar2000:Components/Timebomb (foo_timebomb)|Timebomb (foo_timebomb)]] · Stop playback / exit program after a specified time.&lt;br /&gt;
* [[Foobar2000:Components/Timebomb2 (foo_timebomb2)|Timebomb2 (foo_timebomb2)]] · Stop playing after predefined time.&lt;br /&gt;
* [[Foobar2000:Components/PGGB-RT (foo pggb rt)|PGGB-RT (foo_pggt_rt)]] Real-time implementation of Remastero&#039;s PGGB resampling algorithm implemented as foobar2000 component. Only available as 64-bit component.&lt;br /&gt;
* [[Foobar2000:Components/Vital_Bookmarks_(foo_vbookmark)|Vital Bookmarks (foo_vbookmark)]] · Provides playback bookmark functionality.&lt;br /&gt;
&lt;br /&gt;
====Lyrics====&lt;br /&gt;
* [[Foobar2000:Components/ESlyric (foo_uie_eslyric)|ESlyrics (foo_uie_eslyric)]] · Alternative lyric show component.&lt;br /&gt;
* [[Foobar2000:Components/Lyrics Show Panel 3 (foo_uie_lyrics3)|Lyrics Show Panel 3 (foo_uie_lyrics3)]] · Component which can download and display both timestamped and text only lyrics.&lt;br /&gt;
* [[foobar2000:Components/OpenLyrics (foo_openlyrics)|OpenLyrics (foo_openlyrics)]] · Modern replacement for Lyric Show Panel 3.&lt;br /&gt;
&lt;br /&gt;
====Notifier====&lt;br /&gt;
* [[Foobar2000:Components/Taskbar Playback Progress Bar (foo_taskbar_playback_progress_bar)|Taskbar Playback Progress Bar (foo_taskbar_playback_progress_bar)]] · Recompile of foo_taskbar_playback_progress_bar by Alexey V. Grishin. Fixed potential divide by zero crash and added 64-bit support.&lt;br /&gt;
&lt;br /&gt;
====Online database====&lt;br /&gt;
* [[Foobar2000:Components 0.9/Audioscrobbler (foo_audioscrobbler)|Audioscrobbler (foo_audioscrobbler)]] · Audioscrobbler will send the name of every song you play on your computer to [https://www.last.fm/ Last.fm].&lt;br /&gt;
* [[Foobar2000:Components/Last.fm. Playcount Sync (foo_lastfm_playcount_sync)|Last.fm. Playcount Sync (foo_lastfm_playcount_sync)]] · This component fetches [https://www.last.fm/ Last.fm] playcounts and first played/last played dates as you listen.&lt;br /&gt;
* [[Foobar2000:Components/Scrobble (foo_scrobble)|Scrobble (foo_scrobble)]] · This is component for scrobbling to [https://www.last.fm/ Last.fm]&lt;br /&gt;
&lt;br /&gt;
====Online radio/video ====&lt;br /&gt;
* [[Foobar2000:Components/Youtube (foo_youtube)|Youtube (foo_youtube)]] · This component adds possibility to play Youtube, Vimeo and Dailymotion clips directly by their URL.&lt;br /&gt;
&lt;br /&gt;
====Playlist tools====&lt;br /&gt;
* [[Foobar2000:Components/Cue Fix (foo_cue_fix)|Cue Fix (foo_cue_fix)]] · Component for foobar2000 to fix CUE/FLAC,APE,WAVE problems.&lt;br /&gt;
* [[Foobar2000:Components/Cuesheet_Creator_(foo_cuesheet_creator)|Cuesheet Creator(foo_cuesheet_creator)]] · Component for generating cuesheet from playlist.&lt;br /&gt;
* [[Foobar2000:Components/Play Next (foo_play_next)|Play Next (foo_play_next)]] · Adds the selected track to the beginning of the playback queue to be played next.&lt;br /&gt;
* [[Foobar2000:Components/Play Track (foo_play_track)|Play Track (foo_play_track)]] · Adds a Play Track submenu to the main Playback menu.&lt;br /&gt;
* [[Foobar2000:Components/Playlist Attributes (foo_playlist_attributes)|Playlist Attributes (foo_playlist_attributes)]] · This component uses allows assigning various attributes to a playlist.&lt;br /&gt;
* [[Foobar2000:Components/Playlist Fix (foo_playlist_fix)|Playlist Fix (foo_playlist_fix)]] · This component uses title formatting to match dead playlist items against library items and updates the playlist entries.&lt;br /&gt;
* [[Foobar2000:Components/Playlist_Tour_(foo_playlisttour)|Playlist Tour (foo_playlisttour)]] · Recently activated playlists prev/next history navigation.&lt;br /&gt;
* [[Foobar2000:Components/Random Pools (foo_random_pools)|Random Pools (foo_random_pools)]] · is component for creating random playlist entries selected and grouped by various pool definitions.&lt;br /&gt;
* [[Foobar2000:Components/Inactive Tracks (foo_skip)|Skip Track (foo_skip)]] · Skips tracks that are marked via a tag as inactive.&lt;br /&gt;
&lt;br /&gt;
====Playback statistics====&lt;br /&gt;
* [[Foobar2000:Components/foo enhanced playcount|Enhanced Playback Statistics (foo_enhanced_playcount)]] · This component collects and maintains enhanced statistics for played songs.&lt;br /&gt;
* [[Foobar2000:Components/Statistics (foo_statistics)|Statistics (foo_statistics)]] · Collects all kind of foobar2000 statistics and prints them to console.&lt;br /&gt;
&lt;br /&gt;
====Remote control====&lt;br /&gt;
&lt;br /&gt;
* [[Foobar2000:Components/Beefweb Remote Control (foo_beefweb)|Beefweb Remote Control (foo_beefweb)]] · Provides web interface and REST-like API for controlling player remotely.&lt;br /&gt;
* [[Foobar2000:Components/HTTP Remote Control (foo_httpcontrol)|HTTP Remote Control (foo_httpcontrol)]] · is a remote control component for the foobar2000 player.&lt;br /&gt;
&lt;br /&gt;
====Tagging====&lt;br /&gt;
* [[Foobar2000:Components/BPM Analyser (foo_bpm)|BPM Analyser (foo_bpm)]] Automatically calculate the BPM of songs. Manual BPM calculation also available.&lt;br /&gt;
* [[Foobar2000:Components/Discogger_(foo_discogger)|Discogger (foo_discogger)]] · Retrieve info and album art from Discogs.com database.&lt;br /&gt;
* [[Foobar2000:Components/External Tags (foo_external_tags)|External Tags (foo_external_tags)]] · This component adds tagging support for non-taggable file formats.&lt;br /&gt;
* [[Foobar2000:Components/MusicBrainz Tagger_(foo_musicbrainz)|MusicBrainz Tagger_(foo_musicbrainz)]] · Musicbrainz tagger.&lt;br /&gt;
* [[Foobar2000:Components/MusicBrainz64_(foo_musicbrainz64)|MusicBrainz64 (foo_musicbrainz64)]] · Musicbrainz tagger (alternative).&lt;br /&gt;
* [[Foobar2000:Components 1.0/TagBox component (foo_tagbox)|TagBox (foo_tagbox))]] · Tag editing UI element (no pop-up dialog needed) and standalone window.&lt;br /&gt;
* [[Foobar2000:Components/Tag Normalizer (foo_tag_normalizer)|Tag Normalizer (foo_tag_normalizer)]] · This component Normalizes Unicode characters in tags.&lt;br /&gt;
&lt;br /&gt;
====Utilities====&lt;br /&gt;
* [[Foobar2000:Components/Audio MD5 (foo_audiomd5)|Audio MD5 (foo_audiomd5)]] · Component for generating and verifying MD5 checksum of audio data.&lt;br /&gt;
* [[Foobar2000:Components/Feature Watcher (foo_whatsnew)|Feature Watcher (foo_whatsnew)]] · This Component watches available features and reports changes.&lt;br /&gt;
* [[Foobar2000:Components/Recorder (foo_record)|Recorder (foo_record)]] · Record audio from selected sound card input.&lt;br /&gt;
&lt;br /&gt;
===Output===&lt;br /&gt;
====Interfaces====&lt;br /&gt;
* [[Foobar2000:Components/WASAPI shared output (foo_out_wasapis)|WASAPI shared output (foo_out_wasapis)]] · Shared mode WASAPI output for Vista and newer Windows versions.&lt;br /&gt;
* [[Foobar2000:Components/WASAPI shared output (debug) (foo_out_wasapis_debug)|WASAPI shared output (foo_out_wasapis_debug)]] · Shared mode WASAPI output for Vista and newer Windows versions, with additional debugging capabilities.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* {{foobar2000|http://www.foobar2000.org/components|Components Repository}}&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=38064</id>
		<title>Foobar2000:Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=38064"/>
		<updated>2024-07-08T19:24:10Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{fb2k}}&lt;br /&gt;
This page contains most [[foobar2000]] components available at time of history last update.&lt;br /&gt;
&lt;br /&gt;
{{panel|This Page will show only components which are built for at least x86 64-bit versions of Foobar2000. Components which exist in 32-bit version &#039;&#039;&#039;only&#039;&#039;&#039;, are now to be found on [[foobar2000:Legacy_components|Legacy Components]] page. Transition of wiki categories will take some time. Read more, here: [[foobar2000:Version_2.0_Release_Notes|Release Notes Version 2.0]]|color=green}}&lt;br /&gt;
&lt;br /&gt;
==Official components==&lt;br /&gt;
The following components are created and maintained by the foobar2000 development team. Support for them should be asked for in the [https://hydrogenaud.io/index.php/board,29.0.html Support forum].&lt;br /&gt;
&lt;br /&gt;
===Included in the installer===&lt;br /&gt;
====Required components====&lt;br /&gt;
The following components are required for installation, in addition to foobar2000 Core module. These components are installed when type of installation is Minimal.&lt;br /&gt;
&lt;br /&gt;
* [[Foobar2000:Components/Default user interface (foo ui std)|Default user interface (foo_ui_std)]] · Allows complex layout using building blocks that are called UI Elements, many of them already present after the installation. Additional Components, which are incorporated in Default user interface, are: Album List, Decoding Speed Test and File Integrity Verifier.&lt;br /&gt;
* Standard DSP Array (foo_dsp_std) · Equalizer, resampler, advanced limiter, hard limiter, stereo to 4 channel upmixer and a couple other effects.&lt;br /&gt;
* Standard Input Array (foo_input_std), which includes additional Components: CD Audio Decoder, FFmpeg Decoders and Monkey&#039;s Audio Decoder.&lt;br /&gt;
&lt;br /&gt;
====Optional components====&lt;br /&gt;
[[Image:Optional_features.png|thumb|The Optional Features screen of the foobar2000 installer]]&lt;br /&gt;
In addition to foobar2000&#039;s core functionality, following components can be installed as needed, through choice of Type of install.&lt;br /&gt;
&lt;br /&gt;
If selected &amp;quot;Normal&amp;quot;, following components will be included, cumulative to Minimal:&lt;br /&gt;
* [[Foobar2000:Converter|Converter (foo_converter)]] · Converts files to WAV or any other formats using command line encoders.&lt;br /&gt;
* [[Foobar2000:Equalizer DSP|Equalizer DSP (foo_dsp_eq)]] · Equalizer DSP (foo_dsp_eq) · An 18-band graphic equalizer based on SuperEQ library.&lt;br /&gt;
&lt;br /&gt;
If selected &amp;quot;Full&amp;quot;, following additional components will be included, cumulative to Normal and Minimal:&lt;br /&gt;
* [[Foobar2000:Archive Reader (foo_unpack)|Archive Reader (foo_unpack)]] · Adds support for playing files directly from ZIP RAR and GZIP archives.&lt;br /&gt;
* [[Foobar2000:Components/Freedb_Tagger_(foo_freedb2)|Freedb Tagger (foo_freedb2)]] · Tag retrieving support from freedb service for any set of files (mp3,mpc,flac,...-not only CDDA tracks).&lt;br /&gt;
* [[Foobar2000:File Operations (foo_fileops)|File Operations (foo_fileops)]] · Renames, moves, or copies files according to specified patterns.&lt;br /&gt;
&lt;br /&gt;
===Additional components===&lt;br /&gt;
These components are provided as separate downloads, found on the [http://www.foobar2000.org/components/author/Peter Official Components page]. &lt;br /&gt;
*[[Foobar2000:Components/ABX Comparator (foo abx)|ABX comparator (foo_abx)]] · Performs a double-blind listening test between two tracks.&lt;br /&gt;
*[[Foobar2000:Components/AdPlug (foo_adplug)|AdPlug (foo_adplug)]] Decoding support for all Adlib FM chip formats supported by the AdPlug library.&lt;br /&gt;
*[[Foobar2000:Components/ASIO Output (foo_out_asio)|ASIO Output (foo_out_asio)]] · Provides ASIO output support.&lt;br /&gt;
*[[Foobar2000:Components/Audio CD Writer (foo_burninate)|Audio CD Writer (foo_burninate)]] · CD burning support.&lt;br /&gt;
*[[Foobar2000:Components/Classical User Interface (foo_ui_classic)|Classical User Interface (foo_ui_classic)]] · The Default User Interface from early foobar2000 versions.&lt;br /&gt;
*[[Foobar2000:Components/Command-Line Decoder Wrapper (foo_input_exe)|Command-Line Decoder Wrapper (foo_input_exe)]] · Allows to play or convert any audio format with a standalone command-line decoder available.&lt;br /&gt;
*[[Foobar2000:Components/DEAF Module Decoder (foo_deaf)|DEAF Module Decoder (foo_deaf)]] · Plays module files: MOD, S3M, XM, IT, 669, PTM, PSM, MTM and UMX.&lt;br /&gt;
*[[Foobar2000:Components/FFmpeg Decoder Wrapper (foo_input_ffmpeg)|FFmpeg Decoder Wrapper (foo_input_ffmpeg)]] · Allows foobar2000 to read arbitrary file formats via user-supplied ffmpeg.exe and ffprobe.exe.&lt;br /&gt;
* [[Foobar2000:Components/Game Music Emu Decoder (foo_input_gme)|Game Music Emu Decoder (foo_input_gme)]]· plays several emulation formats, based on the &amp;quot;Game_Music_Emu&amp;quot; audio library by Shay Green&lt;br /&gt;
*[[Foobar2000:Components/Masstagger (foo_masstag)|Masstagger (foo_masstag)]] · Automates various tag editing operations.&lt;br /&gt;
* [[Foobar2000:Components/Monkey&#039;s Audio Decoder (foo_input_monkey)|Monkey&#039;s Audio Decoder (foo_input_monkey)]] Adds decoding support for Monkey&#039;s Audio files (.[[APE]]) as well as APE Link files (.[[APL]]).&lt;br /&gt;
*[[Foobar2000:Components/OpenMPT Module Decoder (foo_openmpt54)|OpenMPT Module Decoder (foo_openmpt54)]] · This component decodes modules, or music files combining both samples and sequence data and effects, using libopenmpt.&lt;br /&gt;
*[[Foobar2000:Components/Playback Statistics v3.x (foo playcount)|Playback Statistics (foo playcount)]] Collects playback statistics for your Media Library content.&lt;br /&gt;
*[[Foobar2000:Components/Quick Tagger (foo_quicktag)|Quick Tagger (foo_quicktag)]] · Adds customizable context menu commands for quickly setting tag fields to preconfigured values.&lt;br /&gt;
*[[Foobar2000:Components/Text Tools (foo texttools)|Text Tools (foo_texttools)]] · Adds customizable context menu commands for copying information about the selected tracks to Windows Clipboard. &lt;br /&gt;
*[[Foobar2000:Components/Utility DSP Array (foo_dsp_utility)|Utility DSP Array (foo_dsp_utility)]] · Contains the following utility DSP modules: Add Noise, DC Offset, Sample Offset, Scale, Upmix, Stereo Balance.&lt;br /&gt;
*[[Foobar2000:Components/UPnP MediaRenderer Output (foo_out_upnp)|UPnP MediaRenderer Output (foo_out_upnp)]] · Presents any UPnP MediaRenderer devices present on your home network as foobar2000 output devices.&lt;br /&gt;
*[[Foobar2000:Components/VST 2.x/3.x Adapter (foo_dsp_vst3)|VST 2.x/3.x Adapter (foo_dsp_vst3)]] · Allows VST effects to be used as DSPs in foobar2000.&lt;br /&gt;
*[[foobar2000:Components/WebView (foo_uie_webview)|WebView (foo_uie_webview)]] · Exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
==3rd party components==&lt;br /&gt;
The following components are created and maintained by 3rd-party authors, using foobar2000&#039;s [http://www.foobar2000.org/SDK.html SDK]. Support for these components should be asked for in the [https://hydrogenaud.io/index.php/board,33.0.html 3rd Party Plugins forum]. Asking for help directly in the component&#039;s thread is usually preferred.&lt;br /&gt;
=== User Interface Modules ===&lt;br /&gt;
&lt;br /&gt;
==== Columns UI ====&lt;br /&gt;
[[Foobar2000:Components/Columns UI (foo_ui_columns)|Columns UI (foo_ui_columns)]] · Very popular alternate interface for foobar2000 based on a columns and panel layout.&lt;br /&gt;
&lt;br /&gt;
Columns UI introduced components with [[#Panels|panel]] capability which extend the user interface.&lt;br /&gt;
&lt;br /&gt;
=== User interface add-ons ===&lt;br /&gt;
==== UI elements ====&lt;br /&gt;
The [[Foobar2000:Components/Default user interface (foo_ui_std)|default user interface (foo_ui_std)]] · Included in the standard installation package, can be extended with the following component(s):&lt;br /&gt;
* [[Foobar2000:Components/Coverflow (foo coverflow)|Coverflow (foo_coverflow)]] · Interactive 3D Coverflow.&lt;br /&gt;
* [[Foobar2000:Components/Floating window (foo_flowin)|Floating window (foo_flowin)]] ·  a component that host Default UI elements.&lt;br /&gt;
* [[Foobar2000:Components/JScript Panel 3 (foo_jscript_panel3)|JScript Panel 3 (foo_jscript_panel3)]] · a component which allows creation of customisable panels that can be written with JavaScript rather than the C++ required by the foobar2000 SDK.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Minibar (mod) (foo_wave_minibar_mod)|Waveform Minibar (mod) (foo_wave_minibar_mod)]] · Element for DUI with seekbar functionality on top of the waveform of the playing song.&lt;br /&gt;
&lt;br /&gt;
==== Panels ====&lt;br /&gt;
Panels extend the functionality of Columns UI components.&lt;br /&gt;
* [[Foobar2000:Components/Album List Panel (foo_uie_albumlist)|Album List Panel (foo_uie_albumlist)]] · Displays the database in a treeview using customizable sorting methods (by genre, artist, directory, etc.)&lt;br /&gt;
* [[Foobar2000:Components/Console_(foo_uie_console)|Console (foo_uie_console)]] · Panel version of console. Displays diagnostic messages. Requires Columns UI 0.1.3 beta 1 or newer.&lt;br /&gt;
* [[Foobar2000:Components/JScript Panel 3 (foo_jscript_panel3)|JScript Panel 3 (foo_jscript_panel3)]] · a component which allows creation of customisable panels that can be written with JavaScript rather than the C++ required by the foobar2000 SDK.&lt;br /&gt;
* [[Foobar2000:Components/Popup Panels (foo_popup_panels)|Popup Panels (foo_popup_panels)]] · This component allows displaying ColumnsUI panels in a popup window.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Minibar (mod) (foo_wave_minibar_mod)|Waveform Minibar (mod) (foo_wave_minibar_mod)]] · Waveform Minibar (mod) is a seekbar that shows the waveform of the track.&lt;br /&gt;
&lt;br /&gt;
===DSP===&lt;br /&gt;
====Converters====&lt;br /&gt;
* [[Foobar2000:Components/SRC Resampler DSP (foo_dsp_src_resampler)|SRC Resampler DSP (foo_dsp_src_resampler)]] · Secret Rabbit Code resampler.&lt;br /&gt;
&lt;br /&gt;
====Effects====&lt;br /&gt;
* [[Foobar2000:Components/Crossmix DSP (foo_dsp_crossmix)|Crossmix DSP (foo_dsp_crossmix)]] · Mixes the beginning of the next track over the ending of the previous track without any fading.&lt;br /&gt;
* [[Foobar2000:Components/Effect DSP (foo_dsp_effect)|Effect DSP (foo_dsp_effect)]] · Adds miscellaneous effects.&lt;br /&gt;
* [[Foobar2000:Components/Fade In-Out DSP (foo_dsp_fadeinout)|Fade In/Out DSP (foo_dsp_fadeinout)]] · Allows adding linear, sine, cosine, or logarithmic shaped fade-in and fade-out effects.&lt;br /&gt;
* [[Foobar2000:Components/Vocal Exciter DSP (foo_dsp_vocal_exciter)|Vocal Exciter DSP (foo_dsp_vocal_exciter)]] · Adds harmonically related distortion to high frequencies to give more presence.&lt;br /&gt;
&lt;br /&gt;
====Headphones====&lt;br /&gt;
* [[Foobar2000:Components/MathAudio Headphone EQ (foo_headphone_eq)|MathAudio Headphone EQ (foo_headphone_eq)]] · Helps to detect and compensate for the unwanted resonances in high-quality headphones and earphones.&lt;br /&gt;
&lt;br /&gt;
====Multichannel audio====&lt;br /&gt;
* [[Foobar2000:Components/Downmixer DSP (foo_dsp_downmixer)|Downmixer DSP (foo_dsp_downmixer)]] · Downmixes source to the selected output format.&lt;br /&gt;
* [[Foobar2000:Components/Trifield LR-LRC Decoder DSP (foo_dsp_trifield)|Trifield LR→LRC Decoder DSP (foo_dsp_trifield)]] · Implementation of Michael Gerzon&#039;s Trifield decoder.&lt;br /&gt;
&lt;br /&gt;
====Multi-purpose====&lt;br /&gt;
* [[Foobar2000:Components/MathAudio Room EQ (foo_room_eq)|MathAudio Room EQ (foo_room_eq)]] · Corrects deficiencies of room acoustics (multipoint compensation).&lt;br /&gt;
* [[Foobar2000:Components/mda Dither DSP (foo_dsp_mdadither)|mda Dither DSP (foo_dsp_mdadither)]] · Range of dither types for word-length reduction.&lt;br /&gt;
* [[Foobar2000:Components/Stereo Convolver (foo_dsp_stereoconv)|Stereo Convolver (foo_dsp_stereoconv)]] · Take stereo audio and convolve each channel with two impulse responses.&lt;br /&gt;
&lt;br /&gt;
====Utilities====&lt;br /&gt;
* [[Foobar2000:Components/Post-track Silence (foo_dsp_silence)|Affix silence (foo_dsp_silence)]] Inserts a configurable amount of silence after each track to help external devices like MiniDisc players to sync track changes.&lt;br /&gt;
* [[Foobar2000:Components/Amplifier DSP (foo_dsp_amp)|Amplifier DSP (foo_dsp_amp)]] · A simple volume adjustment DSP allowing the signal amplitude to be both boosted and lowered.&lt;br /&gt;
* [[Foobar2000:Components/EBU R128 Normalizer (foo_r128norm)|EBU R128 Normalizer (foo_r128norm)]] · This component provides a simple DSP for normalizing audio tracks using a running windowed calculation of the EBU R-128 standard.&lt;br /&gt;
* [[Foobar2000:Components/Fake Gapless DSP (foo_dsp_fakegapless)|Fake Gapless DSP (foo_dsp_fakegapless)]] · Briefly fades track changes to silence to avoid glitches with gapless tracks when encoded with lossy codecs.&lt;br /&gt;
* [[Foobar2000:Components/GAP Killer (foo_dsp_nogaps)|Gap Killer DSP (foo_dsp_nogaps)]] · Removes silence from track transitions.&lt;br /&gt;
* [[Foobar2000:Components/Hard Clip DSP (foo_dsp_hardclip)|Hard Clip DSP (foo_dsp_hardclip)]] · Clips peaks forcing foobar2000 output to match players that don&#039;t support floating point output.&lt;br /&gt;
* [[foobar2000:Components/Noise Sharpening (foo_dsp_delta)|Noise Sharpening (foo_dsp_delta)]] · This component boosts high frequencies.&lt;br /&gt;
* [[Foobar2000:Components/Pregap DSP (foo_dsp_pregap)|Pregap DSP (foo_dsp_pregap)]] · Inserts silence before real playback begins.&lt;br /&gt;
* [[Foobar2000:Components/ReplayGain DSP (foo_dsp_replaygain)|ReplayGain DSP (foo_dsp_replaygain)]] · ﻿Alternative ReplayGain implementation with support for smarter automatic mode selection.&lt;br /&gt;
* [[Foobar2000:Components/Skip Silence DSP (foo_dsp_skip_silence)|Skip Silence DSP (foo_dsp_skip_silence)]] · Automatically fast forwards over extended periods of silence.&lt;br /&gt;
* [[Foobar2000:Components/Smart Dither DSP (foo_dsp_dither)|Smart Dither DSP (foo_dsp_dither)]] · TPDF dither DSP that leaves digital silence untouched.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
====Music decoders====&lt;br /&gt;
* [[Foobar2000:Components/DVD Audio Decoder (foo_input_dvda)|DVD Audio Decoder (foo_input_dvda)]] · Decodes DVD Audio ([[DVD Audio]]) Disks.&lt;br /&gt;
* [[Foobar2000:Components/OptimFROG Decoder_(foo_input_ofr)|OptimFROG Decoder (foo_input_ofr)]] · Decodes OptimFROG audio format.&lt;br /&gt;
* [[foobar2000:Components/QOA Audio Decoder (foo_qoa)|QOA Audio Decoder (foo_qoa)]] · Decodes the Quite OK Audio (QOA) format.&lt;br /&gt;
* [[Foobar2000:Components/TAK Decoder (foo_input_tak)|TAK Decoder (foo_input_tak)]] · Adds support for decoding and tagging [[TAK]] files as well as reading embedded album art.&lt;br /&gt;
* [[Foobar2000:Components/TTA Audio Decoder (foo_input_tta)|TTA Audio Decoder (foo_input_tta)]] · Decodes True Audio ([[TTA]]) audio format.&lt;br /&gt;
&lt;br /&gt;
====Other decoders====&lt;br /&gt;
* [[Foobar2000:Components/Another Slight Atari Player (foo_asap)|Another Slight Atari Player (foo_asap)]]· adds playback of Atari 8-bit chiptunes to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/MIDI Player (foo_midi)|MIDI Player (foo_midi)]] · adds playback of MIDI files to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/sidplay (foo_sid)|SID Player (foo_sid)]] · adds playback of SID and MUS files to foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/V2M Decoder (foo_input_v2m)|V2M Decoder (foo_input_v2m)]] · Farbrausch V2 module (V2M) decoder.&lt;br /&gt;
* [[Fobar2000:Components/vgmstream decoder (foo_input_vgmstrean)|vgmstream decoder]] (foo_input_vgmstrean) · allows playback of hundreds of streamed (prerecorded) audio formats used in video games.&lt;br /&gt;
&lt;br /&gt;
===Visualisation===&lt;br /&gt;
* [[Foobar2000:Components/ProjectM Visualisation (foo_vis_projectM)|ProjectM Visualisation (foo_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.&lt;br /&gt;
* [[Foobar2000:Components/Enhanced Spectrum Analyzer (foo enhanced spectrum analyzer)|Enhanced Spectrum Analyzer (foo_enhanced_spectrum_analyzer)]] Displays a detailed FFT spectrum in a logarithmic frequency scale.&lt;br /&gt;
* [[Foobar2000:Components/Loudness Peakmeter (foo loudness peakmeter)|Loudness Peakmeter (foo_loudness_peakmeter)]] Displays a loudness meter and graph in real-time.&lt;br /&gt;
* [[Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)|Spectrum Analyzer (foo_vis_spectrum_analyzer)]] Display an audio spectrum visualization. Currently a remake of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 64-bit versions&lt;br /&gt;
* [[foobar2000:Components/MIDI Visualizer (foo_vis_midi)|MIDI Visualizer (foo_vis_midi)]] Visualize MIDI events.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
====General====&lt;br /&gt;
* [[Foobar2000:Components/Cover Info (foo_cover_info)|Cover Info (foo_cover_info)]] · This component scans a selection of files for embedded album art and stores the results in a database.&lt;br /&gt;
* [[Foobar2000:Components/Cover Resizer (foo_cover_resizer)|Cover Resizer (foo_cover_resizer)]] · Utilities for manipulating embedded art of files from within of foobar 2000.&lt;br /&gt;
* [[Foobar2000:Components/Loop (foo_loop)|Loop (foo_loop)]] · This component offers looping in a track.&lt;br /&gt;
* [[Foobar2000:Components/Metronome (foo_metronome)|Metronome (foo_metronome)]] · a simple console metronome.&lt;br /&gt;
* [[Foobar2000:Components/No Display Standby (foo_nds)|No Display Standby (foo_nds)]] · This component disables monitor power saving feature while music is playing.&lt;br /&gt;
* [[Foobar2000:Components/No Sleep (foo_nosleep)|No Sleep (foo_nosleep)]] · Prevents system from entering standby mode while foobar2000 is running.&lt;br /&gt;
* [[Foobar2000:Components/Preview (foo_preview)|Preview (foo_preview)]] · Plays first seconds of consecutive tracks.&lt;br /&gt;
* [[Foobar2000:Components/QSearch (foo_qsearch|QSearch (foo_qsearch)]] · Provides 6 context menu items to create playlists or open a search window from the selected track&#039;s metadata.&lt;br /&gt;
* [[Foobar2000:Components/Quicksearch UI Element (foo quicksearch)|Quicksearch UI Element (foo_quicksearch)]] Search toolbar that sends results to a playlist.&lt;br /&gt;
* [[Foobar2000:Components/Replaygain Override (foo rg trn)|Replaygain Override (foo rg trn)]] · Provides a way to specify which replaygain modes to use for each playback order.&lt;br /&gt;
* [[Foobar2000:Components/Renamer (foo_renamer)|Renamer (foo_renamer)]] · An alternative file renamer for people who wish to configure reserved character replacement rules manually.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Run (foo_run)|Run Services (foo_run)]] · Allows you to run a external program with the foobar syntax.&lt;br /&gt;
* [[Foobar2000:Components/Run Main (foo_run_main)|Run Main (foo_run_main)]] · This component has full support for dynamically generated menu commands.&lt;br /&gt;
* [[Foobar2000:Components/Scheduler Mod (foo_scheduler_mod)|Scheduler Mod (foo_scheduler_mod)]] Plugin for scheduling actions like play, stop, system shutdown/wake up and many more.&lt;br /&gt;
* [[Foobar2000:Components/Seekbox (foo_seek_box)|Seekbox (foo_seek_box)]] · Main menu item that pops up a box for seeking to a particular hh:mm:ss time in the current track.&lt;br /&gt;
* [[Foobar2000:Components/Seek to Time (foo_seek_to_time)|Seek to Time (foo_seek_to_time)]] · This component allows defining timestamps to directly seek to with keyboard shortcuts.&lt;br /&gt;
* [[Foobar2000:Components/Stop after Album (foo_stopafteralbum)|Stop after Album (foo_stopafteralbum)]] · This component allows stop playing according to defined tags.&lt;br /&gt;
* [[Foobar2000:Components/SQL Tree (foo_uie_sql_tree)|SQL Tree (foo_uie_sql_tree)]] · This component makes possible viewing the media library in a tree structure using SQL queries.&lt;br /&gt;
* [[Foobar2000:Components/SQLite Utilities (foo_sqlite)|SQLite Utilities (foo_sqlite)]] · This component allows viewing and changing the contents of the media library and the playlists by using SQL statements.&lt;br /&gt;
* [[Foobar2000:Components/SVG services (foo_svg_services)|SVG services (foo_svg_services)]] · This component provides an SVG renderer, for use by other foobar2000 components.&lt;br /&gt;
* [[Foobar2000:Components/Timebomb (foo_timebomb)|Timebomb (foo_timebomb)]] · Stop playback / exit program after a specified time.&lt;br /&gt;
* [[Foobar2000:Components/Timebomb2 (foo_timebomb2)|Timebomb2 (foo_timebomb2)]] · Stop playing after predefined time.&lt;br /&gt;
* [[Foobar2000:Components/PGGB-RT (foo pggb rt)|PGGB-RT (foo_pggt_rt)]] Real-time implementation of Remastero&#039;s PGGB resampling algorithm implemented as foobar2000 component. Only available as 64-bit component.&lt;br /&gt;
* [[Foobar2000:Components/Vital_Bookmarks_(foo_vbookmark)|Vital Bookmarks (foo_vbookmark)]] · Provides playback bookmark functionality.&lt;br /&gt;
&lt;br /&gt;
====Lyrics====&lt;br /&gt;
* [[Foobar2000:Components/ESlyric (foo_uie_eslyric)|ESlyrics (foo_uie_eslyric)]] · Alternative lyric show component.&lt;br /&gt;
* [[Foobar2000:Components/Lyrics Show Panel 3 (foo_uie_lyrics3)|Lyrics Show Panel 3 (foo_uie_lyrics3)]] · Component which can download and display both timestamped and text only lyrics.&lt;br /&gt;
* [[foobar2000:Components/OpenLyrics (foo_openlyrics)|OpenLyrics (foo_openlyrics)]] · Modern replacement for Lyric Show Panel 3.&lt;br /&gt;
&lt;br /&gt;
====Notifier====&lt;br /&gt;
* [[Foobar2000:Components/Taskbar Playback Progress Bar (foo_taskbar_playback_progress_bar)|Taskbar Playback Progress Bar (foo_taskbar_playback_progress_bar)]] · Recompile of foo_taskbar_playback_progress_bar by Alexey V. Grishin. Fixed potential divide by zero crash and added 64-bit support.&lt;br /&gt;
&lt;br /&gt;
====Online database====&lt;br /&gt;
* [[Foobar2000:Components 0.9/Audioscrobbler (foo_audioscrobbler)|Audioscrobbler (foo_audioscrobbler)]] · Audioscrobbler will send the name of every song you play on your computer to [https://www.last.fm/ Last.fm].&lt;br /&gt;
* [[Foobar2000:Components/Last.fm. Playcount Sync (foo_lastfm_playcount_sync)|Last.fm. Playcount Sync (foo_lastfm_playcount_sync)]] · This component fetches [https://www.last.fm/ Last.fm] playcounts and first played/last played dates as you listen.&lt;br /&gt;
* [[Foobar2000:Components/Scrobble (foo_scrobble)|Scrobble (foo_scrobble)]] · This is component for scrobbling to [https://www.last.fm/ Last.fm]&lt;br /&gt;
&lt;br /&gt;
====Online radio/video ====&lt;br /&gt;
* [[Foobar2000:Components/Youtube (foo_youtube)|Youtube (foo_youtube)]] · This component adds possibility to play Youtube, Vimeo and Dailymotion clips directly by their URL.&lt;br /&gt;
&lt;br /&gt;
====Playlist tools====&lt;br /&gt;
* [[Foobar2000:Components/Cue Fix (foo_cue_fix)|Cue Fix (foo_cue_fix)]] · Component for foobar2000 to fix CUE/FLAC,APE,WAVE problems.&lt;br /&gt;
* [[Foobar2000:Components/Cuesheet_Creator_(foo_cuesheet_creator)|Cuesheet Creator(foo_cuesheet_creator)]] · Component for generating cuesheet from playlist.&lt;br /&gt;
* [[Foobar2000:Components/Play Next (foo_play_next)|Play Next (foo_play_next)]] · Adds the selected track to the beginning of the playback queue to be played next.&lt;br /&gt;
* [[Foobar2000:Components/Play Track (foo_play_track)|Play Track (foo_play_track)]] · Adds a Play Track submenu to the main Playback menu.&lt;br /&gt;
* [[Foobar2000:Components/Playlist Attributes (foo_playlist_attributes)|Playlist Attributes (foo_playlist_attributes)]] · This component uses allows assigning various attributes to a playlist.&lt;br /&gt;
* [[Foobar2000:Components/Playlist Fix (foo_playlist_fix)|Playlist Fix (foo_playlist_fix)]] · This component uses title formatting to match dead playlist items against library items and updates the playlist entries.&lt;br /&gt;
* [[Foobar2000:Components/Playlist_Tour_(foo_playlisttour)|Playlist Tour (foo_playlisttour)]] · Recently activated playlists prev/next history navigation.&lt;br /&gt;
* [[Foobar2000:Components/Random Pools (foo_random_pools)|Random Pools (foo_random_pools)]] · is component for creating random playlist entries selected and grouped by various pool definitions.&lt;br /&gt;
* [[Foobar2000:Components/Inactive Tracks (foo_skip)|Skip Track (foo_skip)]] · Skips tracks that are marked via a tag as inactive.&lt;br /&gt;
&lt;br /&gt;
====Playback statistics====&lt;br /&gt;
* [[Foobar2000:Components/foo enhanced playcount|Enhanced Playback Statistics (foo_enhanced_playcount)]] · This component collects and maintains enhanced statistics for played songs.&lt;br /&gt;
* [[Foobar2000:Components/Statistics (foo_statistics)|Statistics (foo_statistics)]] · Collects all kind of foobar2000 statistics and prints them to console.&lt;br /&gt;
&lt;br /&gt;
====Remote control====&lt;br /&gt;
&lt;br /&gt;
* [[Foobar2000:Components/Beefweb Remote Control (foo_beefweb)|Beefweb Remote Control (foo_beefweb)]] · Provides web interface and REST-like API for controlling player remotely.&lt;br /&gt;
* [[Foobar2000:Components/HTTP Remote Control (foo_httpcontrol)|HTTP Remote Control (foo_httpcontrol)]] · is a remote control component for the foobar2000 player.&lt;br /&gt;
&lt;br /&gt;
====Tagging====&lt;br /&gt;
* [[Foobar2000:Components/BPM Analyser (foo_bpm)|BPM Analyser (foo_bpm)]] Automatically calculate the BPM of songs. Manual BPM calculation also available.&lt;br /&gt;
* [[Foobar2000:Components/Discogger_(foo_discogger)|Discogger (foo_discogger)]] · Retrieve info and album art from Discogs.com database.&lt;br /&gt;
* [[Foobar2000:Components/External Tags (foo_external_tags)|External Tags (foo_external_tags)]] · This component adds tagging support for non-taggable file formats.&lt;br /&gt;
* [[Foobar2000:Components/MusicBrainz Tagger_(foo_musicbrainz)|MusicBrainz Tagger_(foo_musicbrainz)]] · Musicbrainz tagger.&lt;br /&gt;
* [[Foobar2000:Components/MusicBrainz64_(foo_musicbrainz64)|MusicBrainz64 (foo_musicbrainz64)]] · Musicbrainz tagger (alternative).&lt;br /&gt;
* [[Foobar2000:Components 1.0/TagBox component (foo_tagbox)|TagBox (foo_tagbox))]] · Tag editing UI element (no pop-up dialog needed) and standalone window.&lt;br /&gt;
* [[Foobar2000:Components/Tag Normalizer (foo_tag_normalizer)|Tag Normalizer (foo_tag_normalizer)]] · This component Normalizes Unicode characters in tags.&lt;br /&gt;
&lt;br /&gt;
====Utilities====&lt;br /&gt;
* [[Foobar2000:Components/Audio MD5 (foo_audiomd5)|Audio MD5 (foo_audiomd5)]] · Component for generating and verifying MD5 checksum of audio data.&lt;br /&gt;
* [[Foobar2000:Components/Feature Watcher (foo_whatsnew)|Feature Watcher (foo_whatsnew)]] · This Component watches available features and reports changes.&lt;br /&gt;
* [[Foobar2000:Components/Recorder (foo_record)|Recorder (foo_record)]] · Record audio from selected sound card input.&lt;br /&gt;
&lt;br /&gt;
===Output===&lt;br /&gt;
====Interfaces====&lt;br /&gt;
* [[Foobar2000:Components/WASAPI shared output (foo_out_wasapis)|WASAPI shared output (foo_out_wasapis)]] · Shared mode WASAPI output for Vista and newer Windows versions.&lt;br /&gt;
* [[Foobar2000:Components/WASAPI shared output (debug) (foo_out_wasapis_debug)|WASAPI shared output (foo_out_wasapis_debug)]] · Shared mode WASAPI output for Vista and newer Windows versions, with additional debugging capabilities.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* {{foobar2000|http://www.foobar2000.org/components|Components Repository}}&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38063</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38063"/>
		<updated>2024-07-08T19:19:53Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = WebView&lt;br /&gt;
| screenshot              = [[File:WebView.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_uie_webview&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_uie_webview GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.1.5.6&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|07|08}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Utility&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_uie_webview/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38062</id>
		<title>Foobar2000:Components/WebView (foo uie webview)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/WebView_(foo_uie_webview)&amp;diff=38062"/>
		<updated>2024-07-08T19:13:32Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: Created page with &amp;quot;foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.  It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel.&lt;br /&gt;
&lt;br /&gt;
It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37875</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37875"/>
		<updated>2024-04-28T08:01:06Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of the [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
It uses DirectX (Direct2D and DirectWrite) to render its graphics. Over time more visualizations likes a spectogram and a peak meter were added.&lt;br /&gt;
&lt;br /&gt;
The component supports Dark Mode and the Default (DUI) and Columns User Interface (CUI).&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges. A mono track without the Front Center channel selected will show no gauge.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can recognize preset files by the &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file. Preset files contain no personal information and can be safely exchanged with other users.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37874</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37874"/>
		<updated>2024-04-28T07:56:52Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Peak Meter group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of the [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
Over time more visualizations such as a spectogram and a peak meter were added.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges. A mono track without the Front Center channel selected will show no gauge.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can recognize preset files by the &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file. Preset files contain no personal information and can be safely exchanged with other users.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37873</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37873"/>
		<updated>2024-04-28T07:54:18Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Presets page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of the [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
Over time more visualizations such as a spectogram and a peak meter were added.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can recognize preset files by the &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file. Preset files contain no personal information and can be safely exchanged with other users.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37872</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37872"/>
		<updated>2024-04-28T07:51:29Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of the [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
Over time more visualizations such as a spectogram and a peak meter were added.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37871</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37871"/>
		<updated>2024-04-28T07:48:05Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37870</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37870"/>
		<updated>2024-04-28T07:46:06Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37869</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37869"/>
		<updated>2024-04-28T07:41:42Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Styles page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of the brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37868</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37868"/>
		<updated>2024-04-28T07:39:26Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Configuration dialog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component without the need to close it.&lt;br /&gt;
&lt;br /&gt;
Close the dialog with Close button or the Cancel button to undo any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and preserves the changes to the configuration during the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The settings will only be saved to your profile when foobar2000 is closed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37867</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37867"/>
		<updated>2024-04-28T07:32:53Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37866</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37866"/>
		<updated>2024-04-28T07:32:13Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;When using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37865</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37865"/>
		<updated>2024-04-28T07:29:47Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Peak Meter group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels in the playing track but only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37864</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37864"/>
		<updated>2024-04-28T07:28:49Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Peak Meter group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37863</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37863"/>
		<updated>2024-04-28T07:28:28Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Peak Meter group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
The peak meter will display the instant peak and RMS over time level of the playing track.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A gauge will be shown for each of the channels only when it is also selected in the Channels list on the Graphs page. F.e. a 7.1 track with only the Front Left and Front Right channel selected will only show 2 gauges.&#039;&#039;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37862</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37862"/>
		<updated>2024-04-28T07:23:06Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Graphs page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contain more than one graph at the same time. Some users use this to create facing spectrum analyses. Graphs can have individual settings but share the visualization type and the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis (reserve no screen area for it).&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis (reserve no screen area for it).&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37861</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37861"/>
		<updated>2024-04-28T07:19:13Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.6.2&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|17}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog. This component has its own configuration dialog instead of a page in the standard foobar2000 preferences dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Default User Interface (DUI) will open &#039;&#039;&#039;second&#039;&#039;&#039; full-screen version of the component with its own configuration. The Columns User Interface (CUI) will resize the current instance.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it. A checkmark will be shown next to the latest activated preset.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis.&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to participate in the analysis of a chunk of audio samples.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. Therefor no information will be shown in the graph when a mono track is played. Also enable the Front Center channel to remedy this situation.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter: Displays the peak and RMS levels of the track.&lt;br /&gt;
* Level Meter: Displays the balance and mid/side correlation of the track.&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS+3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds 3dB to the RMS value.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gauge gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the gap between the gauges (in pixels). Defaults to 1 pixel.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37851</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37851"/>
		<updated>2024-04-15T12:18:23Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Y axis group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis.&lt;br /&gt;
* Decibel scale: Uses decibel values to render the scale.&lt;br /&gt;
* Logarithmic: Uses logarithmic values to render the scale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039; A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37850</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37850"/>
		<updated>2024-04-15T12:16:49Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Common group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average: Calculates a weighted average between the old and the new value of the peak. Uses the smoothing factor as a weight.&lt;br /&gt;
* Peak: Retains the maximum between the old and the new value of the peak.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis&lt;br /&gt;
* Decibel scale&lt;br /&gt;
* Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039; A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37849</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37849"/>
		<updated>2024-04-15T12:10:46Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Styles page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis&lt;br /&gt;
* Decibel scale&lt;br /&gt;
* Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039; A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This updates the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the opacity of the rendered element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thickness&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For some styles you can specify the thickness of brush used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Font size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size in points of the font used to render the element.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37848</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37848"/>
		<updated>2024-04-15T12:07:15Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Styles page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis&lt;br /&gt;
* Decibel scale&lt;br /&gt;
* Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
Most of the elements of a graph can be styled. The styles list shows all available styles. Each style has a number of settings that determine how the element is rendered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The color source determines where the element gets its color information from.&lt;br /&gt;
&lt;br /&gt;
* None: Prevents the element from being rendered.&lt;br /&gt;
* Solid: A single color is used to render the element.&lt;br /&gt;
* Dominant color: The dominant color in the artwork is used to render the element. The artwork does not have to be rendered on the background.&lt;br /&gt;
* Gradient: The element is rendered using a gradient created from the color list below.&lt;br /&gt;
* Windows: The element is rendered using a standard Windows color.&lt;br /&gt;
* User Interface: The element is rendered using a standard DUI or CUI user interface color.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color index&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to select a color when color source Window or User Interface is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the current color used by color source Solid or Dominant Color. Click to modify the color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039; A standard Windows color dialog that has been extended with controls to modify the alpha channel of the color will pop up.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the element.&lt;br /&gt;
&lt;br /&gt;
* Solid color: A single color, effectively the same as color source Solid.&lt;br /&gt;
* Custom: A custom list of colors.&lt;br /&gt;
* Artwork: A list of colors determined by the current artwork&lt;br /&gt;
* Prism 1&lt;br /&gt;
* Prism 2&lt;br /&gt;
* Prism 3&lt;br /&gt;
* foobar2000&lt;br /&gt;
* foobar2000 Dark Mode&lt;br /&gt;
* Fire&lt;br /&gt;
* Rainbow&lt;br /&gt;
* SoX: A list of colors emulating the spectogram colors used by SoX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color of a built-in color scheme automatically selects the Custom color scheme. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Add&#039;&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color list.&lt;br /&gt;
&lt;br /&gt;
The position of the color in the gradient is expressed as a percentage of the length of the gradient. E.g. a position of 50% puts the color in the middle of the gradient. &lt;br /&gt;
&lt;br /&gt;
Press the &#039;&#039;Spread&#039;&#039; button to evenly spread the colors in the list over the gradient. This update the position of the colors as required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal gradient&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Generates a horizontal instead of a vertical gradient.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude-based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some styles can use the amplitude of a spectrum frequency to determine the color. This option can only be applied to a horizontal gradient.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37847</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37847"/>
		<updated>2024-04-15T10:53:21Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Visualization page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis&lt;br /&gt;
* Decibel scale&lt;br /&gt;
* Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the type of visualization:&lt;br /&gt;
&lt;br /&gt;
* Bars: The classic spectrum visualization&lt;br /&gt;
* Curve: The same as bars but with a smoothed curve instead of bars.&lt;br /&gt;
* Spectogram&lt;br /&gt;
* Peak Meter&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display indicators for the peak values. The following settings determine how those peak indicators are animated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered:&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP: A combination of AIMP and Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady before it decays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to decay the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can display a bar as simulated LED lights.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Display the spectrum bars and peak meters as LEDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED size&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the LED light, in pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LED gap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The size of the gap between the LEDs, in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrolling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Activates scrolling of the spectogram.&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Horizontal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Renders the peak meter horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RMS window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the duration of each RMS measurement (in seconds).&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37846</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37846"/>
		<updated>2024-04-15T10:44:07Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Graphs page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
The component window can contains more than one graph at the same time. Some users use this to create facing spectrum analyses or to show a peak meter next to the spectrum analysis. Graphs can have individual settings but share the styles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graph list&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The graph list shows all graphs in the current window. Use the + button to add a graph. Use the - button to remove the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertical layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables this setting to stack the graphs vertically instead of horizontally.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allow you to edit the description of the selected graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip horizontally&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph horizontally. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flip vertically&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Flips the current graph vertically. Any axes will be rendered accordingly.&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the X axis.&lt;br /&gt;
* Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
* Decades: Fixed frequency range&lt;br /&gt;
* Octaves: Frequency of the C note of each octave&lt;br /&gt;
* Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis on top of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bottom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an X-axis at the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
* None: Hides the Y axis&lt;br /&gt;
* Decibel scale&lt;br /&gt;
* Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the left of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Right&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays an Y-axis on the bottom of the graph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the min. amplitude to -∞ dB (0.0 on the linear scale) when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets index n of the n-th root calculation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the audio channels that will be used to calculate the transform or to measure the peak and RMS values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Most users will enable only the left and right channel. No information will be shown in the graph when a mono track is played.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37845</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37845"/>
		<updated>2024-04-15T10:10:48Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Presets page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37844</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37844"/>
		<updated>2024-04-15T10:08:05Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Presets page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
    Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
    For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37843</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37843"/>
		<updated>2024-04-15T10:07:27Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Presets page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
    Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
    For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37842</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37842"/>
		<updated>2024-04-15T10:06:37Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Common page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
This page contains settings that the visualizations have in common.&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the spectrum coefficients and the peak meter values are smoothed.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the mirror image of the spectrum (anything above the Nyquist frequency) from being rendered.&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
Some visualizations can use artwork to display on the background or to use as a source for a color list. The artwork can come from the playing track or from  file location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The maximum number of colors to select from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines when a color is considered light. Expressed as a percentage of whiteness.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how to sort the colors selected from the artwork.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Displays the artwork on the graph background.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how over- and undersized artwork is rendered.&lt;br /&gt;
&lt;br /&gt;
* Free: The artwork will not be scaled.&lt;br /&gt;
* Fit big: Artwork that is bigger than the available area will be proportionally scaled.&lt;br /&gt;
* Fit width: The width of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fit height: The height of the artwork is scaled to fit in the available area.&lt;br /&gt;
* Fill: The width or height of artwork is scaled to fit the available area. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable to use the full component window as available area instead of the client area (the window minus any room taken by axes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the opacity of the artwork when displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A fully-qualified file path or a foobar2000 script that returns the file path of an image to display on the graph background.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37841</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37841"/>
		<updated>2024-04-15T09:52:10Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Acoustic Filters group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
This group contains settings to allow you to apply acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468)) to the samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the weighting filter type that will be applied.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Slope function offset expressed in sample rate / FFT size in samples&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency slope in dB per octave&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization amount&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization offset&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Equalization depth&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Weighting amount&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37840</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37840"/>
		<updated>2024-04-15T09:06:12Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Visualization page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
==== Peak indicators group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
==== LEDs group ====&lt;br /&gt;
&lt;br /&gt;
==== Spectogram group ====&lt;br /&gt;
&lt;br /&gt;
==== Peak Meter group ====&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37839</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37839"/>
		<updated>2024-04-15T09:03:49Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Y axis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
==== Y axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37838</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37838"/>
		<updated>2024-04-15T09:03:35Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* X axis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
==== X axis group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37837</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37837"/>
		<updated>2024-04-15T09:00:17Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* = Acoustic Filters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37836</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37836"/>
		<updated>2024-04-15T08:59:24Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
==== Acoustic Filters ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope function offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slope offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equalize depth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Weighting amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
==== Common group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suppress mirror image&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Artwork group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. artwork colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightness threshold&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sort colors by&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Show artwork on background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fit window&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork opacity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Artwork file path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37835</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37835"/>
		<updated>2024-04-15T08:48:53Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37834</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37834"/>
		<updated>2024-04-15T08:48:10Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer|GitHub]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37833</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37833"/>
		<updated>2024-04-15T08:47:01Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Graphs page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
=== Graphs page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37832</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37832"/>
		<updated>2024-04-15T08:46:46Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Presets page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
=== Presets page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37831</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37831"/>
		<updated>2024-04-15T08:46:37Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Styles page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Styles page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
== Presets page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37830</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37830"/>
		<updated>2024-04-15T08:46:29Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Visualization page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
=== Visualization page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
== Styles page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
== Presets page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37829</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37829"/>
		<updated>2024-04-15T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Common page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
=== Common page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
== Visualization page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
== Styles page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
== Presets page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37828</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37828"/>
		<updated>2024-04-15T08:46:10Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Filters page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filters page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
== Common page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
== Visualization page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
== Styles page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
== Presets page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37827</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37827"/>
		<updated>2024-04-15T08:45:37Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
The configuration dialog is used to change all parameters used by the component. All changes are applied immediately to the component with the need to close it.&lt;br /&gt;
&lt;br /&gt;
Closing the dialog the dialog Close button or the Cancel button reverts the configuration to the previous state.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resets the configuration to the default values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and makes the changes to the configuration final.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the dialog box and undoes any changes to the configuration.&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Filters page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
== Common page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
* Average&lt;br /&gt;
* Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
== Graphs page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_graphs.png|thumb|256px|Spectrum Analyzer Configuration: Graphs]]&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
== Visualization page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
* None&lt;br /&gt;
* Classic&lt;br /&gt;
* Gravity&lt;br /&gt;
* AIMP&lt;br /&gt;
* Fade Out&lt;br /&gt;
* Fading AIMP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
== Styles page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Colors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
== Presets page ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
The whole configuration can be saved to a preset. A preset can be reloaded at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Presets are not interchangeable with x86 and x64 versions of foobar2000. Special care is taken to be as backwards compatible with preset files saved by older versions of the component.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preset files have &amp;lt;code&amp;gt;fvsa&amp;lt;/code&amp;gt; as file extension.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contains the path name of the location of your preset files. By default the foobar2000 profile directory is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For privacy reasons the location is stored in your foobar2000 settings but will not be included in a preset file.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below the location you find the preset files currently found in the specified location.&lt;br /&gt;
&lt;br /&gt;
Double click a preset to activate it or select it and press the Load button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the name of the preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Load&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loads and activates the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saves the current configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deletes the currently selected preset.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37826</id>
		<title>Foobar2000:Components/Spectrum Analyzer (foo vis spectrum analyzer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Spectrum_Analyzer_(foo_vis_spectrum_analyzer)&amp;diff=37826"/>
		<updated>2024-04-15T08:20:01Z</updated>

		<summary type="html">&lt;p&gt;Pqyt: /* Frequencies page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox foobar2000 component&lt;br /&gt;
| name                    = Spectrum Analyzer&lt;br /&gt;
| screenshot              = [[File:Spectrum_Analyzer.png|256px]]&lt;br /&gt;
| caption                 = &lt;br /&gt;
| module_name             = foo_vis_spectrum_analyzer&lt;br /&gt;
| developer               = {{ha user|u=67884|name=pqyt}}&lt;br /&gt;
| repository              = [https://github.com/stuerp/foo_vis_spectrum_analyzer Github]&lt;br /&gt;
| released                = &lt;br /&gt;
| released_ref            = &lt;br /&gt;
| stable_release          = 0.7.5.4&lt;br /&gt;
| stable_release_date     = {{start date and age|2024|04|13}}&lt;br /&gt;
| preview_release         = &lt;br /&gt;
| preview_release_date    = &amp;lt;!--{{start date and age|2023|11|12}}--&amp;gt;&lt;br /&gt;
| foobar2000_architecture = x86 32-bit, x86 64-bit&lt;br /&gt;
| foobar2000_minimum      = 2.0&lt;br /&gt;
| foobar2000_maximum      = &lt;br /&gt;
| foobar2000_legacy       = false&lt;br /&gt;
| foobar2000_ui_module    = Default UI, Columns UI&lt;br /&gt;
| use                     = Visualization&lt;br /&gt;
| license                 = [https://github.com/stuerp/foo_vis_spectrum_analyzer/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
}}&lt;br /&gt;
A recreation of [[foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum]] component for foobar2000 v2.x and 64-bit versions. &#039;&#039;&#039;Windows 10&#039;&#039;&#039; or higher are the only supported operating systems.&lt;br /&gt;
&lt;br /&gt;
You can double-click the component window to switch between windowed and full-screen mode. Note that when using the Default User Interface (DUI) the full-screen version is another instance of the component with its own configuration. When you use the Columns User Interface (CUI) the existing instance will be resized to occupy the full screen.&lt;br /&gt;
&lt;br /&gt;
== Context Menu ==&lt;br /&gt;
&lt;br /&gt;
Right-click on the component window to display the context menu. The following options are available:&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
Opens the Configuration dialog.&lt;br /&gt;
&lt;br /&gt;
=== Toggle Full-Screen Mode ===&lt;br /&gt;
&lt;br /&gt;
Toggles full-screen mode off and on.&lt;br /&gt;
&lt;br /&gt;
=== Frame Counter ===&lt;br /&gt;
&lt;br /&gt;
Enables the display of a rudimentary frame counter.&lt;br /&gt;
&lt;br /&gt;
=== Refresh Rate Limit ===&lt;br /&gt;
&lt;br /&gt;
Allows you the selected the refresh rate of the component animation. Note that even though the component can redraw its visuals very fast the actual maximum refresh rate is usually determined by the refresh rate of your monitor.&lt;br /&gt;
&lt;br /&gt;
=== Presets ===&lt;br /&gt;
&lt;br /&gt;
Contains a list of previously saved presets. Select one from the list to activate it.&lt;br /&gt;
&lt;br /&gt;
=== Freeze ===&lt;br /&gt;
&lt;br /&gt;
Prevents the refresh of the component, effectively reducing CPU and GPU use to 0.&lt;br /&gt;
&lt;br /&gt;
== Configuration dialog ==&lt;br /&gt;
&lt;br /&gt;
=== Transform page ===&lt;br /&gt;
&lt;br /&gt;
==== Transform group ====&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_transform.png|thumb|256px|Spectrum Analyzer Configuration: Transform]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select the Time to Frequency domain transform. The following transforms are implemented:&lt;br /&gt;
&lt;br /&gt;
* Fast Fourier (FFT)&lt;br /&gt;
* Constant-Q (CQT)&lt;br /&gt;
* Sliding Windowed Infinite Fourier (SWIFT)&lt;br /&gt;
* Analog-style&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects the window function that will be applied to the samples (Time domain).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to tweak window functions that support a parameter like Gaussian and Kaiser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Window skew&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples. Defaults to 0 (None).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reaction alignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Controls the delay between the actual playback and the visualization.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; 0: All samples are ahead of the playback sample (with the first sample equal to the actual playback sample).&lt;br /&gt;
* = 0: The first half of samples are behind the current playback sample and the second half are ahead of it.&lt;br /&gt;
* &amp;gt; 0: All samples are behind the playback with the last sample equal to the current playback sample.&lt;br /&gt;
&lt;br /&gt;
==== Fourier Transform group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that influence the Fast Fourier transform.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of bins used by the transforms as a number between 64 and 32768.&lt;br /&gt;
&lt;br /&gt;
* Select &#039;&#039;Custom&#039;&#039; to specify a number that is not a power of 2. This will consume a lot more CPU power.&lt;br /&gt;
* Select &#039;&#039;Sample rate based&#039;&#039; to specify the size as a duration. F.e. 100ms of a track sampled at 44.1kHz will result in an FFT window of 4410 samples.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coefficient aggregation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which method is used to aggregate the coefficients of FFT.&lt;br /&gt;
&lt;br /&gt;
* Minimum&lt;br /&gt;
* Maximum&lt;br /&gt;
* Sum&lt;br /&gt;
* Residual Mean Square (RMS)&lt;br /&gt;
* RMS Sum&lt;br /&gt;
* Average&lt;br /&gt;
* Median&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mapping&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how the FFT coefficients are mapped to the frequency bins.&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Triangular Filter Bank&lt;br /&gt;
* Brown-Puckette CQT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth lower frequencies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When enabled, the band power part only gets used when number of FFT bins to sum for each band is at least two or more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smooth gain transition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Smooths the frequency slope of the aggregation modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lanczos kernel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the size of the Lanczos kernel. The kernel is used to create a smooth transition between the FFT coefficients resulting in a visual pleasing result.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Puckette CQT Mapping group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth offset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Offsets the bandwidth of the Brown-Puckette CQT.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth cap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Minimum Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth amount&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Brown-Puckette CQT kernel size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Granular bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When disabled constrains the bandwidth to powers of 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the shape of the Brown-Puckette CQT kernel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel shape parameter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parameter used by certain window functions like Gaussian and Kaiser windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kernel asymmetry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adjusts how the window function reacts to samples. Positive values makes it skew towards latest samples while negative values skews towards earliest samples.&lt;br /&gt;
&lt;br /&gt;
==== Infinite Impulse Response (IIR) group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters used by the SWIFT and the Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filter bank order&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the order of the filter bank used to calculate the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time resolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the maximum time resolution used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the bandwidth used by the SWIFT and Analog-style transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constant-Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uses constant-Q instead of variable-Q in the IIR transforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Compensate bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Compensate bandwidth for narrowing on higher order IIR filters banks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use prewarped Q&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prewarps Q to ensure the actual bandwidth is truly logarithmic at anything closer to the Nyquist frequency.&lt;br /&gt;
&lt;br /&gt;
=== Frequencies page ===&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_frequencies.png|thumb|256px|Spectrum Analyzer Configuration: Frequencies]]&lt;br /&gt;
&lt;br /&gt;
==== Frequencies group ====&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the frequency range that will be displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distribution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which parameters are used to generate the frequency bands.&lt;br /&gt;
&lt;br /&gt;
* Linear: Generate frequency bands based on the frequency parameters.&lt;br /&gt;
* Octaves: Generate frequency bands based on the note parameters.&lt;br /&gt;
* AveePlayer: Generate frequency bands used by AveePlayer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No. of bands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the number of frequency bands to generate (2 to 512) in the specified frequency range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frequency range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the first and last band, 1Hz to 96000Hz. Each frequency is centered in the band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Available when selecting the &#039;&#039;Octaves&#039;&#039; distribution. Select a range between the C note of octave 0 and B# of octave 11 (max. 144 notes or 12 octaves)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bands per octave&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of bands per octave (1 to 48)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Frequency of the tuning pitch (A4 = 440.0Hz), 1Hz to 96000Hz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines how many semitones the frequencies will be transposed. (-24 to 24)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scaling&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which which will be used to scale the frequencies:&lt;br /&gt;
&lt;br /&gt;
* Linear&lt;br /&gt;
* Logarithmic&lt;br /&gt;
* Shifted logarithmic&lt;br /&gt;
* Mel (AIMP)&lt;br /&gt;
* Bark&lt;br /&gt;
* Adjustable Bark&lt;br /&gt;
* ERB&lt;br /&gt;
* Cams&lt;br /&gt;
* Hyperbolic Sine&lt;br /&gt;
* n-th Root&lt;br /&gt;
* Negative exponential&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skew factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Affects any adjustable frequency scaling functions like hyperbolic sine and n-th root. Higher values mean a more linear spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bandwidth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Distance between the low and high frequency boundaries for each frequency band. (0.0 to 64.0)&lt;br /&gt;
&lt;br /&gt;
=== X axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the X axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which X axis to display.&lt;br /&gt;
&lt;br /&gt;
    None: Hides the X axis.&lt;br /&gt;
    Bands: Center frequency of a band, every 10 bands.&lt;br /&gt;
    Decades: Fixed frequency range&lt;br /&gt;
    Octaves: Frequency of the C note of each octave&lt;br /&gt;
    Notes: C note of each octave&lt;br /&gt;
&lt;br /&gt;
=== Y axis ===&lt;br /&gt;
&lt;br /&gt;
Groups the parameters that determine the way the Y axis is displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines which Y axis to display.&lt;br /&gt;
&lt;br /&gt;
    Note: Hides the Y axis&lt;br /&gt;
    Decibel scale&lt;br /&gt;
    Logarithmic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude range&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determines the minimum and maximum amplitude, expressed in decibel (dB), to display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amplitude step&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine the step size between the min. and max. amplitude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use absolute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gamma&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bands ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color scheme&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the color scheme used to render the spectrum.&lt;br /&gt;
&lt;br /&gt;
    Solid color&lt;br /&gt;
    Custom&lt;br /&gt;
    Prism 1&lt;br /&gt;
    Prism 2&lt;br /&gt;
    Prism 3&lt;br /&gt;
    foobar2000&lt;br /&gt;
    foobar2000 Dark Mode&lt;br /&gt;
    Fire&lt;br /&gt;
&lt;br /&gt;
Double-click a color to modify it. Modifying a color automatically selects the Custom color scheme. Press the &#039;&#039;Add&#039; button to add a color, &#039;&#039;Remove&#039;&#039; to remove a color, &#039;&#039;Reverse&#039;&#039; to reverse the color scheme.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Band background&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a background behind every band of the spectrum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tooltips&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the check box to see a tooltip with the center frequency and when appropriate, the name of the note, of the frequency band.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the spectrum will be smoothed over time.&lt;br /&gt;
&lt;br /&gt;
    Average&lt;br /&gt;
    Peak&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smoothing factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the strength of the smoothing (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peak mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how the peak indicators are rendered.&lt;br /&gt;
&lt;br /&gt;
    None&lt;br /&gt;
    Classic&lt;br /&gt;
    Gravity&lt;br /&gt;
    AIMP&lt;br /&gt;
    Fade Out&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hold time&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies how long a peak value will be held steady.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceleration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the acceleration used to modify the peak value.&lt;br /&gt;
&lt;br /&gt;
=== Colors ===&lt;br /&gt;
&lt;br /&gt;
Click any of the colors to modify.&lt;br /&gt;
&lt;br /&gt;
== Filters ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_filters.png|thumb|256px|Spectrum Analyzer Configuration: Filters]]&lt;br /&gt;
&lt;br /&gt;
== Common ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_common.png|thumb|256px|Spectrum Analyzer Configuration: Common]]&lt;br /&gt;
&lt;br /&gt;
== Visualization ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_visualization.png|thumb|256px|Spectrum Analyzer Configuration: Visualization]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channels&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Allows you to select that audio channels that will be used to calculate the transform.&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_styles.png|thumb|256px|Spectrum Analyzer Configuration: Styles]]&lt;br /&gt;
&lt;br /&gt;
== Presets ==&lt;br /&gt;
&lt;br /&gt;
[[File:foo_vis_spectrum_analyzer_presets.png|thumb|256px|Spectrum Analyzer Configuration: Presets]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{foobar2000|https://www.foobar2000.org/components/view/foo_vis_spectrum_analyzer|Spectrum Analyzer (foo_vis_spectrum_analyzer)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,125031.0.html}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://codepen.io/TF3RDL/pen/poQJwRW Frequency bands spectrum analyzer using either FFT or CQT] on CodePen (on which part of this component is based).&lt;/div&gt;</summary>
		<author><name>Pqyt</name></author>
	</entry>
</feed>