MT32-Pi GUI Shows EQ Moving But No Sound [Solved]

Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

MT32-Pi GUI Shows EQ Moving But No Sound [Solved]

Unread post by Debu_Ranger »

Hi,

I tested with Japanese Castlevania.

I selected the MT-32 when the game launches.
Mister sees the MT-32 Pi, and when I go into the Mister Gui, I can turn on the virtual LCD and it shows sound with instruments.

However, I only get sound effects from the game.
Like using the whip etc. No Music/Midi at all.

Thoughts,
Debu_Ranger
OriginalXOR
Posts: 37
Joined: Thu Aug 13, 2020 12:57 pm
Has thanked: 8 times
Been thanked: 7 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by OriginalXOR »

You may find that the output is still defaulted to the headphone jack on the Pi itself, plug some in and check, but to fix this go and find this in the config file on the MT32-Pi SD card:

[audio]

# Select audio output device.
#
# Values: pwm*, i2s
#
# pwm: Use the headphone jack
# hdmi: Use the HDMI port
# i2s: Use an I2S DAC
output_device = pwm

And change to:
output_device = hdmi **EDIT (WRONG SEE BELOW)

Good Luck 👍

output_device = i2s
**edit - my bad...
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

From the MT32 Pi wiki

[audio]
output_device = i2s

It should be set to i2S. please attach your cfg file as you may have errors in it. I can confirm that on the x68000 Core the MT32 option works with full music
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Hi,

The MT-32 Pi is connected to the i2s device.
I'm using the MT-32 Pi Lite
It's connected to the USB I/O.
This is my config.

output_device = i2s

Should I still change it to hdmi?

Code: Select all

#                                  ________    _______                      __
#                         __      /_____   `. /____   `.                   /__`
#     ____   ____     __/  /____  _______)  / ______)  / ____  ______      __
#   /   __ v  __  `./__   _____//_____    < /   _____. /____//   ___  `. /  /
#  /  /  /  /  /  /   /  /____  _______)  //  /______       /  /____/  //  .__
# /__/  /__/  /__/    \______//_________. /_________/      /   ______.  \____/
# /////////////////////////////////////////////////////// /  / //// /// // /
#                                                         ```
# mt32-pi.cfg: mt32-pi configuration file.
#
# Legacy Pixels Standard Interface v0.11.0
#
# Default options are marked with an asterisk (*).

# -----------------------------------------------------------------------------
# System options
# -----------------------------------------------------------------------------
[system]

# Enable or disable verbose startup and error output.
#
# When enabled, outputs more information to the LCD when starting up, and when
# MIDI/UART errors are detected.
#
# This also may hide the boot logo on smaller graphical displays.
#
# Values: on, off*
verbose = off

# Set the default synthesizer to be made active on startup.
#
# If the default synthesizer is unavailable (e.g. missing ROMs or SoundFonts),
# the first working synth is made active.
#
# Values: mt32*, soundfont
#
# mt32:      Use mt32emu (Munt) for Roland MT-32 emulation
# soundfont: Use FluidSynth for SoundFont synthesis
default_synth = mt32

# Enable or disable support for USB devices.
#
# Disable this to speed up boot time if you are not using any USB devices.
#
# Values: on*, off
usb = off

# Set the I2C baud rate/clock speed for all peripherals (Hz).
#
# Most peripherals will work fine at the default speed (400KHz "fast mode"),
# but larger LCD/OLED displays (e.g. 4-line I2C HD44780 and 64 pixel high
# SSD1306) won't be able to refresh at 60FPS at the default setting.
#
# Try increasing this value to 1000000 (1MHz) for a smoother LCD refresh rate.
# If your display doesn't work, try backing off the speed 100KHz at a time
# until it does.
#
# Values: 100000-1000000 (400000*)
i2c_baud_rate = 400000

# Set the timeout for power saving mode (seconds).
#
# After the specified number of seconds of silence, the CPU clock speed will be
# reduced, the audio device will be stopped, and and the LCD's backlight will
# be turned off to save energy (certain I2C displays only).
#
# Any MIDI activity will instantly bring the system out of power saving mode.
#
# If set to 0, power saving mode is disabled.
#
# Values: 0-3600 (300*)
power_save_timeout = 300

# -----------------------------------------------------------------------------
# MIDI options
# -----------------------------------------------------------------------------
[midi]

# Enable or disable searching for a USB MIDI interface on startup.
#
# Disable this to speed up boot time if you are using GPIO for MIDI.
# If no USB MIDI devices are detected, GPIO will be used as a fallback.
#
# Values: on*, off
usb = off

# Set the baud rate used for GPIO MIDI.
#
# For connecting to standard MIDI devices (i.e. via DIN cable), this should be
# left at the default rate of 31250.
#
# For connecting to PCs, set this to match the baud rate of the other host.
# SoftMPU's serial MIDI mode, for example, uses a baud rate of 38400.
#
# Values: 300-4000000 (31250*)
gpio_baud_rate = 31250

# Enable or disable software "MIDI thru" on the GPIO Tx pin.
#
# When enabled, all data received via the GPIO Rx pin will be re-transmitted
# verbatim on the Tx pin. This may be useful for debugging or for passing MIDI
# data through to another synth.
#
# Values: on, off*
gpio_thru = off

