Integration with recommendation system

Discussion in 'General discussion' started by srmourasilva, Apr 29, 2019.

  1. srmourasilva

    srmourasilva New Member


    I am Paulo Mateus and I am currently doing a master's degree in the area of artificial intelligence at the IFCE (Instituto Federal de Educação, Ciência e Tecnologia do Ceará -

    At graduation I developed Pedal Pi a DIY plugin processing equipment that uses LV2 audio plugins and runs on an embedded system (Raspberry).

    Continuing the work, I decided to develop a recommendation system where the algorithm would suggest plugins based on the plugins already present in the preset. At first I thought about doing for my graduation project, but I decided to apply in Zoom G3, because there are a lot of people using and presets shared on the internet (I need a set of presets to train the model) and also because I have the equipment and validate the result.

    I am still developing the work, I have some results and points to improve. One of the points is to apply the recommendation system somewhere. I discovered your tool and found it fantastic.
    I would like to make a pull request with the recommendation system when I finish the project, but I did not find the source code. How can I contribute to the project?

    Note: I have a Zoom G3, I could also add it in the program.

    If you want to have a look at the code, you can find the links below. But I'm still in the middle of development, so things are a bit messy.
    jlorial likes this.
  2. srmourasilva

    srmourasilva New Member

    I recently ordered the Zoom MS 50g. Since it has most of the effects of Zoom G3, I plan to apply it too.
  3. I think it will be interesting to you

    this is official page of russian maker - you can use google translate ...I belive :cool:
    srmourasilva likes this.
  4. srmourasilva

    srmourasilva New Member

    Boris Shiriagin,
    I appreciate the link.
    However I do not understand if the program also functions as parameter editor or is restricted to creating custom firmware.
    In google drive I saw the compiled files but no open source so I could not modify the program to add a recommendation system.

    I'll share the post on the topic that is discussing custom firmware. I think they'll find it more interesting!
  5. Regarding fireware update - please have a look below correspondence between me and zoom makers (from down to up) regarding ZOOM G5N


    I am not sure of the likelihood of a change would be, we can just give feedback to our engineers, and they may decide to implement changes, or they may not.

    HAUPPAUGE, NY 11788
    P: 631 542 5270

    Dear Deniz,

    Thank you a lot for prompt reply!!!
    Every thing is clear. I hope developers in Japan will create something...
    Meanwhile I would like to ask you to advise their answer (as soon as you rcvd it). Would they realize such functions or not...

    This information will be very important to me to make a correct decision.
    I will explain.
    As soon as I bought my new ZOOM G5N and discovered that loop/drum functions are not the same as for ZOOM G3, I started to look for information in Internet.
    On several forums (including Russian) I found msgs from ZOOM G5N owners, that they are also not so happy with such restrictions.

    So now I need to make choice: should I change my Zoom G5N to other pedal board, or if there any chance that "developers in Japan" can make some patch/update as I described in my previous msg, I will stay with ZOOM?
    I believe, that ZOOM "flagman" G5N is quite flexible and has enough resources to became more comfortable for happy owners.

    One more time, thank you for your support and sorry for inconvenience.

    Best Regards.

    Boris Shiriagin.

    11.01.2018, 17:54, "Deniz Arkali" <>:

    Deniz Arkali<>11 янв. 2018 в 1:54 PM -01

    Thank you for contacting us with your feedback. There currently is no way to use the looper/rhythm functions as you are describing on the G5n.

    I will forward your suggestion to our developers in Japan to consider for a future update.

    We appreciate your support!

    2_IAqu.png2040 EXPRESS DRIVE SOUTH, S 500
    HAUPPAUGE, NY 11788
    P: 631 542 5270

    Ширягин Борис<>10 янв. 2018 в 10:46 PM -01
    Good Day Dear Sirs,

    I would like to ask you one question.
    Previously I was using Zoom G3 for 4 years. It was my first pedal board and it was greate and universal instrument. I was able to record full track or jam by using looper/drum functions together with different patches (as for bass, rhythm and solo guitars, just by pressing one knob to change patch during looper and drum were working). But times are passed and I gave my old ZOON G3 to my small brother (he was really happy). So now I became a happy owner of ZOOM G5N (I was a good boy in last year, so Santa brought it to me on X-MASS)
    But now I found that I could not use looper (80 seconds!!! - WOW!!!) and drum functions, as it was previously (independent from patches). If I change patch...looper/drum will be stopped ... And it is really sad, that I can use them only in one line with one patch...
    You made a really good product and support it with updates and patches for software.
    So my question is:

    Is it possible, that you will create separate patch/update for software (for ZOOM G5N), which will permit to use drum/looper functions separately of patches (as it was realized at ZOOM G3, G3X)? Zoom G5N has one not so useful knob "tap" it can be programmed for calling loopers / drums menu (as option)...
    I know that I'm asking too much... but maybe you have already this option ( in some not realized alpha/beta/2.x.... versions of software).. If so, I will be very appreciated, if you can share such patch/update with me. It will be VERY USEFUL for me!
    I liked ZOOM G3 because it had such function... Now I would like to Love my ZOOM G5N… But without this functions it is really not so comfortably ... to use it, especially for jam (when you playing on bass/ el. guitars alone (you need different sound), one by one... you should be able to change patches as fast as possible, without stopping the looper and drum).
    Any your reply will be appreciated. Thank you in advance and sorry for inconvenience.

    Best Regards.

    Boris Shiriagin.
    srmourasilva likes this.
  6. srmourasilva

    srmourasilva New Member

    Hello, I see in Zoom decisions more focused on the business model (selling product over product) than coming from the engineers. So I do not believe that any implementation by them brings me any benefit in a product I already own.

    The project goes beyond the recognition of the company :)
  7. Randy

    Randy New Member

    Hello, srmourasilva

    I've read your Github page, but I'm not sure what this patch will do.
    I want to introduce MS50G's effects to G3 but is it possible?

    Thank you
  8. srmourasilva

    srmourasilva New Member

    Hello @Randy

    The idea of my project is to create a recommendation system that suggests user plugins based on those he has already pre-selected.

    For example, the user is creating a configuration and has already chosen the plugins of positions 1, 2 and 3. He will choose the fourth plugin.
    Instead of the effects list* being sorted alphabetically, it would be sorted by the plugins most likely to use for the fourth position. This ordering is given by a machine learning algorithm that considers people's settings and suggests the effects that best match those already selected.

    * "Available effects" column on the right side

    No, this is not the purpose of my project.
  9. What's the point of this “system”? What's the underlying logic? Is it at level “oh, that guy likes 40% of gain on overdrive and some compressor after the cab sim”? How the hell would anybody suggest a preset based on what's already downloaded? For example, I don't use any presets at all except those I made myself specifically for my axes. I severely doubt there's a way to guess one's musical needs based on a most used preset in a sound processor.
  10. srmourasilva

    srmourasilva New Member


    First, I will clarify that the recommendation system is the general name for programs that recommend things. It does not necessarily have to be a separate program, it can only be an option within a program.
    The purpose of the system, as I said, is to:

    The machine learning models I used do not give this information at this level of detail. They look for nonlinear relationships between the effects of similar patches. Interestingly, it is difficult to explain the relationships models have learned, but the results are often quite accurate in many areas of application.

    Google generates search results for a multitude of things, including what you've seen, searched for, downloaded.

    In the developed system, I do not consider other patches already downloaded by the user, only the plugins that have already been selected in the patch that the user is currently creating. If you take a moment to think, knowing for example that a user likes metal greatly influences the effects they are likely to use in a new configuration.

    Just making it clear, what is proposed here is
    1. a user is building a patch (ie the patch is incomplete);
    2. He has already selected some effects. For example put a distortion and a compressor;
    3. He will now select a third effect, he can:
      1. If he has any notion, he will select a category, test some effects, and choose one;
      2. If he is a beginner, he will test various effects until he finds something similar to what he wants;

    In either 3.1 or 3.2, instead of the program listing the plugins by category alphabetically or stared plugins first, the list of plugins could be sorted by the most likely plugins to use. This order is given by the recommendation system.

    It is completely natural for you to doubt something you do not understand. But I can tell you that in my academic work developed in the master's degree, the system suggested the expected effect among the top five positions on the list about 50% and 60% of the time I did the Zoom G3 experiments.

    The work was duly analyzed by the double blind process and will be presented in October. After the date I can share the paper.
  11. Not really. You probably aren't a mixing engineer (and not a guitar player definitely, otherwise you'd know what I'll talk about further), so you don't know that effects and even amp models don't pay that much of a role regarding genres. I am, so I can make you a bluesy sound on a “totally metal” Orange Crush, or a really heavy tone on Marshall JTM45. Feeding the network with parameters instead of model names could have a better effect. However, there's another caveat: guitar sound isn't always about personal tastes; in most cases, especially when one works as a session musician, it's a mandatory requirement, so a session musician using too different sounds will not get any usable suggestions. The third thing, the most important: every guitar is different, as well as the players. They vastly differ in means of tone (sound spectrum), output signal level, bridge setup etc. A preset that worked for, say, my “arrangement recording” guitar is not gonna work exactly the same with my guitar player's guitar, because he's got, say, ash body and passive Seymour Duncan pickups while I've got, say, active EMG pickups and mahogany body. These are gonna sound more and more different as the amp gain increases, and they respond differently to the EQ. Your whole idea is cool, but, as a musician, mixing/mastering engineer and composer with a degree in music (as a player), I disagree on the method you've chosen.

  12. alexthebassist, you may be an excellent mixing engineer, but if you don't know scientific methods or how science behaves, you should be careful about criticizing research, even about music. Sincerely.
  13. srmourasilva

    srmourasilva New Member

    Hello, @alexthebassist

    I wish I had seen your comment before, but I just saw it now. Thank you for confronting the idea, this is good because then I can improve my research.

    In fact, neither are things I do to support myself financially. But I play a little electric guitar and I know what you said.

    The first time I realized this was about 6/8 years ago, when I found some G1 zoom settings on the internet and saw that they didn't look as nice to me as they promised on the internet.

    I believe that there is a "noise" in the communication. I don't recall ever talking about gender-based recommendation, for example.

    I will try to summarize again what I did: A user is creating a patch, has already selected some 3 plugins and is looking for the fourth. If he is quite familiar with the equipment, he will select exactly the plugin that will give the sound he wants. If he is a totally lay person, he will test all the plugins. In the general case, the person probably knows the category, and will try some plugins.

    When a user wants to select a plugin, Zoom Edit & Share and Tonelib organize them by category. What I propose is that if the user wishes, the plugins are sorted by the ones that the user will probably use, given the plugins they have already selected. Ordering is done by trained machine learning models to learn how people often use plugins together.

    Note that I am creating a tool to help people using the equipment. It does not do magic and also does not suggest parameters for the plugins (there are other academic papers for this). Also, if you make very peculiar patches (totally different from how people use it), the tool probably won't help much.
    As instance, no one uses the "Boomer" plugin, so if you expected the tool to suggest this plugin to you, it wouldn't happen.

    After reading this description, I would like you to clarify the problem. If you just think it doesn't really work, the discussion ends here, because I have results that say otherwise. You may also be interested in how I rate, disagree with the methodology and even suggest a better way for me to evaluate, which would be pretty cool for me! =)
  14. I did some linguistic research in the past, back then when I was almost done with my degree in music, so I know how does science behave. You better shut up and watch the thread fill up with real discussion instead of posting your half-insults.
    So, as I said before, every guitar has its own sound. It's not they all are like a sine wave enriched with harmonics, real guitar sound is a very complex texture of non-linear stuff, dependent on virtually everything, including weather conditions. The main factors that form the sound are: strings and their condition (cleanness, rigidness, size etc); pickups; wood (yes, it really matters, because both body and neck oscillate along with strings; that's why glued-in neck guitars have much better sustain and less high freqs than their bolt-on neck counterparts); bridge type and condition; pick (thickness, sharpness, hardness); potentiometers and their condition; scale length; quality of cables. These are the things that affect the sound before it even gets to the preamp, stompbox or interface. It's 100% logical that your guitar didn't sound “right” with that exact patch. That's why presets are usually hated by pro musicians and mixers: they are a way to lose ridiculously big amounts of time while trying to make a decent sound out of them.
    The reality is, most people use processing wrong. They compress clean guitars before preamp stage, which should be considered as a violent crime and punished accordingly; most (I mean at least 99,999999% of all guitar players in the world, and all the bass players except me, my second student and maybe Ewan Brewer) don't use effects loop, and if they do, they do it wrong; they EQ like they're totally deaf. In digital world, things are even more bizarre. So, I personally think that your system, considering it's a neural network, will fail in real life, unless it gets explicitly and preliminary trained by pro players. Amateurs, which are the biggest majority, do shockingly stupid stuff, and it's done repeatedly regardless of how easy it is to learn building a good signal chain. They'll teach the network to do the same stupid shit they do. Heck, even some “pros” are “pros” just because they eventually get paid for their gigs and records, not because they know how to handle their equipment. I checked out user uploaded presets here, and most of them are awfully constructed, with zero knowledge about how a real signal chain is built.
  15. srmourasilva

    srmourasilva New Member

    This is a pretty important point, really! If the model learns how people use it, and everyone uses it "wrong," then it will only help to perpetuate mistakes. This even includes ethical discussions about the use of machine learning, such as those we see about bubbles in social networks.

    This would be a very good experiment. If I had the information of what patches are quality, I could perform the experiment:
    "How useful is my system for amateurs? And for experts?"

    However, in my experiment, because of the lack of information on the patches I got (which were collected on, I abstained from the quality discussion and only considered that this was the way people used the equipment. As a result, if 99.999% of people use "wrong" and the system helps this large group, for them the system is very useful!

    One hypothesis that could be drawn from my work is that perhaps the system is useful for the large group of amateurs who use Zoom G3 equipment, but for professionals it may not be as useful.
    I could validate if I implemented my tool and experts would evaluate it or if I could get expertly configured configurations.

    So at least what I can do here is:
    Again ask the Tonib creator to be interested in my work and that I can add this extension (so that experts can evaluate if it's useful) and you @alexthebassist share your knowledge by uploading your patches.

    Note: I want to update my dissertation (which I still need to submit the final version) with the discussions here.
  16. srmourasilva

    srmourasilva New Member

    An interesting future work would be for the model to learn from the patches modeled by amateurs and experts, but prioritize those built by experts.
  17. But then it looks like: “74% of Americans eat fast food full of fat, sugar and salt, so it's okay if there are so many of them; let's help them to eat more of it”.
    Last edited: Aug 29, 2019
  18. I don't have any Zoom hardware and don't have any plans to, as I am not even remotely satisfied with DSP quality they provide. Guitar and bass equipment was always their weakest side, unlike field recorders. Maybe their guitar processors got a little better since I tried them last time, but they still are out of my interest: on stage, the only digital thing I use is a tuner, and no digital thing still has the sound I would like and use for long.

    However, I can share some details on why right ordering of both real pedals and plugins is important. For instance, there's a pair of guitar players who want a slightly overdriven and “big” clean tone to jam along some bluesy stuff. They will choose the same processors for their tone: a compressor and a reverb, not mentioning the standard head+cab combination. An amateur will put compressor before amp. That lessens the dynamics before pre-amplification stage, which will result in loss of preamp tube's responsiveness to signal amplitude, thus completely killing that “tube vibe”, the Holy Grail of guitar sound. What does that vibe consist technically of is soft clipping with addition of even harmonics to the guitar signal when it's too high, so a player can vary both volume (to some extent) and overdrive amount with just their picking hand. When the guitar gets compressed before, it doesn't properly hit that overdrive threshold: it either doesn't get there at all, or does get there more than it's needed, making performance sound somewhat dull, robotic, or plainly poor, like the equipment or guitar itself is broken or badly configured (which is the reality, by the way). A pro knows the consequences, so they would plug the compressor in after preamp: with real gear, it will go to the effects loop (if used at all); in digital, it will go after the cab simulation, to get the compressor not only tame too edgy transients, but also to slightly shape the overall guitar's tone to a more “deep”, “rich”, and “consistent” state. And, hell yes, it leaves all the input dynamics intact, so a resulting sound is both dynamic (tone-wise) and smooth amplitude-wise. This also can be done during a live gig by compressing microphone's signal, leaving the guitar player on stage with full dynamics, but giving the audience a less “jumpy” sound. Reverb is a different beast, but, again, an amateur would often place it right before the preamp, which is, again, wrong: too much of delay lines, which are the very base of this effect, create nothing but a dirty, dull and howling sound instead of sweet guitar solo we like to hear. A pro knows that all spatial effects should go to the last position, as they have the most impact on sound and often are based off the delay line. So, a pro plugs a reverb in right before power amp (basically as the last thing in effects loop), or gives the sound engineer freedom to choose an appropriate reverb for the audience, playing on stage with the “bare” tone. In digital, a pro puts the reverb to the end of signal chain, even after delays, flangers and such, as it would be “on the album”—in a mixing scenario. There are real rules about what goes after what, because changing places of only one effect can significantly reshape the tone.
    Last edited: Aug 29, 2019