# __ ________ ________ .__ # ______/ |\_____ \ \_____ \ ______ |__| # / \ __\_(__ < / ____/ ______ \____ \| | # | Y Y \ | / \/ \ /_____/ | |_> > | # |__|_| /__|/______ /\_______ \ | __/|__| # \/ \/ \/ |__| # # mt32-pi.cfg: mt32-pi configuration file. # Default options are marked with an asterisk (*). # ----------------------------------------------------------------------------- # 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 = on # 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 # ----------------------------------------------------------------------------- # Audio options # ----------------------------------------------------------------------------- [audio] # Select audio output device. # # Values: pwm*, i2s # # pwm: Use the headphone jack # i2s: Use an I2S DAC output_device = pwm # Sample rate of audio output (Hz). # # mt32emu uses an internal samplerate of 32000Hz (just like the real hardware) # which is then resampled to this value. # # Values: 32000-192000 (96000*) sample_rate = 96000 # 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: # 512 chunks / 2 channels / 96000Hz * 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. # # Values: 2-2048 (512*) chunk_size = 512 # 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 # ----------------------------------------------------------------------------- # MT-32 emulator options # ----------------------------------------------------------------------------- [mt32emu] # 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 = best # ----------------------------------------------------------------------------- # 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, 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" # ssd1306_i2c: Small I2C-based OLED graphical display type = none # 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 (20*) width = 128 # Set the height of the LCD. # # Same characters vs. pixels considerations as for width. # # Values: 2-32 (2*) height = 32 # 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