# Set the baud rate used for USB serial MIDI.
#
# The same considerations from the gpio_baud_rate setting above apply here.
# The default value is a PC baud rate and matches SoftMPU's serial MIDI mode.
#
# The range of valid baud rates may vary depending on the chipset of your USB
# serial device, so the range of values suggested below may actually be greater.
#
# Values: 9600-115200 (38400*)
usb_serial_baud_rate = 38400

# -----------------------------------------------------------------------------
# Audio options
# -----------------------------------------------------------------------------
[audio]

# Select audio output device.
#
# Values: pwm*, i2s
#
# pwm: Use the headphone jack
# hdmi: Use the HDMI port
# i2s: Use an I2S DAC
output_device = i2s

# Sample rate of audio output (Hz).
#
# mt32emu uses an internal sample rate of 32000Hz (just like the real hardware)
# which is then resampled to this value.
#
# FluidSynth renders at this sample rate directly.
#
# Values: 32000-192000 (48000*)
sample_rate = 48000

# Set audio rendering chunk size (samples).
#
# A single stereo frame of audio has two samples, and so this value is double
# the number of frames per chunk.
# The smaller the chunk size, the lower the latency, but too low a value will
# cause underruns (distortion artifacts).
#
# Latency is a function of chunk size and sample rate, for example:
# 256 samples / 2 channels / 48000Hz * 1000ms = 2.67ms of latency.
# See documentation for recommended values for various Raspberry Pi models.
#
# The minimum value varies depending on audio output device.
# For PWM, the minimum is 2, for I2S the minimum is 32.
# For HDMI, the minimum is 384, and will be rounded to the nearest multiple of
# 384.
#
# Values: 2-2048 (256*)
chunk_size = 256

# Set address (hexadecimal) of I2C DAC control interface.
#
# This will be used for the initialization sequence (see below) if enabled.
# You can find the address of your DAC by using the i2cdetect utility in Linux.
#
# Values: 00-80 (4c*)
i2c_dac_address = 4c

# Select an initialization sequence for the DAC.
#
# Some DACs require some initialization commands to be sent via I2C before they
# will produce any sound.
#
# Values: none*, pcm51xx
#
# pcm51xx: for DACs based on PCM5121 or similar (e.g. PCM5141, PCM5242)
i2c_dac_init = none

# -----------------------------------------------------------------------------
# Control options
# -----------------------------------------------------------------------------
[control]

# Set the physical control scheme.
#
# See documentation for GPIO pinouts/wiring details.
#
# Values: none*, simple_buttons, simple_encoder
#
# none:           No physical controls
# simple_buttons: Simple 4-button scheme
# simple_encoder: Simple 2-button + rotary encoder scheme
scheme = simple_buttons

# Set the rotary encoder type (if used by control scheme).
#
# Different rotary encoders may complete different fractions of a Gray-code
# cycle per detent ("click").
#
# If four clicks are needed for a single movement, try "quarter".
# If two clicks are needed for a single movement, try "half".
#
# Values: quarter, half, full*
encoder_type = full

# Reverse the rotary encoder direction (if used by control scheme).
#
# Some rotary encoders may have their CLK/DAT signals swapped, resulting in
# a reversed rotation direction.
#
# Use this option to correct the direction.
#
# Values: on, off*
encoder_reversed = off

# Enable or disable the I2C MiSTer control interface.
#
# If using mt32-pi with a MiSTer FPGA system and custom hardware to interface
# with MiSTer's User Port, enable this option to allow controlling mt32-pi via
# the MiSTer's on-screen display.
#
# Values: on, off*
mister = on
# Set the timeout for switching SoundFonts (seconds).
#
# When switching SoundFonts using the physical button, there is a short delay
# before loading begins. This option allows you to set the number of seconds to
# wait before loading.
#
# Values: 0-3600 (3*)
switch_timeout = 0

# -----------------------------------------------------------------------------
# MT-32 emulator options
# -----------------------------------------------------------------------------
[mt32emu]

# Set gain factor applied to synthesizer output channels.
#
# This is independent of the master volume that can be set via MIDI SysEx or
# the volume knob.
#
# Values: 0.0-256.0 (1.0*)
gain = 1.0

# Set gain factor applied to reverb wet output channels.
#
# Values: 0.0-infinity (1.0*)
reverb_gain = 1.0

# Select quality level for the resampler.
#
# If set to none, audio output will sound wrong unless you set the sample rate
# option to 32000Hz, which is the MT-32's native sample rate.
#
# Values: none, fastest, fast, good*, best
resampler_quality = good

# Select initial MIDI channel assignment.
#
# The MT-32 uses an unusual MIDI channel assignment by default. On a real MT-32
# this is set using a button combination. Use this option to change the initial
# channel assignment on startup.
#
# Values: standard*, alternate
#
# standard:  Parts 1-8 = MIDI channels 2-9, Rhythm part = MIDI channel 10
# alternate: Parts 1-8 = MIDI channels 1-8, Rhythm part = MIDI channel 10
midi_channels = standard

