Difference between revisions of "Equalizer"

From RGB-Pi Wiki
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
The new equalizer presets are based on Retroarch DSP Filter sound engine. The following are some basic steps for creating your custom filters/presets and make them avaialble in the system:
+
The new equalizer presets are now system wide and new ones can be created, customized and applied by specific system.
  
 +
[[File:sys_opt_sound_eq.png|border]] [[File:sys_opt_sound_eq_2.png|border]]
 +
 +
The following are some basic steps for creating your custom presets and make them avaialble in the system:
 
== Steps ==
 
== Steps ==
1. Connect to the Pi via sftp and navigate to /home/pi/RGB-Pi/data/dsp_filters.</br>
+
1. Connect to the Pi via sftp and navigate to /home/pi/RGB-Pi/data/eq_presets</br>
:In this folder you'll see the current system presets *.dsp files.</br>
+
:In this folder you'll see the current system presets *.eq files.</br>
 
2. Create a new file or copy an existing preset to start.</br>
 
2. Create a new file or copy an existing preset to start.</br>
:'''Do note that file names cannot contain spaces'''</br>
+
:'''Note''' file names cannot contain spaces</br>
:Also you should always create both mono and stereo versions of your presets. Example:</br>
+
:'''Note 2''' to bind a preset to a specific system, you must set the same name as the system rom folder. I.e. for '''snes''' create '''snes.eq'''</br>
MyPreset(Mono).dsp
 
MyPreset(Stereo).dsp
 
 
3. Edit the preset file and customize the same.</br>
 
3. Edit the preset file and customize the same.</br>
 
4. Save the file and reboot the system. Your presets will be available from the Equalizer option in Sound menu.
 
4. Save the file and reboot the system. Your presets will be available from the Equalizer option in Sound menu.
  
== Filter.dsp example file ==
+
== Flat.eq example file ==
# filters indicates the number of filters you want to apply
 
filters = 11
 
# filter names correspond to the *.so binary files contained in the folder
 
filter0 = eq
 
filter1 = reverb
 
filter2 = crystalizer
 
filter3 = chorus
 
filter4 = echo
 
filter5 = phaser
 
filter6 = tremolo
 
filter7 = vibrato
 
filter8 = wahwah
 
filter9 = iir
 
filter10 = panning
 
 
# EQ
 
#
 
# Beta factor for Kaiser window.
 
# Lower values will allow better frequency resolution, but more ripple.
 
# eq_window_beta = 4.0
 
#
 
# The block size on which FFT is done.
 
# Too high value requires more processing as well as longer latency but
 
# allows finer-grained control over the spectrum.
 
# eq_block_size_log2 = 8
 
#
 
# An array of which frequencies to control.
 
# You can create an arbitrary amount of these sampling points.
 
# The EQ will try to create a frequency response which fits well to these points.
 
# The filter response is linearly interpolated between sampling points here.
 
#
 
# It is implied that 0 Hz (DC) and Nyquist have predefined gains of 0 dB which are interpolated against.
 
# If you want a "peak" in the spectrum or similar, you have to define close points to say, 0 dB.
 
#
 
# E.g.: A boost of 3 dB at 1 kHz can be expressed as.
 
# eq_frequencies = "500 1000 2000"
 
# eq_gains = "0 3 0"
 
# Due to frequency domain smearing, you will not get exactly +3 dB at 1 kHz.
 
#
 
 
  # By default, this filter has a flat frequency response.
 
  # By default, this filter has a flat frequency response.
  # Full range example
+
  # You can set increments of 5 from 0 to 100
# eq_frequencies = "32 64 125 250 500 1000 2000 4000 8000 16000 20000"
+
  [Freqs]
# eq_gains = "6 9 12 7 6 5 7 9 11 6 0"
+
  31hz   = 65
#
+
  63hz    = 65
# Low pass filter for the QSound chip from CPS-1/2.
+
  125hz  = 65
# Some games have aliasing due low quality samples, so you can hear some annoying noisy near 11 kHz
+
  250hz  = 65
# eq_frequencies = "8000 10000 12500 16000 20000"
+
  500hz  = 65
# eq_gains = "0 -30 -30 -30 -30"
+
  1khz    = 65
+
  2khz    = 65
## Reverb
+
  4khz    = 65
#
+
  8khz    = 65
# Defaults:
+
  16khz  = 65
# reverb_drytime = 0.43
 
# reverb_wettime = 0.4
 
# reverb_damping = 0.8
 
# reverb_roomwidth = 0.56
 
# reverb_roomsize = 0.56
 
 
## Cristalyzer
 
#
 
# Controls dry/wet-ness of effect. 0.0 = none, 10.0 = max.
 
# crystalizer_intensity = 5.0
 
 
## Chorus
 
#
 
# Controls the base delay of the chorus (milliseconds).
 
# chorus_delay_ms = 25.0
 
#
 
# Controls the depth of the delay. The delay will vary between delay_ms +/- depth_ms.
 
# chorus_depth_ms = 1.0
 
#
 
