Making Music with MATLAB -- Supplement. Supplement to Making Music with MATLAB: An Electronic Music Synthesis Course for Engineering Students Ed Doering 1999 International Conference on Acoustics, Speech, and Signal Processing Paper number 2169 Software resources used in the course: Cool Edit 96 (Syntrillium Software Corporation) Waveform editor, special effects. Spectra Plus (Pioneer Hill Software) Real-time audio spectrum analyzer. Midi-OX (Jamie O'Connell) Real-time MIDI event analyzer. Midi-Yoke (Jamie O'Connell) Software to configure MIDI driver connections. Karplus-Strong example: Signal Flow Diagram General OperationThe algorithm starts with the delay line elements set to zero.
Detailed Operation Lowpass filter (LPF) difference equation: y(n) = 0.5( x(n) + x(n-1) ). Www.music.mcgill.ca/~gautam/gau618fp.html. Gautam Bhattacharya MUMT 618 Final Project Winter 2012 Abstract This report describes a synthesis algorithm for efficiently simulating guitar distortion and feedback effects based on the work of [3]. The Karplus Strong Algorithm for plucked string is combined with a non - linear waveshaper and a feedback model, in order to simulate an electric guitar - amp cabinet setup. Details of the implementation, observations, results, and future work are presented. Overview The objective of this project was to implement a digital electric guitar model, A distortion waveshaper and a feedback model in order to simulate a real electric guitar - amplifier setup.
The synthesis model is designed to simulate the various physical systems comprising an electric guitar setup, that is - the guitar itself (the plucked string), the amplifier (distortion), and the interactions between the guitar and the amplifier (feedback). Figure 1: Synthesis Model Block Diagram The Plucked String N = fs/fo HL(Z) = 0.5 + 0.5z-1 K. Lab.andre-michelle.com/karplus-strong-guitar. Generating Guitar Chords using the Karplus-Strong Algorithm - MATLAB & Simulink Example. This example shows how to generate realistic guitar chords using the Karplus-Strong Algorithm and discrete-time filters. Setup Begin by defining variables that we will be using later, e.g. the sampling frequency, the first harmonic frequency of the A string, the offset of each string relative to the A string.
Fs = 44100; A = 110; % The A string of a guitar is normally tuned to 110 Hz Eoffset = -5; Doffset = 5; Goffset = 10; Boffset = 14; E2offset = 19; Generate the frequency vector that we will use for analysis. F = linspace(1/Fs, 1000, 2^12); Generate 4 seconds of zeros to be used to generate the guitar notes. x = zeros(Fs*4, 1); Playing a Note on an Open String When a guitar string is plucked or strummed, it produces a sound wave with peaks in the frequency domain that are equally spaced.
Determine the feedback delay based on the first harmonic frequency. delay = round(Fs/A); Generate an IIR filter whose poles approximate the harmonics of the A string. Show the magnitude response of the filter. Synthesizing a Guitar Using Physical Modeling Techniques.