# Select initial ROM set to use.
#
# If multiple ROM sets are available, this option determines which set to use
# on startup. If the ROM set specified here is unavailable, the first available
# set is used instead.
#
# Values: old*, new, cm32l
rom_set = old

# Set whether the stereo channels should be swapped or not.
#
# The MT-32 interprets values for MIDI CC#10 (panpot) differently to later
# synthesizers, which means that 0 = right and 127 = left; the opposite of what
# is stated in the most recent versions of the MIDI specification.
#
# Enable this option to swap the channels and make MT-32 mode's panning
# behavior match the behavior of SoundFont mode. Note that this can also be
# switched at runtime with a custom SysEx command.
#
# Values: on, off*
reversed_stereo = off

# -----------------------------------------------------------------------------
# SoundFont synthesizer options
# -----------------------------------------------------------------------------
[fluidsynth]

# Set the initial SoundFont to use.
#
# If multiple SoundFonts are available, this option determines which SoundFont
# to use on startup.
#
# On startup, the "soundfonts" directory is scanned for valid SoundFonts, which
# are added to a list and sorted into alphabetical order.
#
# This setting is a zero-indexed offset into that list (i.e. 0 is the first,
# 1, is the second, and so on).
#
# If the index specified is unavailable, the first available SoundFont will be
# used.
#
# Values: 0-255 (0*)
soundfont = 0

# Set the master volume gain.
#
# The default is a low value to avoid clipping when many notes are playing at
# once.
#
# The value should be a decimal value between 0.0 and 10.0. Values outside this
# range will be clamped.
#
# Values: 0.0-10.0 (0.2*)
gain = 0.5

# Set the maximum number of voices that can be played simultaneously.
#
# Depending on the complexity of your SoundFont, you may need to reduce this
# value to prevent audio buffer underruns (distortion) when playing music
# featuring lots of notes being played at once.
#
# On the other hand, you may want to try raising this value if your Pi is
# being run overclocked or has a more powerful CPU (e.g. Pi 4/CM4).
#
# N.B. larger file size of the SoundFont does not imply higher CPU usage.
# SoundFonts that use more real-time effects (modulators) are more likely to
# require a reduction in polyphony.
#
# Values: 1-65535 (200*)
polyphony = 200

# The following settings set the default parameters for FluidSynth's reverb and
# chorus effects.
#
# Each setting can be overridden on a per-SoundFont basis by adding extra
# sections, e.g. [fluidsynth.soundfont.x], where x is the zero-based index of
# the SoundFont. See the next section for an example.
#
# Full descriptions and valid value ranges for each setting can be found in the
# FluidSynth documentation: https://www.fluidsynth.org/api/fluidsettings.xml
reverb = on
reverb_damping = 0.0
reverb_level = 0.9
reverb_room_size = 0.2
reverb_width = 0.5

chorus = on
chorus_depth = 8.0
chorus_level = 2.0
chorus_voices = 3
chorus_speed = 0.3

# -----------------------------------------------------------------------------
# FluidSynth effects profile for SoundFont 0 (GeneralUser GS)
# -----------------------------------------------------------------------------
[fluidsynth.soundfont.0]

# The following settings are recommended for GeneralUser GS by its author.
reverb = on
reverb_damping = 0.19
reverb_level = 0.5
reverb_room_size = 0.7
reverb_width = 0.75

chorus = on
chorus_depth = 4.5
chorus_level = 0.5
chorus_voices = 3
chorus_speed = 0.35

# -----------------------------------------------------------------------------
# LCD/OLED display options
# -----------------------------------------------------------------------------
[lcd]

# Select LCD driver.
#
# Note that LCDs connected via I2C, you must also set the correct address for
# your device via the i2c_lcd_address option. Consult its datasheet, or see
# our documentation for tested models and their configurations.
#
# Values: none*, hd44780_4bit, hd44780_i2c, sh1106_i2c, ssd1306_i2c
#
# none:         No LCD
# hd44780_4bit: Hitachi HD44780 or compatible (e.g. WS0010, RS0010) character
#               LCD connected to GPIO pins in 4-bit mode (see documentation for
#               pinout)
# hd44780_i2c:  As above, but using an I2C "backpack"
# sh1106_i2c:   Small I2C-based OLED graphical display (usually 1.3")
# ssd1306_i2c:  Small I2C-based OLED graphical display (usually 0.96")
type = ssd1306_i2c

# Set the width of the LCD.
#
# If the display is a character display, this value is measured in characters.
# Otherwise, for a graphical display, this is measured in pixels.
#
# Note that not all dimension settings are valid; see documentation for valid
# configurations for each LCD driver.
#
# Values: 20-128 (128*)
width = 128

# Set the height of the LCD.
#
# Same characters vs. pixels considerations as for width.
#
# Values: 2-64 (32*)
height = 64

# Set address (hexadecimal) of I2C LCD.
#
# This will be used to communicate with LCDs connected via the I2C bus.
#
# Values: 00-80 (3c*)
i2c_lcd_address = 3c

# Rotate the display output (graphical LCDs only).
#
# Some graphical displays support rotation. Use this option if you need to turn
# the display around.
#
# Values: normal*, inverted
#
# normal:   No rotation
# inverted: The display output is upside down
rotation = normal