# Frequency of LFO which controls delay.
 
# chorus_lfo_freq = 0.5
 
#
 
# Controls dry/wet-ness of effect. 1.0 = full chorus, 0.0 = no chorus.
 
# chorus_drywet = 0.8
 
 
## Echo
 
#
 
# Somewhat fancy Echo filter. Can take any number of echo channels with varying delays (ms) and feedback factors.
 
# Echo output from all channels can be fed back into each other to create a somewhat reverb-like effect if desired.
 
#
 
# Defaults, 200 ms delay echo with feedback:
 
# Delay in ms. Takes an array with multiple channels.
 
# echo_delay = "200"
 
# Feedback factor for echo.
 
# echo_feedback = "0.5"
 
# Overall echo amplification. If too high, the echo becomes unstable due to feedback.
 
  # echo_amp = "0.2"
 
  #
 
# Reverby preset.
 
# echo_delay   = " 60  80 120 172 200 320 380"
 
  # echo_feedback = "0.5 0.5 0.4 0.3 0.5 0.3 0.2"
 
  #
 
# echo_amp = "0.12"
 
   
 
## Phaser
 
#
 
# Defaults:
 
# phaser_lfo_freq = 0.4
 
  # phaser_lfo_start_phase = 0.0
 
  # phaser_feedback = 0.0
 
  # phaser_depth = 0.4
 
  # phaser_dry_wet = 0.5
 
  # phaser_stages = 2
 
 
## Tremolo
 
#
 
# Defaults:
 
# tremolo_frequency = 4.0
 
# tremolo_depth = 0.9
 
 
## Vibrato
 
#
 
# Defaults:
 
# vibrato_frequency = 5.0
 
# vibrato_depth = 0.5
 
 
## WahWah
 
#
 
# Defaults:
 
# wahwah_lfo_freq = 1.5
 
# wahwah_lfo_start_phase = 0.0
 
# wahwah_freq_offset = 0.3
 
# wahwah_depth = 0.7
 
# wahwah_resonance = 2.5
 
 
## IIR
 
#
 
# Defaults:
 
# iir_frequency = 1024.0
 
# iir_quality = 0.707
 
# iir_gain = 0.0
 
# iir_type = LPF
 
#
 
# Filter types:
 
# LPF: Low-pass
 
# HPF: High-pass
 
# BPCSGF: Band-pass #1
 
# BPZPGF: Band-pass #2
 
# APF: Allpass
 
# NOTCH: Notch filter
 
# RIAA_phono: RIAA record/tape deemphasis
 
# PEQ: peaking band EQ
 
# BBOOST: Bassboost
 
# LSH: Low-shelf
 
# HSH: High-shelf
 
# RIAA_CD: CD de-emphasis
 
#
 
# Filters out some harsh sounds on the upper end
 
# iir_type = RIAA_CD
 
  # BassBoost example
 
# iir_gain = 10.0
 
# iir_type = BBOOST
 
# iir_frequency = 200.0
 
# High self dampen
 
# iir_gain = -12.0
 
# iir_type = HSH
 
# iir_frequency = 8000.0
 
 
   
 
   
## Panning
+
  # The clipping corresponds to the volume of the current selected preset
#
+
  [Clipping]
# Gains are linear
+
  volume = 100
#
 
  # The default. Left and right channels map to each other.
 
# panning_left_mix = "1.0 0.0"
 
# panning_right_mix = "0.0 1.0"
 
#
 
  # Swap left and right channels:
 
# panning_left_mix = "0.0 1.0"
 
# panning_right_mix = "1.0 0.0"
 
#
 
# Stereo Mono:
 
# panning_left_mix = "0.5 0.5"
 
# panning_right_mix = "0.5 0.5"
 
#
 
# Mono on one speaker:
 
# panning_left_mix = "0.5 0.5"
 
  # panning_right_mix = "0.0 0.0"
 

Latest revision as of 03:59, 11 October 2020

The new equalizer presets are now system wide and new ones can be created, customized and applied by specific system.

Sys opt sound eq.png Sys opt sound eq 2.png

The following are some basic steps for creating your custom presets and make them avaialble in the system:

Steps

1. Connect to the Pi via sftp and navigate to /home/pi/RGB-Pi/data/eq_presets

In this folder you'll see the current system presets *.eq files.

2. Create a new file or copy an existing preset to start.

Note file names cannot contain spaces
Note 2 to bind a preset to a specific system, you must set the same name as the system rom folder. I.e. for snes create snes.eq

3. Edit the preset file and customize the same.
4. Save the file and reboot the system. Your presets will be available from the Equalizer option in Sound menu.

Flat.eq example file

# By default, this filter has a flat frequency response.
# You can set increments of 5 from 0 to 100
[Freqs]
31hz    = 65
63hz    = 65
125hz   = 65
250hz   = 65
500hz   = 65
1khz    = 65
2khz    = 65
4khz    = 65
8khz    = 65
16khz   = 65

# The clipping corresponds to the volume of the current selected preset
[Clipping]
volume = 100