[HN Gopher] I built a amp+cab+effects simulator for guitar on a ...
       ___________________________________________________________________
        
       I built a amp+cab+effects simulator for guitar on a Raspberry Pi 4B
        
       Author : fivedogit
       Score  : 88 points
       Date   : 2020-04-19 19:17 UTC (3 hours ago)
        
 (HTM) web link (thingamagig.com)
 (TXT) w3m dump (thingamagig.com)
        
       | weej wrote:
       | Thanks for sharing. This is great. I appreciate the additional
       | insight in the comments on the software behind it for the guitar
       | effects & tones. Kudos on the experimentation and iterations to
       | meet your needs. Wish I would have seen this for a potential DIY
       | project before I went in on purchasing the SPARK amp for at home
       | practices and FXs.
        
         | fivedogit wrote:
         | I became aware of Spark a couple of weeks ago. On the one hand,
         | I was irritated that someone else was on the same "voice-
         | controlled guitar playing" thread as me, but then (a) it's
         | validating and (b) they're not really going the same place I
         | am.
         | 
         | Thingamagig understands the underlying composition which means
         | it can automate tones, loopers, lights, cameras, etc. That need
         | was the genesis of this project and that's where its going.
         | Everybody else (including Spark, Fender Play) seems to think
         | the playalong is the end goal, which is why they short circuit
         | the hard work of building the composition library by
         | integrating Spotify or whatever.
         | 
         | Maybe they're right. Maybe I'm right. Maybe we're both right.
         | We'll see, I guess.
        
       | StavrosK wrote:
       | This looks impressive, but I'm most curious about the Alexa
       | integration. How do you do that without having to say "ask <app
       | name> to <x>" every time?
        
         | ricardobeat wrote:
         | In the video at the end of the page that is exactly how it
         | works: 'Alexa, ask Nexus to open Back in Black by AC/DC'.
        
           | StavrosK wrote:
           | He does say "Alexa, give me some metal EQ" and similar things
           | multiple times.
        
           | fivedogit wrote:
           | He's making a subtle point here. There's
           | 
           | "do x"
           | 
           | vs
           | 
           | "Alexa, do x"
           | 
           | vs
           | 
           | "Alexa, ask AppName to do x"
           | 
           | The first is when the skill does a thing and then immediately
           | starts listening again. The blue bar is already there and you
           | don't need to say "Alexa".
           | 
           | The second is when the skill is still open but not currently
           | listening. Takes a bit of hackery to keep the skill from
           | constantly closing, namely, long-running APL commands.
           | 
           | The third is when the skill is closed and you're trying to
           | get it to do something. I call this "deep launching" but it
           | almost never works. Amazon has built an amazing system here,
           | but the Alexa system needs work on recognizing skill names
           | for deep launching.
        
         | TylerE wrote:
         | It isn't impressive at all. It's a toy completely unsuited to
         | performance. The fact that he brags about "no knobs, no
         | switch's" shows how he completely fails to understand the
         | market.
         | 
         | This is top class /r/shittykickstarters (and do t be fooled,
         | this entire post exists just to shill a kickstarter)
         | 
         | There are plenty of mature, established modeling solutions on
         | the market.
        
           | hombre_fatal wrote:
           | Yikes.
           | 
           | There's no need to try to convince other people that this
           | shouldn't impress them. That's usually a sign that you should
           | just put the keyboard down and continue scrolling.
        
             | TylerE wrote:
             | Is this a discussion site anymore? Or just a circle of
             | mindless yes men?
        
           | ricardobeat wrote:
           | It is clearly for practice / home use and not for live
           | performance. The main value seems to be the automation for
           | switching tones based on song presets.
           | 
           | This is also the focus in one of the mainstream modelling
           | apps, ToneBridge, except it doesn't play along with tabs, so
           | there is clearly a market for it.
        
             | TylerE wrote:
             | All of the existing modelers support toggling based on midi
             | commands
        
           | fivedogit wrote:
           | Why the hate?
           | 
           | Do you know of any modeling solution where you can pick up
           | your guitar and play without your hands ever leaving the
           | guitar?
           | 
           | Do you know of any modeling solution that will automatically
           | change your guitar tones during playback?
           | 
           | And automate your loopers?
           | 
           | And scroll lyrics and chords in perfect time?
           | 
           | And (eventually) automate your vocal effects, lights, fog
           | machines, drone cameras and dancing baby Groot?
           | 
           | For < $150?
           | 
           | Thingamagig _understands the underlying composition_ which is
           | a critical component of advanced automation. No other
           | solution on the market does this. If it did, I would have
           | bought it and been done with it.
        
             | blackguardx wrote:
             | Launching products is super hard I wish you luck. Getting
             | detractors means you are doing something that at least
             | garners a reaction from people. If there are negative
             | reactions, there will also be positive ones.
        
             | TylerE wrote:
             | You can all that with a helix or axed if you're going to
             | mindlessly slave everything to a master track. All
             | straightforward midi.
             | 
             | Except those all have pedalboards so you can do it all with
             | your feet while playing if you are actually creating
             | anything.
             | 
             | I'm still confused why you think all this total automation
             | is a good thing. It's like selling a sewing machine that
             | only works with premade patterns.
        
               | throwawaybcporn wrote:
               | You didn't read it. He did exactly what you're suggesting
               | in the first iteration: Helix + MIDI controllers. Then he
               | explained why it sucked.
               | 
               | I mean, have your own opinion and all but if you don't
               | read, then it's not as valid.
        
         | fivedogit wrote:
         | Yeah good question. Alexa skills don't want to be long-lived so
         | you have to force them to stay open so you're not constantly
         | saying "Alexa ask <app name> to <x>" which, by the way, hardly
         | ever works.
         | 
         | With a video skill like this, I can submit APL documents and
         | then long-running commands to make it keep "doing something"
         | throughout the playback. There is a limit to how long you can
         | command it to "delay" but I think it's more than 5 minutes or
         | something.
         | 
         | I haven't tried it, but for non-video skills I've read that you
         | can play silent audio for a period of time to keep the skill
         | open.
         | 
         | Janky, for sure.
        
       | yummypaint wrote:
       | People interested in trying out this kind of thing should also
       | check out vcvrack. Its a free fully featured modular synthesizer
       | system, also very easy to set up. It should be possible to run it
       | on a pi, though i havent tried that personally. It also has
       | excelent midi integration, so one could try to reproduce some of
       | the hands free control with a program that does voice recognition
       | and supports a virtual midi interface.
        
         | [deleted]
        
       | m0zg wrote:
       | For comparison, here's what the current very best in this field
       | looks like: https://www.fractalaudio.com/iii/
       | 
       | $2K (and an absolute steal at this price), high end DSPs, high
       | end multichannel ADCs/DACs. Thankfully, lots of knobs and
       | buttons, and no Alexa of any kind. Sounds amazing. I have one.
        
       | ricardobeat wrote:
       | Awesome project! I was really hoping to read about the amp/cab
       | simulator and effects running on the Rasperry Pi as the title
       | mentions, but the software side is entirely missing from the
       | story.
       | 
       | Note that from a cursory look at the links, there hasn't been
       | updates since 2018, and the KS project never launched.
        
         | fivedogit wrote:
         | Sorry if it was short on software details.
         | 
         | It's realtime raspbian. Headless ardour (lua implementation). A
         | mix of guitarix and other amp sims. Proprietary cab sim IRs.
         | Various other effects packages like rkr, ardour-native plugins.
         | 
         | Person speaks to alexa, alexa calls a series of lambdas
         | (basically the not-yet-public API), and sends MQTT messages to
         | the device which is tied to the user's Thingamagig account
         | which is linked to their Alexa account.
         | 
         | https://github.com/raspberrypi/linux/tree/rpi-4.19.y-rt
         | 
         | Let me know if you have any other questions.
        
         | donquichotte wrote:
         | Looks like he used Ardour [1] and Guitarix [2].
         | 
         | I am curious about the latency of this setup, having used jack
         | and Ardour in the past for recording. I would be very surprised
         | if this rig yields a latency below a couple dozen milliseconds,
         | which, at least for me, is absolutely unbearable when playing
         | guitar.
         | 
         | Even with a dedicated DSP, effects processors in the early
         | 2000's (like the otherwise excellent Vox TonelabSE) greatly
         | struggled with latency issues.
         | 
         | [1] https://ardour.org/
         | 
         | [2] https://guitarix.org/
        
           | fivedogit wrote:
           | I was able to get 48000/256/3 working.
        
           | willis936 wrote:
           | Thanks for this. DSPs that accurately simulate hardware are
           | not as trivial as one might initially think. I've done some
           | thinking on this front, and the DSP based approaches that
           | simulate hardware are likely making many shortcuts. Take a
           | zener limiter circuit for example. You could just rail
           | samples with an amplitude comparison, but that's a bad sound.
           | So what I think most limiter DSPs do is apply a shaping
           | filter to that. It's an approximation, but not really
           | capturing the characterization of the circuit. The simplest
           | way to get an accurate response is with SPICE simulation. I'd
           | love to see a DSP that specialized in realtime SPICE
           | simulation. Failing that, you have to sit down and do the
           | math for each circuit yourself to establish the relationships
           | between component values and signals, then code that into
           | your DSP. It's not an unreasonably large amount of work, but
           | judging from the people I think are selling audio software, I
           | would be shocked if anyone is actually doing that.
        
         | immy wrote:
         | "please visit our kickstarter campaign launching Tuesday April
         | 21st, 2020"
        
       | zachrose wrote:
       | I wonder if it would be possible to build a six-item menu
       | selector that worked by picking up when you tap a string. This
       | would get in the way of alternating between selecting an amp and
       | trying that amp, but maybe there's some way to detect when a
       | string has been tapped from behind the bridge?
        
       | jkincaid wrote:
       | This is really interesting -- thank you for building it. It seems
       | some of the comments here are living up to HN's reputation. May
       | that prove to be a good omen, as it has been in the past.
       | 
       | The main thing I'm wondering is whether there's a way to record
       | with this (so here's my wishlist). Often I'll be practicing along
       | to another song, or just noodling around, and I'll really wish I
       | had recorded what I just played. Would be amazing if I could say,
       | "Alexa, record that", or "Alexa, record the last 90 seconds".
       | 
       | Similarly: "Alexa, record this." (and then after X minutes if I
       | forget to stop the recording / no input is detected Alexa asks if
       | I still want to be recording).
       | 
       | "Alexa play a metronome at 80 bpm and record this". "Alexa, play
       | the last track and record a new track" (gotta make this very
       | clear so as not to confuse overwriting the original vs recording
       | additional layers). Sync the recording folder w/ Dropbox so it's
       | ready for my DAW. Save two streams: one clean of the raw guitar
       | (so I can tweak to my heart's delight later), one with the
       | applied effects.
       | 
       | I'm curious to dig into the tones more; a lot of apps are goodish
       | but don't quite get it right. S-Gear is the best plugin I've
       | found. Also, I'm a huge fan of the amPlug 2 line from Vox. $40
       | for really impressive tones via a battery powered gadget as big
       | as a few matchboxes. Sounds great hooked up to speakers and good
       | enough to use in recording. But they don't give you a lot of
       | options in terms of effects.
       | 
       | Great project! Hope the above is useful -- I'll be following
       | along!
        
       | williesleg wrote:
       | I'll put money on this never getting shipped.
        
       | zwp wrote:
       | Great article, I wish I'd seen the mid-project posting to HN. I
       | was skeptical about the Alexa integration but that seems to work
       | well.
       | 
       | > ludicrously difficult to set up. Laptop + low-latency Linux +
       | Ardour + QLC+...
       | 
       | This resonates [sorry] with me. Linux sound today seems painfully
       | reminiscent of Linux X-Windows 20 years ago. There's a lot of
       | painful voodoo, competing control systems and legions of mostly
       | out-dated forum threads of dead-ends, anecdotal advice,
       | misinformation. I'm hoping that the next Ubuntu Studio will Just
       | Work on the laptop that I have put aside for it and that I won't
       | have to waste more time in the Pulse/Alsa/Jack soup.
       | 
       | I was aware of Guitarix but have not yet played with it. My
       | youngest is learning electric and we've got to the point where we
       | can play together, with me pounding out the bass line on an old
       | classical we had lying around(!). That is a blast but I wasn't
       | really intending to become a bassist. If I were to pick up an
       | electric guitar to fool around on, can Guitarix drop me down an
       | octave and make me a pretend bass player? (I had a quick poke
       | around the Guitarix wiki, couldn't see anything). There must be
       | DAW processing plugins to do this, but I'd really like to be
       | live. Are there other solutions? (apart from buying more
       | instruments I mean...).
       | 
       | Oh, and I love this:
       | 
       | > So I bought a 3D printer and became a CAD guy, I guess
       | 
       | "I had a hard problem to solve... so I... casually nuked it" :)
        
         | rhinoceraptor wrote:
         | It's a hardware solution, but digitech make a drop tuning
         | pedal.
        
           | zwp wrote:
           | That would definitely work (and we could also use it in
           | "Cobain emulation mode"!). Thanks for the tip.
        
         | fivedogit wrote:
         | Guitarix is really, really impressive and I'm eternally
         | grateful, but it is raw. It takes a lot of work to get it to
         | sound the way you want and is inconsistent from sim to sim.
         | However, by having control over the hardware and the sessions
         | (i.e. presets, basically) and totally bypassing the Guitarix
         | GUI, I was able to make it work for this project.
         | 
         | BTW, I'm not using any of guitarix's cab sims. Instead I
         | purchased a commercial license to professionally-shot
         | proprietary cab simulation IRs which make all the difference in
         | terms of tone quality. That metal portion of the demo is all
         | about the cab sims.
        
         | grawprog wrote:
         | >There's a lot of painful voodoo, competing control systems and
         | legions of mostly out-dated forum threads of dead-ends,
         | anecdotal advice, misinformation. I'm hoping that the next
         | Ubuntu Studio will Just Work on the laptop that I have put
         | aside for it and that I won't have to waste more time in the
         | Pulse/Alsa/Jack soup.
         | 
         | I've had a lot of success using kxstudio
         | 
         | https://kx.studio/
         | 
         | Along with cadence to manage Jack and alsa and Catia/Claudia
         | for managing studios and ladish sessions.
         | 
         | It can be installed on top of an existing Ubuntu based system
         | without much trouble and after setting it up it works
         | flawlessly for me. I've been using this setup for a few years
         | now.
         | 
         | >legions of mostly out-dated forum threads of dead-ends,
         | anecdotal advice, misinformation
         | 
         | I completely agree with this. Any guide that still recommends
         | qjackctl or manually fucking around with alsa and midi bridges
         | should be completely disregarded. There's zero reason to need
         | to do this any more and there hasn't been for at least half a
         | decade now.
         | 
         | It's really too bad, honestly the flexibility offered by Jack
         | and the huge range of audio software on linux allows for
         | workflows I'd never been able to do on windows. It's pretty
         | much the entire modular linux philosophy applied to making
         | music and it's closest i've come to the same kind of workflow
         | you get with hardware equipment.
         | 
         | Just fiddling around with different plugin routings can give
         | you some pretty cool sounds that can be patched into any Jack
         | aware software you have.
        
           | aidos wrote:
           | Does anyone have a good guide to understanding the Linux
           | audio ecosystem?
           | 
           | I know Linux fairly well from a server standpoint, but I
           | tried to do some audio stuff recently and couldn't make head
           | nor tail of it.
        
           | spacechild1 wrote:
           | What's the problem with qjackctl? What do you recommend
           | instead?
        
       | sbr464 wrote:
       | Check out Bela also for low latency audio.
       | 
       | https://bela.io/
        
       ___________________________________________________________________
       (page generated 2020-04-19 23:00 UTC)