# -----------------------------------------------------------------------------
# Network options
# -----------------------------------------------------------------------------
[network]

# Select the network mode.
#
# For setting your Wi-Fi SSID and encryption key, see wpa_supplicant.conf.
# Note that if using Ethernet on a Raspberry Pi 3B/3B+, USB must be enabled.
#
# off:      Disable networking
# ethernet: Enable using the Ethernet interface
# wifi:     Enable using the the Wi-Fi interface
#
# Values: off*, ethernet, wifi
mode = off

# Enable or disable DHCP for configuring the network.
#
# If disabled, the manual settings below will be used to configure your network
# interface instead.
#
# Values: on*, off
dhcp = on

# Manual settings for configuring the network interface.
#
# These settings will be ignored if DHCP is enabled.
#
# Values: correctly-formatted IP address/subnet mask, e.g. AAA.BBB.CCC.DDD
#         (four numbers in the range 0-255 separated by periods)
ip_address = 192.168.1.100
subnet_mask = 255.255.255.0
default_gateway = 192.168.1.1
dns_server = 192.168.1.1

# Set the network hostname.
#
# Values: a valid hostname using ASCII letters 'a' to 'z', digits 0-9, and
#         hyphens (*mt32-pi)
hostname = mt32-pi

# Enable or disable the RTP-MIDI/AppleMIDI server.
#
# This allows you to send MIDI data to mt32-pi over the network using macOS'
# built-in network MIDI features, or rtpMIDI by Tobias Erichsen on Windows.
#
# Values: on*, off
rtp_midi = on

# Enable or disable the embedded FTP server.
#
# This FTP server is a very basic implementation which DOES NOT feature any kind
# of transport layer security/encryption. Therefore, you should NOT enable this
# feature on a public network or expose the Raspberry Pi to the Internet.
#
# The FTP server should be considered a convenience feature only, for performing
# updates and configuration changes without having to replace the SD card.
#
# Values: on, off*
ftp = off

# Set the FTP server username and password.
#
# Values: any ASCII string (*mt32-pi)
ftp_username = mt32-pi
ftp_password = mt32-pi



Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

I saw that your I/O board has to be v 6.1 and above.
How can I find my revision and does that matter?
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Xbytez »

Debu_Ranger wrote: Mon Apr 04, 2022 4:25 pm How can I find my revision and does that matter?
Yes it does matter which IO board version you have, you either need the analog IO v5.6 or newer or the digital IO v1.2.
Note: A MiSTer I/O board is required to use the HAT, ideally version 5.6 or later. If you have a version 5.5 I/O board, it may be necessary to carry out minor modifications if you experience problems. Compare the schematics for I/O board 5.5 and I/O board 5.6, paying close attention to the six 10K pull-up resistors R39 to R44 that were added in version 5.6, and try adding them to your 5.5 board if you have have issues related to sound or the mt32-pi menu not appearing in the OSD.

Source: https://github.com/dwhinham/mt32-pi/wiki/MiSTer-FPGA
As for finding the IO board version, just look at the silk screen printing on the IO board, somewhere it will say the version number.

On this example of the v6.1 IO board, the version number is written below the MiSTer logo.

ioboard-v6-1.png
ioboard-v6-1.png (625.79 KiB) Viewed 3180 times
OriginalXOR
Posts: 37
Joined: Thu Aug 13, 2020 12:57 pm
Has thanked: 8 times
Been thanked: 7 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by OriginalXOR »

Yup my bad there, but yes to above (i2s). As it brings the audio back to the MiSTer and outputs through itself.

Do double check that audio was not going to the headphone jack of the pi if you are still having issues.
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

Debu_Ranger wrote: Mon Apr 04, 2022 3:08 pm Hi,

The MT-32 Pi is connected to the i2s device.
I'm using the MT-32 Pi Lite
It's connected to the USB I/O.
This is my config.

output_device = i2s

Should I still change it to hdmi?

Code: Select all

#                                  ________    _______                      __
#                         __      /_____   `. /____   `.                   /__`
#     ____   ____     __/  /____  _______)  / ______)  / ____  ______      __
#   /   __ v  __  `./__   _____//_____    < /   _____. /____//   ___  `. /  /
#  /  /  /  /  /  /   /  /____  _______)  //  /______       /  /____/  //  .__
# /__/  /__/  /__/    \______//_________. /_________/      /   ______.  \____/
# /////////////////////////////////////////////////////// /  / //// /// // /
#                                                         ```
# mt32-pi.cfg: mt32-pi configuration file.
#
# Legacy Pixels Standard Interface v0.11.0
#
# Default options are marked with an asterisk (*).

# -----------------------------------------------------------------------------
# System options
# -----------------------------------------------------------------------------
[system]

# Enable or disable verbose startup and error output.
#
# When enabled, outputs more information to the LCD when starting up, and when
# MIDI/UART errors are detected.
#
# This also may hide the boot logo on smaller graphical displays.
#
# Values: on, off*
verbose = off

# Set the default synthesizer to be made active on startup.
#
# If the default synthesizer is unavailable (e.g. missing ROMs or SoundFonts),
# the first working synth is made active.
#
# Values: mt32*, soundfont
#
# mt32:      Use mt32emu (Munt) for Roland MT-32 emulation
# soundfont: Use FluidSynth for SoundFont synthesis
default_synth = mt32

# Enable or disable support for USB devices.
#
# Disable this to speed up boot time if you are not using any USB devices.
#
# Values: on*, off
usb = off

# Set the I2C baud rate/clock speed for all peripherals (Hz).
#
# Most peripherals will work fine at the default speed (400KHz "fast mode"),
# but larger LCD/OLED displays (e.g. 4-line I2C HD44780 and 64 pixel high
# SSD1306) won't be able to refresh at 60FPS at the default setting.
#
# Try increasing this value to 1000000 (1MHz) for a smoother LCD refresh rate.
# If your display doesn't work, try backing off the speed 100KHz at a time
# until it does.
#
# Values: 100000-1000000 (400000*)
i2c_baud_rate = 400000

# Set the timeout for power saving mode (seconds).
#
# After the specified number of seconds of silence, the CPU clock speed will be
# reduced, the audio device will be stopped, and and the LCD's backlight will
# be turned off to save energy (certain I2C displays only).
#
# Any MIDI activity will instantly bring the system out of power saving mode.
#
# If set to 0, power saving mode is disabled.
#
# Values: 0-3600 (300*)
power_save_timeout = 300

# -----------------------------------------------------------------------------
# MIDI options
# -----------------------------------------------------------------------------
[midi]

# Enable or disable searching for a USB MIDI interface on startup.
#
# Disable this to speed up boot time if you are using GPIO for MIDI.
# If no USB MIDI devices are detected, GPIO will be used as a fallback.
#
# Values: on*, off
usb = off

# Set the baud rate used for GPIO MIDI.
#
# For connecting to standard MIDI devices (i.e. via DIN cable), this should be
# left at the default rate of 31250.
#
# For connecting to PCs, set this to match the baud rate of the other host.
# SoftMPU's serial MIDI mode, for example, uses a baud rate of 38400.
#
# Values: 300-4000000 (31250*)
gpio_baud_rate = 31250

# Enable or disable software "MIDI thru" on the GPIO Tx pin.
#
# When enabled, all data received via the GPIO Rx pin will be re-transmitted
# verbatim on the Tx pin. This may be useful for debugging or for passing MIDI
# data through to another synth.
#
# Values: on, off*
gpio_thru = off

# Set the baud rate used for USB serial MIDI.
#
# The same considerations from the gpio_baud_rate setting above apply here.
# The default value is a PC baud rate and matches SoftMPU's serial MIDI mode.
#
# The range of valid baud rates may vary depending on the chipset of your USB
# serial device, so the range of values suggested below may actually be greater.
#
# Values: 9600-115200 (38400*)
usb_serial_baud_rate = 38400

# -----------------------------------------------------------------------------
# Audio options
# -----------------------------------------------------------------------------
[audio]

# Select audio output device.
#
# Values: pwm*, i2s
#
# pwm: Use the headphone jack
# hdmi: Use the HDMI port
# i2s: Use an I2S DAC
output_device = i2s

# Sample rate of audio output (Hz).
#
# mt32emu uses an internal sample rate of 32000Hz (just like the real hardware)
# which is then resampled to this value.
#
# FluidSynth renders at this sample rate directly.
#
# Values: 32000-192000 (48000*)
sample_rate = 48000

# Set audio rendering chunk size (samples).
#
# A single stereo frame of audio has two samples, and so this value is double
# the number of frames per chunk.
# The smaller the chunk size, the lower the latency, but too low a value will
# cause underruns (distortion artifacts).
#
# Latency is a function of chunk size and sample rate, for example:
# 256 samples / 2 channels / 48000Hz * 1000ms = 2.67ms of latency.
# See documentation for recommended values for various Raspberry Pi models.
#
# The minimum value varies depending on audio output device.
# For PWM, the minimum is 2, for I2S the minimum is 32.
# For HDMI, the minimum is 384, and will be rounded to the nearest multiple of
# 384.
#
# Values: 2-2048 (256*)
chunk_size = 256

# Set address (hexadecimal) of I2C DAC control interface.
#
# This will be used for the initialization sequence (see below) if enabled.
# You can find the address of your DAC by using the i2cdetect utility in Linux.
#
# Values: 00-80 (4c*)
i2c_dac_address = 4c

# Select an initialization sequence for the DAC.
#
# Some DACs require some initialization commands to be sent via I2C before they
# will produce any sound.
#
# Values: none*, pcm51xx
#
# pcm51xx: for DACs based on PCM5121 or similar (e.g. PCM5141, PCM5242)
i2c_dac_init = none

# -----------------------------------------------------------------------------
# Control options
# -----------------------------------------------------------------------------
[control]

# Set the physical control scheme.
#
# See documentation for GPIO pinouts/wiring details.
#
# Values: none*, simple_buttons, simple_encoder
#
# none:           No physical controls
# simple_buttons: Simple 4-button scheme
# simple_encoder: Simple 2-button + rotary encoder scheme
scheme = simple_buttons

# Set the rotary encoder type (if used by control scheme).
#
# Different rotary encoders may complete different fractions of a Gray-code
# cycle per detent ("click").
#
# If four clicks are needed for a single movement, try "quarter".
# If two clicks are needed for a single movement, try "half".
#
# Values: quarter, half, full*
encoder_type = full

# Reverse the rotary encoder direction (if used by control scheme).
#
# Some rotary encoders may have their CLK/DAT signals swapped, resulting in
# a reversed rotation direction.
#
# Use this option to correct the direction.
#
# Values: on, off*
encoder_reversed = off

# Enable or disable the I2C MiSTer control interface.
#
# If using mt32-pi with a MiSTer FPGA system and custom hardware to interface
# with MiSTer's User Port, enable this option to allow controlling mt32-pi via
# the MiSTer's on-screen display.
#
# Values: on, off*
mister = on
# Set the timeout for switching SoundFonts (seconds).
#
# When switching SoundFonts using the physical button, there is a short delay
# before loading begins. This option allows you to set the number of seconds to
# wait before loading.
#
# Values: 0-3600 (3*)
switch_timeout = 0

# -----------------------------------------------------------------------------
# MT-32 emulator options
# -----------------------------------------------------------------------------
[mt32emu]

# Set gain factor applied to synthesizer output channels.
#
# This is independent of the master volume that can be set via MIDI SysEx or
# the volume knob.
#
# Values: 0.0-256.0 (1.0*)
gain = 1.0

# Set gain factor applied to reverb wet output channels.
#
# Values: 0.0-infinity (1.0*)
reverb_gain = 1.0

# Select quality level for the resampler.
#
# If set to none, audio output will sound wrong unless you set the sample rate
# option to 32000Hz, which is the MT-32's native sample rate.
#
# Values: none, fastest, fast, good*, best
resampler_quality = good

# Select initial MIDI channel assignment.
#
# The MT-32 uses an unusual MIDI channel assignment by default. On a real MT-32
# this is set using a button combination. Use this option to change the initial
# channel assignment on startup.
#
# Values: standard*, alternate
#
# standard:  Parts 1-8 = MIDI channels 2-9, Rhythm part = MIDI channel 10
# alternate: Parts 1-8 = MIDI channels 1-8, Rhythm part = MIDI channel 10
midi_channels = standard

# Select initial ROM set to use.
#
# If multiple ROM sets are available, this option determines which set to use
# on startup. If the ROM set specified here is unavailable, the first available
# set is used instead.
#
# Values: old*, new, cm32l
rom_set = old

# Set whether the stereo channels should be swapped or not.
#
# The MT-32 interprets values for MIDI CC#10 (panpot) differently to later
# synthesizers, which means that 0 = right and 127 = left; the opposite of what
# is stated in the most recent versions of the MIDI specification.
#
# Enable this option to swap the channels and make MT-32 mode's panning
# behavior match the behavior of SoundFont mode. Note that this can also be
# switched at runtime with a custom SysEx command.
#
# Values: on, off*
reversed_stereo = off

# -----------------------------------------------------------------------------
# SoundFont synthesizer options
# -----------------------------------------------------------------------------
[fluidsynth]

# Set the initial SoundFont to use.
#
# If multiple SoundFonts are available, this option determines which SoundFont
# to use on startup.
#
# On startup, the "soundfonts" directory is scanned for valid SoundFonts, which
# are added to a list and sorted into alphabetical order.
#
# This setting is a zero-indexed offset into that list (i.e. 0 is the first,
# 1, is the second, and so on).
#
# If the index specified is unavailable, the first available SoundFont will be
# used.
#
# Values: 0-255 (0*)
soundfont = 0

# Set the master volume gain.
#
# The default is a low value to avoid clipping when many notes are playing at
# once.
#
# The value should be a decimal value between 0.0 and 10.0. Values outside this
# range will be clamped.
#
# Values: 0.0-10.0 (0.2*)
gain = 0.5

# Set the maximum number of voices that can be played simultaneously.
#
# Depending on the complexity of your SoundFont, you may need to reduce this
# value to prevent audio buffer underruns (distortion) when playing music
# featuring lots of notes being played at once.
#
# On the other hand, you may want to try raising this value if your Pi is
# being run overclocked or has a more powerful CPU (e.g. Pi 4/CM4).
#
# N.B. larger file size of the SoundFont does not imply higher CPU usage.
# SoundFonts that use more real-time effects (modulators) are more likely to
# require a reduction in polyphony.
#
# Values: 1-65535 (200*)
polyphony = 200

# The following settings set the default parameters for FluidSynth's reverb and
# chorus effects.
#
# Each setting can be overridden on a per-SoundFont basis by adding extra
# sections, e.g. [fluidsynth.soundfont.x], where x is the zero-based index of
# the SoundFont. See the next section for an example.
#
# Full descriptions and valid value ranges for each setting can be found in the
# FluidSynth documentation: https://www.fluidsynth.org/api/fluidsettings.xml
reverb = on
reverb_damping = 0.0
reverb_level = 0.9
reverb_room_size = 0.2
reverb_width = 0.5

chorus = on
chorus_depth = 8.0
chorus_level = 2.0
chorus_voices = 3
chorus_speed = 0.3

# -----------------------------------------------------------------------------
# FluidSynth effects profile for SoundFont 0 (GeneralUser GS)
# -----------------------------------------------------------------------------
[fluidsynth.soundfont.0]

# The following settings are recommended for GeneralUser GS by its author.
reverb = on
reverb_damping = 0.19
reverb_level = 0.5
reverb_room_size = 0.7
reverb_width = 0.75

chorus = on
chorus_depth = 4.5
chorus_level = 0.5
chorus_voices = 3
chorus_speed = 0.35

# -----------------------------------------------------------------------------
# LCD/OLED display options
# -----------------------------------------------------------------------------
[lcd]

# Select LCD driver.
#
# Note that LCDs connected via I2C, you must also set the correct address for
# your device via the i2c_lcd_address option. Consult its datasheet, or see
# our documentation for tested models and their configurations.
#
# Values: none*, hd44780_4bit, hd44780_i2c, sh1106_i2c, ssd1306_i2c
#
# none:         No LCD
# hd44780_4bit: Hitachi HD44780 or compatible (e.g. WS0010, RS0010) character
#               LCD connected to GPIO pins in 4-bit mode (see documentation for
#               pinout)
# hd44780_i2c:  As above, but using an I2C "backpack"
# sh1106_i2c:   Small I2C-based OLED graphical display (usually 1.3")
# ssd1306_i2c:  Small I2C-based OLED graphical display (usually 0.96")
type = ssd1306_i2c

# Set the width of the LCD.
#
# If the display is a character display, this value is measured in characters.
# Otherwise, for a graphical display, this is measured in pixels.
#
# Note that not all dimension settings are valid; see documentation for valid
# configurations for each LCD driver.
#
# Values: 20-128 (128*)
width = 128

# Set the height of the LCD.
#
# Same characters vs. pixels considerations as for width.
#
# Values: 2-64 (32*)
height = 64

# Set address (hexadecimal) of I2C LCD.
#
# This will be used to communicate with LCDs connected via the I2C bus.
#
# Values: 00-80 (3c*)
i2c_lcd_address = 3c

# Rotate the display output (graphical LCDs only).
#
# Some graphical displays support rotation. Use this option if you need to turn
# the display around.
#
# Values: normal*, inverted
#
# normal:   No rotation
# inverted: The display output is upside down
rotation = normal

# -----------------------------------------------------------------------------
# Network options
# -----------------------------------------------------------------------------
[network]

# Select the network mode.
#
# For setting your Wi-Fi SSID and encryption key, see wpa_supplicant.conf.
# Note that if using Ethernet on a Raspberry Pi 3B/3B+, USB must be enabled.
#
# off:      Disable networking
# ethernet: Enable using the Ethernet interface
# wifi:     Enable using the the Wi-Fi interface
#
# Values: off*, ethernet, wifi
mode = off

# Enable or disable DHCP for configuring the network.
#
# If disabled, the manual settings below will be used to configure your network
# interface instead.
#
# Values: on*, off
dhcp = on

# Manual settings for configuring the network interface.
#
# These settings will be ignored if DHCP is enabled.
#
# Values: correctly-formatted IP address/subnet mask, e.g. AAA.BBB.CCC.DDD
#         (four numbers in the range 0-255 separated by periods)
ip_address = 192.168.1.100
subnet_mask = 255.255.255.0
default_gateway = 192.168.1.1
dns_server = 192.168.1.1

# Set the network hostname.
#
# Values: a valid hostname using ASCII letters 'a' to 'z', digits 0-9, and
#         hyphens (*mt32-pi)
hostname = mt32-pi

# Enable or disable the RTP-MIDI/AppleMIDI server.
#
# This allows you to send MIDI data to mt32-pi over the network using macOS'
# built-in network MIDI features, or rtpMIDI by Tobias Erichsen on Windows.
#
# Values: on*, off
rtp_midi = on

# Enable or disable the embedded FTP server.
#
# This FTP server is a very basic implementation which DOES NOT feature any kind
# of transport layer security/encryption. Therefore, you should NOT enable this
# feature on a public network or expose the Raspberry Pi to the Internet.
#
# The FTP server should be considered a convenience feature only, for performing
# updates and configuration changes without having to replace the SD card.
#
# Values: on, off*
ftp = off

# Set the FTP server username and password.
#
# Values: any ASCII string (*mt32-pi)
ftp_username = mt32-pi
ftp_password = mt32-pi



Looks Ok as is. I2s is the correct output device

These are the critical settings from the Mt32 Wiki

[audio]
output_device = i2s

[control]
# Required for physical buttons
scheme = simple_buttons

# Required for OSD controls
mister = on

[lcd]
# Required for OSD "LCD-On" and "LCD-Auto" modes even if you don't have a real OLED display connected
type = ssd1306_i2c

# You can use either 32 or 64 pixel height
height = 64
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

Next thing is what exact Mt32 Pi do you have. Pi 3/ 4 / Zero 2 W
How are you connected to the IO Port
Are you connected from the IO port to the Hat of the Mt32 Pi and not to the Pi itself ?
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Hi,

Checked the silk screen it is v 6.1

Thank You.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

FPGA64 wrote: Mon Apr 04, 2022 5:18 pm Next thing is what exact Mt32 Pi do you have. Pi 3/ 4 / Zero 2 W
How are you connected to the IO Port
Are you connected from the IO port to the Hat of the Mt32 Pi and not to the Pi itself ?
Hi,
Here is some clairification. It is tiny so I assume a Zero 2.
It connects directly via USB, no cable.
Using the USB IO port.
No On screen display or buttons.
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Xbytez »

Okay so you are using the mt32-pi lite,

Post a photograph of the top of your IO board to see if all the required header pins are soldered into place.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Xbytez wrote: Mon Apr 04, 2022 5:50 pm Okay so you are using the mt32-pi lite,

Post a photograph of the top of your IO board to see if all the required header pins are soldered into place.
Attached Picture.
Attachments
IMG_1086.JPG
IMG_1086.JPG (435.75 KiB) Viewed 3095 times
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Xbytez »

From the angle of the photograph they are hard to see, but it looks like you have the correct pins installed in the P7 header.

This is your P7 header where the pins are soldered:

p7-header.png
p7-header.png (336.04 KiB) Viewed 3058 times

These are the pins which must be connected for the User IO port to work.

Pins.png
Pins.png (14.55 KiB) Viewed 3069 times
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

Not trying to be funny but can you post a cleaner shot of the Right hand side. The header that does the User port is the one on that side. The one near the Ram chip
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

I'm also using analog sound right now out of the headphone jack on the mister if that makes any difference.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Thank you for taking the time btw. I do appreciate it.

I hope this picture helps, if not I can go and take another.
Attachments
IMG_1087.JPG
IMG_1087.JPG (379.62 KiB) Viewed 3051 times
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

Debu_Ranger wrote: Mon Apr 04, 2022 6:23 pm I'm also using analog sound right now out of the headphone jack on the mister if that makes any difference.
I get the sound out of my Mister with a Mt32 PI over HDMI. Do you get full output over HDMI ?
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

I only have a VGA monitor hooked up with an external speaker.

I do have a HDMI computer monitor with aux, so I tried that and only got sound effects as well.
So it is the same as with VGA.

I checked the EQ virtual LCD and it was moving.
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by FPGA64 »

Not sure then. I have a Pi 3a MT32 so not familiar with the zero 2 versions.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Thank You for trying. I can't seem to find many answers right now.
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Xbytez »

Depending on how technically minded you are, you could remove and test the IO board, as it may be an issue with continuity or a soldering bridge / short on the IO board.

See the mt32-pi wiki here for information on what to check and test.

https://github.com/dwhinham/mt32-pi/wik ... -io-boards

If this is outside your comfort zone I suggest you contact the seller of your mt32-pi lite and reach out for some help from them in troubleshooting your issue.
Karmeck
Posts: 77
Joined: Fri Feb 25, 2022 1:50 pm
Has thanked: 17 times
Been thanked: 5 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Karmeck »

Debu_Ranger wrote: Mon Apr 04, 2022 6:28 pm Thank you for taking the time btw. I do appreciate it.

I hope this picture helps, if not I can go and take another.
Pin 9 and 10 is missing.

Those two holes closest to the hole with a square around it.

Start counting from the pin closest to the i/o port.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

I think you are right about the pins. Reached out to my seller and he will send me some pictures so I can solder what needs to be changed.

I'm OK with that, just need to know what connects to what.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Hi,

Here is an update. As @Karmeck said, the pins were missing.
I ordered these pins from amazon:
https://www.amazon.com/dp/B07BXDYTBP

I then removed them from the plastic and inserted them into the holes.
IMG_1097.jpeg
IMG_1097.jpeg (365.62 KiB) Viewed 2722 times
I bought a pin shear tool from ifixit a few months ago and then sheard them flat to the pcb.
IMG_1098.jpeg
IMG_1098.jpeg (357.83 KiB) Viewed 2722 times
I then soldered the pins in place to the top of the PCB.
IMG_1103.jpeg
IMG_1103.jpeg (1.79 MiB) Viewed 2722 times
I was told pin 3 does nothing so I didn't bother soldering anything into it.

Now it all works fine.

Thanks for all the help.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Debu_Ranger »

Also, how do I mark this as solved?
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound

Unread post by Xbytez »

Debu_Ranger wrote: Sat Apr 09, 2022 8:18 pm Also, how do I mark this as solved?
I have marked as solved for you.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound [Solved]

Unread post by Debu_Ranger »

Thank You.
Karmeck
Posts: 77
Joined: Fri Feb 25, 2022 1:50 pm
Has thanked: 17 times
Been thanked: 5 times

Re: MT32-Pi GUI Shows EQ Moving But No Sound [Solved]

Unread post by Karmeck »

Debu_Ranger wrote: Sat Apr 09, 2022 8:48 pmThank You.

Nice soldering, grate that it all works now.
Debu_Ranger
Posts: 17
Joined: Mon Apr 04, 2022 2:06 pm

Re: MT32-Pi GUI Shows EQ Moving But No Sound [Solved]

Unread post by Debu_Ranger »

Thanks man!
Post Reply