UPDATE: The new version of pulseaudio seems to monopolize the soundcard, preventing the python scripts from accessing it. To fix this problem, simply uninstall pulseaudio.
Yeah. I think prices are really only high because it's a niche market, etc... makes no sense, given how cheap smartphones and stuff are. If you do build this, I'd love to hear how it goes!
Haha, well I'm sure some people have the money but not the time. What I've come up with is also very basic feature-wise compared to commercial products.
Great video! I been thinking about building something like this for a few weeks but i didnt know where to start , so your video comes at the perfect time. Keep up the good work!!!
Bro I thought the idea was great when I see your video on reddit as I'm into production and production tools, but the design and manufacture walkthrough is amazing! Keep up the great work! ✌ Edit: THE MIXER!
Took me two hours of looking for "make your own loop pedal" (you probably know that google will give me a heap of pedal switches). This fantastic. Now to shop for parts. A few tweeks of my own too 😂
this is an incredible tutorial, thank you! i am thinking of making a 3d printed version with some extra keyboard switches i have. i will share the file when i finish it
great video, definitely going to do this! One thing though, are you able to add more than four tracks, or is there a limitation in the software or the pi?
Glad you liked it! Make sure to check out the update video for the software setup. The script is currently set up to do 4 tracks. Someone did make a 6-track version, but it would require some changes to the code
Awesome videos and I appreciate you sharing your knowledge! I already have some ideas for a project I'd like to make, but I have some questions for you if you don't mind. 1. As I understand it, it would be possible to build this device such that you could just use an electric guitar cord's jack as the input, correct? If so, could you bypass that step and build the looper into the guitar in some way? 2. Along those same lines, this version of the build is using your laptop as a power supply (I'm assuming), could this device work with a more portable external power supply like a 9V battery? 3. Regarding the two outputs, if you wanted volume control over the loop tracks and the "lead" guitar separate, could you simply connect the two outputs to two different amps? Is it possible to build a small mixer that gives volume control over these two outputs individually before combining them? Like I said, awesome project and videos. Thanks in advance for any guidance you can provide.
Alright, so... 1) Yes, you can plug your guitar into this looper. Putting a Looper in a guitar is a funny idea, I'm not sure I'd be interested in that - mostly because a) While I don't mind making small electrical mods to my guitar I'm not thrilled by the idea of messing with it that much and b) I almost always will want to use a multi-fx pedal or something like that between my guitar and the looper. All this aside, if you want to build this looper or something similar into your guitar I see no reason that it wouldn't be possible, except that with an electric guitar you might have to rout a new cavity for it. 2. I was using a cell phone charger as a power supply. The simplest way to make something like this portable would be to use an off-the-shelf power bank. 3. I _did_ build a small mixer to combine the signals, and I talked about it briefly in the video. A schematic is linked in the description. Yes, you could certainly plug the two signals into two separate amps. Thanks for watching! :)
There are four tracks that can be overdubbed, muted and unmuted individually. You could definitely find ways to build a verse and a chorus and switch between them.
Hey, first of all, this is awesome! Thx a lot for sharing! I build a prototype with just one play/record-button-set to test if it would work on a 3 B+ I had lying around. I can already tell I'm going to build the whole thing to be honest. It's sooo much fun... When I record, the first two loops turn out quite good, but from the third loop there's increasing creaking in the resulting output. Do you think this might be related to my settings, or could it be because I'm using a 3 B+ instead of the 4 you suggest? Hard to get your hands on these nowadays... Any answer highly appreciated!
@@Psychotenuse Thx a lot, did that yesterday. But I don't think this is debuggable remotely. I'll try to get a raspberry 4 and try it with that one. Will keep you updated here.
Really glad I found this -- was thinking of this project the other day and seems the timing is perfect since you just uploaded it! If i theoretically wanted to mix the direct out with the loop out -- is that something that can be done passively or does it need to be processed? Any thoughts on how to do that?
Glad you like it! :) So just in case you missed it I'll point out that I built a little mixer for the looper, and there's a schematic linked in the description. If you wish, you could build this circuit into your looper enclosure and power it from the Pi header. It is NOT passive, though, and there's a reason for that. The problem with passive mixing is that inputs and outputs are fundamentally no different... all your outputs are inputs and all your inputs are outputs, so output signals are also input signals, meaning that you would end up recording your entire loop mix onto every single overdub. There is actually a way around this which only works specifically for "mixing" EXACTLY TWO signals. This is to ignore the ground lines on both signals and simply connect the two signal lines to the two terminals of your audio jack. This way you effectively get the difference signal, which typically is functionally no different from the summation signal. The problem with this approach is that ungrounded signals are a bad idea in general; they make you much more susceptible to being affected by all sorts of noise and interference.
@@Psychotenuse ah I see -- when you said mixer i thought it was just like a DIY mixing board you used but if it's used to mix the two outputs I'll take a look at it. Thanks! Another question - I'm thinking of replacing the MIC input 1/4" jack with an XLR jack (maybe even an XLR & 1/4" combo jack) -- Any special considerations you can think of on that one? I assume I'd use a mono XLR jack rather than stereo but i'm sort of a beginner on this stuff.
If you're a beginner, I would recommend using a 1/4" TS jack, because it's simple. The XLR connector, while often used for unbalanced audio, is in fact "supposed to be used" for balanced audio. If you wanted to make a legit XLR input you would need yet more active circuitry. If you want to use a condenser mic you need phantom power, further into the weeds! Now you could simply connect an XLR jack without all this circuitry, as an unbalanced input. You can look up XLR unbalanced connection to see how this is done. This would probably work for many things (dynamic mics for instance) but might not work for everything you plug in.
Great build! I'm putting things together to build it (mostly) from parts I have OH. So, thinking of ways to simplify the output, could you input to the onboard 3.5mm and output via Bluetooth? I really want to input both signals into the aux on my amp, so could you just splice the two signals back into one 3.5mm output? Anyway, thx for video and great idea.
I would not recommend using Bluetooth, mostly due to possible latency issues. Using the internal soundcard should work - it occurs to me I've never actually tried it - but I've heard the onboard audio is pretty bad. No, you cannot splice the output signals together passively; it would cause all sorts of problems. If you want a single output, the easiest way to do this is simply to use a USB soundcard with built-in hardware monitoring. Otherwise, you'll need a mixer circuit of some kind. I built such a circuit, and the schematic for it is linked in the description of this video. You could incorporate a circuit like that into your looper to eliminate the whole 'two outputs' thing.
An even better solution to autostart would be to add it to crontab, since bashrc only executes when you open a bash console, and crontab can be set up to run when the pi boots up, even if it doesn't automatically log in
Awesome project and exactly what I wanted to build. I have a few questions. What's the purpose of using momentary switches rather than latching? Does this mean you have to have it pushed during the entire recording? Could larger, more traditional stomp switches be used in place? The little buttons shown here seem like they'd be easy to miss with your shoe while on stage.
Thanks for watching :) You don't have to hold the button down while recording, as you can see at the beginning of the video. Momentary switches are more versatile than latching switches because they allow you to detect long-presses i.e. button "hold" events in addition to button "press" events. Toggles are implemented in the software.
Last question I think. I have access to an older Pi already. Would there be any issues with your code or the playability of it (lag, etc) on an older model, assuming it's at least 2 gig of RAM?
I just had a question about the GPIO connections: If you look online there are diagrams of the GPIO pins or the raspberry pi. Are these connections labelled like what those diagrams show as "GPIO 2" or whatever, or the numbers actually on the pins? Thank you :) also, your content is amazing, and this tutorial is exactly what I have been looking for the past few weeks :)
Damn that's so cool. Ive seen ed Sheeran using a loop pedal and i am so eager to get one, but can't afford it. The single track pedals are not as fun xD U can literally make everything by urself man. That's crazy. Love the innovative and drive u have for music and electronics.🔥 GL. Keep it up! Ps: i noticed ur background music, did you play it using this looper?
@@Psychotenuse you should make money out of all your projects. I do want to build it, but i haven't played my guitar in almost a year. When i do get back to it i will definitely build one like this. Thanks a ton for this video. Saves a lot of research work 👍
Thank you for this project. When I perform a loop I have roughly a 3 second lag between loops. What setting do I need to change to remove the space? Thank you!
3 seconds is way too much, honestly I think I set the maximum on the latency script to 1 second or something. My immediate reaction would be try a different soundcard (and repeat the setup process for it). If the problem persists, email me at the address in my channel about and we will try to figure out what's going on.
thanks for this! altho when i tried to check for latency there was an error saying that the “np.float” command is no longer compatible with numpy 1.20 (i am on 1.24) instead use “float” by itself is there any way i can edit your latency code and clone said repository with renewed code to my raspberry pi? OR is there a way to downgrade numpy back to before 1.20? this was my first time doing anything with coding and this video has given me many experiences so thank you again for this!
@@Psychotenusehey! so i found a workaround for the latency part! but the autoboot part has an error going “Error writing /home/pi/.bashrc: No such file or directory” does it have something to do with the fact that i am not using linux but connecting the raspberry pi directly through my monitor using a hdmi port? and what do i do about it? anyway i appreciated your response and sorry for taking your time!
@@Psychotenuseyo! so apparently i had set a different username this whole time XD i got it running and the software part is done but as i feared i couldnt quite understand the schematic for the audio, so it unfortunately had no guitar sounds out the output i’ll try to write out what i understood: so i have 2 wires which has tip,sleeve and ground wire in it which then i soldered them to each ts socket, one is used to connect with the amp and one for the guitar for the guitar jack i connect it to the mic part of the usb soundcard and for the amp jack i connect it with the headphone part of the soundcard sounds were made when i did the latency test or when i touch the tip wire of the amp jack but no sounds were made from the guitar if you have any idea what i did wrong please let me know!
Hey, first of all, this is awesome!! Is there any way I can do this on a raspberry pi pico? Raspberry pis are kinda expensive for me and I’d really want to try this out and have a loop station. Any advice?
The Pico is a completely different thing, unfortunately. It won't work. I got my Pi for not much money, but looking at the prices on Amazon now they seem insane for some reason (over 3x what I paid). I don't know what the deal is. Maybe prices will come down again? MSRP for the Pi 4 2gb version seems to be 35 USD. You should be able to find it for under $50 if you shop around. Check out local stores or smaller websites. Sorry I couldn't be more helpful.
@@Psychotenuse thanks so much for replying. I’ve found a cheaper brand of micro computers called Orange pi, but I’m worried I’d run into issues following the steps in your video since it’s for raspberry pis, would I be able to email you about anything if I do get stuck?
Yeah sure, but I'm not sure I'd be able to help much. The code for the buttons would have to change if you use a different board. If you have experience with Python programming, you should be able to figure it out.
Will this work if I use my guitar without the Multi-effect processor? I’m assuming it won’t, because the audio input needs to be battery powered or have some independent power source from what i have understood
Well, you can change the maximum loop length by changing the value of the global variable MAXLENGTH in main.py. However, this will still only record the loop to RAM, not to disk. My Python looper for PC can record your session, but the Raspberry Pi version can't (bit harder to do in Linux). It is a feature I've been thinking of adding, though I probably won't get around to it very soon.
I went ahead and am trying to make this build but with exclusively 3.5mm cabling, since I really have no need for a guitar input: I’m running into issues stemming from my lack of knowledge about the difference between 1/4” and 3.5mm audio cables. Have I made a terrible error by trying to use a mic with a 3.5mm output? Any help would be appreciated.
Not a terrible error (after all the 3.5mm jack is just a smaller version of the 1/4" jack), but there are two things you need to keep in mind: First, the actual connections. 1/4" jacks are most commonly TS or Tip-Sleeve, i.e. they have only two conductors (and only one insulating band on the actual plug). 3.5mm jacks are more commonly TRS (Tip-Ring-Sleeve) or TRRS (Tip-Ring-Ring-Sleeve), meaning they have three or four conductors (two or three insulating bands) so you need to know that in order to use a TRS or TRRS jack as a TS jack, you simply short the Ring terminals to the Sleeve terminal on both the male and female connectors. The second consideration is what you're actually plugging in. The setup I show in the video will work for line-in inputs or dynamic microphones, but may not work if you plug in an electret mic, because those require a special kind of input with a DC offset and drop resistor. Electret mics are used in most consumer electronics, so most cheap USB soundcards and/or 3.5mm mic inputs do support electret mics _if plugged in directly._ If you use any DIY wiring between your mic and soundcard, however, you must take some time to understand how your mic and your soundcard input work and how that affects your wiring.
@@Psychotenuse I see! I sent an email to you with some proposed changes to my setup. Thanks for helping someone with far less understanding of this stuff :)
I have seen in your pdf there a pots with 47k, am I right and these are logarithmic to mix the input level of microphone and guitar. I asked myself, would it be just possible to put the same ones with also the similar schematic to the outputs. Also instead of using a mixer a Y-instrument cable, like you do for guitars with 2 outputs for amps with just one input?
@@Psychotenuse thank you very much that is so true, just looked in the wiring again. So building an external mixer would be the best option for a pedal board to power it with 9 and than I also don´r worry at all about the 2 extra pots and just go with the ones for the Input. I am trying to do it with some more sturdy footswitches, so I have to drill out at home a metal casing I have ;) I really love how easy it looked from what you explained and this DIY is so upgradable; seems very legit! I just had the Idea of using a 3 pin, 2 way switch for switching the resistor for guitar to microphone...would this cause problems down the road? Very kind of you how you replied and how fast you did it :)
I am currently working on a 2024 update video to the looper (mostly just making sure the software still works as it should and updated install instructions etc)
If you want to use just one input at at time then it's best to just connect it directly and adjust the volume as required. You'll get the least possible noise this way.
No... but sure I'll write one up, give me a couple of hours. I'll add it to the wiring illustration document. I'll list the parts I used, but you could do it differently based on what you want to do with the looper. In particular, the parts for the audio connections might be different depending on your needs and what soundcard you use. For example, if you use a USB audio interface with direct monitoring capabilities, the whole 'two outputs' thing becomes unnecessary.
I don't really know, since I've personally only ever tried the whole thing on one board. However, I did get single-track looping to work on the Pi zero, so I imagine that at least 2 or 3 tracks are possible on the Pi 3 a+
I have built and programmed the looper exactly as you described and it works but with terrible sound recording on the loop. The rasberry pi and the looping software boot up using pulseaudio and never save the alsamixer settings. Normal ways to save alsa settings do not work pulseaudio always is loaded as default so when i open alsa mixer it always has pulseaudio selected and not my usb sound card. Please tell me how to fix this so that it simply boots up with the correct alsa settings selected.
Hm. Could you describe how the sound quality is bad? That might help narrow the issue down to software or hardware. I didn't have any trouble with alsamixer settings reverting, so I'm not sure why that's happening for you. It is possible that there has been some change to the Raspberry Pi OS which is causing this. Do you think your issues might be related to this: github.com/RandomVertebrate/raspi-looper/issues/5 ?
@@Psychotenuse hey man, i got my new channel up with a video of the synth if you wanna check it out. th-cam.com/video/PupDCT7NplM/w-d-xo.html my new channel is called HackMaster
Hi im new to schematics. can you tell me what the triangle on the lm358 amp on pins 2,3 and 5,6 mean on the mixer schematic? does that mean the pins are connected?
@@Psychotenuse But are pins 2,3 and 5,6 jumped together? it looks like the wire going to pin 1 is connected to pins 2 and 3. or does that line not matter either. thank you BTW
Can i use pedal switches for this? Also... I hear some clics when you play de recorder info ir is it the video render?? And is a RPI 4, right, since i think there isnt a RPI4 B+ ???
Let's see. You should be able to use pedal switches for this, sure, as long as they are push-to-connect. At the time of recording of this video there were some issues with clicking and clipping, most of which have been fixed since then in the code. What I bought was listed as a RPi 4 B+, but I don't see why any other RPi 4 wouldn't work. Just make sure to make connections with reference to GPIO numbers.
@UCwBP-ufaCyQ3ZUS9eGUM3rA awesome! Thanks for your response, sir! Uhm, say, push-to-connect will be a "pulse switch"? Circuit close only while pressed? 🤔
There's not really a "positive" and "negative", perhaps more a ground wire and signal wire. The sleeve terminals of the audio jacks should be connected to ground. I think I use grey wire for ground.
This is probably because it is a TRS jack, with Tip, Ring and Sleeve terminals. You can short the Ring terminal to the Sleeve terminal to use the jack as a TS (Tip-Sleeve) jack.
Hello my Friend . You are a genius. If you Can built a 8 tracks sampler sequencer with 8 assignable mix out I buy one to you right now!!. I need one to plug it on my mixtable to make hip hop Beats☺️
I've made a new version that is more durable :D You can see a video of it on my channel, you might like it if you like this. If you want to reach out you can always email me at my business email :)
I just watched your latest video about your looped slopes station. I didn't know there were computer programs to set up to make all this work. As it's a hardware machine, I didn't think there was a need for that. So I think it might be too complicated for me☺️. Thank you anyway for your answer in any case, you are kind. 
The first three play light come on, the third being faint. That is all it does, it won't play any sound, there are no other lights. Is there some way to see what wires are function properly? What are some other trouble shooting ideas you have?
I think that might mean that the Python script wasn't able to run successfully. That sucks :( Can you log into into your Raspberry Pi (keyboard and monitor or ssh) and see if it's giving you any errors?
This is no longer feasible where I am since the raspberry pi 4 is quite rare and expensive, wish to have something with ESP32 as it's mostly available and affordable
Yes. Basically, you progressively increase the buffer size until there's no more "stuttering" or glitches. The more processing power you have, the smaller you will be able to make the buffer size. And the problem with long buffer sizes is that they cause sync and timing issues.
@@Psychotenuse What would I need to make this happen? I know I can achieve this with ableton live but I'm looking for a diy standalone unit like what you've created. Could it handle 16 tracks without pages? Any other diy solution you can think of? I need a new hobby. Lol
This kind of implementation would probably really struggle with so many tracks - primarily because it's Python. I suppose if it were done in a C like language it might work. One possibility is to simply run a desktop application on a Raspberry Pi (or similar small computer)... in effect you still use something like Ableton, but just on a headless computer instead of a laptop. You could incorporate computer, soundcard and Midi controller into one portable unit. I have been hearing of something called sooperlooper; maybe that will suit your needs?
Live audio is passive analog throughput, so there are no latency issues there. The loop playback is latency-corrected by the amount detected when you run the latency detection script, seen here from about 13:01
@@prod_jay2132 I meant that you _could_ do it - I don't think I _will_ do it or make a video about it, though, sorry. You're welcome to modify my python script to use six tracks instead of four - I think the Raspberry Pi should handle it fine. Thanks for watching and commenting.
UPDATE: The new version of pulseaudio seems to monopolize the soundcard, preventing the python scripts from accessing it. To fix this problem, simply uninstall pulseaudio.
Does this still work in 2023?
@@DustanMoore Someone got it to work recently. If you try it, I would love to hear how it goes!
@@Psychotenuse shit and now I have all the parts and time to build :D good times, we will see if it will work anyway.
@gmeik93 I am currently working on a 2024 update of the looper. The video should be out early in January.
This looks awesome! The ingenuity of the DIY community never seizes to amaze :)
Haha thanks xP
Glad you liked it!
Mate this is so cool. I'm in the same situation you're in, loopstations are way too expensive so DIY is the way!
Yeah. I think prices are really only high because it's a niche market, etc... makes no sense, given how cheap smartphones and stuff are.
If you do build this, I'd love to hear how it goes!
They're ridiculously over priced. If you don't do it DIY, you're nuts.
Haha, well I'm sure some people have the money but not the time. What I've come up with is also very basic feature-wise compared to commercial products.
Great video!
I been thinking about building something like this for a few weeks but i didnt know where to start , so your video comes at the perfect time.
Keep up the good work!!!
Awesome! I would love to hear how it goes!
@@Psychotenuse amazing job.
Bro I thought the idea was great when I see your video on reddit as I'm into production and production tools, but the design and manufacture walkthrough is amazing!
Keep up the great work! ✌
Edit: THE MIXER!
Haha, glad you enjoyed it!
Fantastic idea and well explained, you have made it look easy. Thank you.
Thanks for watching! I think it should be relatively easy, barring unexpected problems with Linux audio :)
I really love the simplicity of your setup. I'll be trying it out soon. Congratulations! (from Argentina)
Glad you like it! I'd love to hear how the build goes :)
It is incredible what you built!! Want to learn this asap!
Glad you like it! Feel free to email me if you run into any issues :)
@@Psychotenuse sure!
This is so cool. Can't wait to build one with my kids.
Awesome! :D
Took me two hours of looking for "make your own loop pedal" (you probably know that google will give me a heap of pedal switches). This fantastic. Now to shop for parts. A few tweeks of my own too 😂
Haha, yeah. Glad you found it though :D
Would love to hear how your project goes!
Nice. Thanks for making this as simple as possible.
Glad you find it to be so! :D
this is an incredible tutorial, thank you! i am thinking of making a 3d printed version with some extra keyboard switches i have. i will share the file when i finish it
Awesome :)
Thank you for making this. I’m going to put one together this week.
Awesome! Would love to hear how it goes :)
great video, definitely going to do this! One thing though, are you able to add more than four tracks, or is there a limitation in the software or the pi?
Glad you liked it! Make sure to check out the update video for the software setup. The script is currently set up to do 4 tracks. Someone did make a 6-track version, but it would require some changes to the code
Your projects are simple but damn Awesome
Edit: just wanted to know where are you from
Haha, glad you like it, thanks for watching :)
I live in UP, India.
@@Psychotenuse Keep up the great work 👏
Awesome videos and I appreciate you sharing your knowledge! I already have some ideas for a project I'd like to make, but I have some questions for you if you don't mind.
1. As I understand it, it would be possible to build this device such that you could just use an electric guitar cord's jack as the input, correct? If so, could you bypass that step and build the looper into the guitar in some way?
2. Along those same lines, this version of the build is using your laptop as a power supply (I'm assuming), could this device work with a more portable external power supply like a 9V battery?
3. Regarding the two outputs, if you wanted volume control over the loop tracks and the "lead" guitar separate, could you simply connect the two outputs to two different amps? Is it possible to build a small mixer that gives volume control over these two outputs individually before combining them?
Like I said, awesome project and videos. Thanks in advance for any guidance you can provide.
Alright, so...
1) Yes, you can plug your guitar into this looper. Putting a Looper in a guitar is a funny idea, I'm not sure I'd be interested in that - mostly because a) While I don't mind making small electrical mods to my guitar I'm not thrilled by the idea of messing with it that much and b) I almost always will want to use a multi-fx pedal or something like that between my guitar and the looper. All this aside, if you want to build this looper or something similar into your guitar I see no reason that it wouldn't be possible, except that with an electric guitar you might have to rout a new cavity for it.
2. I was using a cell phone charger as a power supply. The simplest way to make something like this portable would be to use an off-the-shelf power bank.
3. I _did_ build a small mixer to combine the signals, and I talked about it briefly in the video. A schematic is linked in the description. Yes, you could certainly plug the two signals into two separate amps.
Thanks for watching! :)
very elegant design
I would have said it was kind of crude :P Thanks though haha
awesome project and really good idea!
Thanks for sharing this.
Thanks for watching! Glad you like it :)
Incredible! Are you able to integrate a verse-chorus function where you have two completely different loops and are able to layer them separately?
There are four tracks that can be overdubbed, muted and unmuted individually. You could definitely find ways to build a verse and a chorus and switch between them.
Hey, first of all, this is awesome! Thx a lot for sharing!
I build a prototype with just one play/record-button-set to test if it would work on a 3 B+ I had lying around. I can already tell I'm going to build the whole thing to be honest. It's sooo much fun...
When I record, the first two loops turn out quite good, but from the third loop there's increasing creaking in the resulting output.
Do you think this might be related to my settings, or could it be because I'm using a 3 B+ instead of the 4 you suggest? Hard to get your hands on these nowadays...
Any answer highly appreciated!
I have no idea what you mean by creaking. Why don't you email me some audio
@@Psychotenuse Thx a lot, did that yesterday. But I don't think this is debuggable remotely. I'll try to get a raspberry 4 and try it with that one. Will keep you updated here.
great project
There's an updated version if you're interested :) Cheers!
Really glad I found this -- was thinking of this project the other day and seems the timing is perfect since you just uploaded it!
If i theoretically wanted to mix the direct out with the loop out -- is that something that can be done passively or does it need to be processed? Any thoughts on how to do that?
Glad you like it! :)
So just in case you missed it I'll point out that I built a little mixer for the looper, and there's a schematic linked in the description. If you wish, you could build this circuit into your looper enclosure and power it from the Pi header. It is NOT passive, though, and there's a reason for that.
The problem with passive mixing is that inputs and outputs are fundamentally no different... all your outputs are inputs and all your inputs are outputs, so output signals are also input signals, meaning that you would end up recording your entire loop mix onto every single overdub.
There is actually a way around this which only works specifically for "mixing" EXACTLY TWO signals. This is to ignore the ground lines on both signals and simply connect the two signal lines to the two terminals of your audio jack. This way you effectively get the difference signal, which typically is functionally no different from the summation signal. The problem with this approach is that ungrounded signals are a bad idea in general; they make you much more susceptible to being affected by all sorts of noise and interference.
@@Psychotenuse ah I see -- when you said mixer i thought it was just like a DIY mixing board you used but if it's used to mix the two outputs I'll take a look at it. Thanks!
Another question - I'm thinking of replacing the MIC input 1/4" jack with an XLR jack (maybe even an XLR & 1/4" combo jack) -- Any special considerations you can think of on that one? I assume I'd use a mono XLR jack rather than stereo but i'm sort of a beginner on this stuff.
If you're a beginner, I would recommend using a 1/4" TS jack, because it's simple. The XLR connector, while often used for unbalanced audio, is in fact "supposed to be used" for balanced audio. If you wanted to make a legit XLR input you would need yet more active circuitry. If you want to use a condenser mic you need phantom power, further into the weeds!
Now you could simply connect an XLR jack without all this circuitry, as an unbalanced input. You can look up XLR unbalanced connection to see how this is done. This would probably work for many things (dynamic mics for instance) but might not work for everything you plug in.
Great build! I'm putting things together to build it (mostly) from parts I have OH. So, thinking of ways to simplify the output, could you input to the onboard 3.5mm and output via Bluetooth?
I really want to input both signals into the aux on my amp, so could you just splice the two signals back into one 3.5mm output?
Anyway, thx for video and great idea.
I would not recommend using Bluetooth, mostly due to possible latency issues. Using the internal soundcard should work - it occurs to me I've never actually tried it - but I've heard the onboard audio is pretty bad.
No, you cannot splice the output signals together passively; it would cause all sorts of problems. If you want a single output, the easiest way to do this is simply to use a USB soundcard with built-in hardware monitoring. Otherwise, you'll need a mixer circuit of some kind. I built such a circuit, and the schematic for it is linked in the description of this video. You could incorporate a circuit like that into your looper to eliminate the whole 'two outputs' thing.
An even better solution to autostart would be to add it to crontab, since bashrc only executes when you open a bash console, and crontab can be set up to run when the pi boots up, even if it doesn't automatically log in
Sounds like a good idea!
Amazing!!! Bravo!!! 👌🏻
Thanks!
Man you are awesome! I am gonna try to built it. Can i ask you something? the raspberry pi you use how much ram does it have ? 2 or 4?
Haha thanks, glad you liked it! I used the 2gb version.
Awesome project and exactly what I wanted to build. I have a few questions. What's the purpose of using momentary switches rather than latching? Does this mean you have to have it pushed during the entire recording? Could larger, more traditional stomp switches be used in place? The little buttons shown here seem like they'd be easy to miss with your shoe while on stage.
Thanks for watching :)
You don't have to hold the button down while recording, as you can see at the beginning of the video.
Momentary switches are more versatile than latching switches because they allow you to detect long-presses i.e. button "hold" events in addition to button "press" events. Toggles are implemented in the software.
Cool - and any normally-open SPST stomp switch should work with this, right?
Yes :)
Last question I think. I have access to an older Pi already. Would there be any issues with your code or the playability of it (lag, etc) on an older model, assuming it's at least 2 gig of RAM?
What version is it?
I just had a question about the GPIO connections: If you look online there are diagrams of the GPIO pins or the raspberry pi. Are these connections labelled like what those diagrams show as "GPIO 2" or whatever, or the numbers actually on the pins? Thank you :)
also, your content is amazing, and this tutorial is exactly what I have been looking for the past few weeks :)
Glad you liked it!
Yes, the connections are as per the GPIO pin numbers, not the physical pin numbers.
This is a cool project! But right now I'm really interested in finding out what tool that was on your Swiss army knife. Did you modify the reamer/awl?
No, that's the chisel tool. Super useful for this kind of thing. The SAK model is the Ranger, I believe.
@@Psychotenuse thanks!
Damn that's so cool.
Ive seen ed Sheeran using a loop pedal and i am so eager to get one, but can't afford it.
The single track pedals are not as fun xD
U can literally make everything by urself man. That's crazy.
Love the innovative and drive u have for music and electronics.🔥
GL. Keep it up!
Ps: i noticed ur background music, did you play it using this looper?
Thanks! I'd love to know if you decide to build this for yourself, haha.
My motivation behind building this was pretty much exactly that, I want a loop station and can't afford one :P
@@Psychotenuse you should make money out of all your projects.
I do want to build it, but i haven't played my guitar in almost a year.
When i do get back to it i will definitely build one like this. Thanks a ton for this video.
Saves a lot of research work 👍
BTW yes, the background music was made using this looper :)
Thank you for this project. When I perform a loop I have roughly a 3 second lag between loops. What setting do I need to change to remove the space? Thank you!
3 seconds is way too much, honestly I think I set the maximum on the latency script to 1 second or something.
My immediate reaction would be try a different soundcard (and repeat the setup process for it).
If the problem persists, email me at the address in my channel about and we will try to figure out what's going on.
thanks for this! altho when i tried to check for latency there was an error saying that the “np.float” command is no longer compatible with numpy 1.20 (i am on 1.24) instead use “float” by itself
is there any way i can edit your latency code and clone said repository with renewed code to my raspberry pi?
OR is there a way to downgrade numpy back to before 1.20?
this was my first time doing anything with coding and this video has given me many experiences so thank you again for this!
Hey! Did you get it to work? Glad you like the project :)
@@Psychotenusehey! so i found a workaround for the latency part!
but the autoboot part has an error going “Error writing /home/pi/.bashrc: No such file or directory” does it have something to do with the fact that i am not using linux but connecting the raspberry pi directly through my monitor using a hdmi port? and what do i do about it?
anyway i appreciated your response and sorry for taking your time!
No worries :)
Yeah, I'm not sure I know what's happening there... Can you check that you're running the commands as sudo
@@Psychotenuseyo! so apparently i had set a different username this whole time XD i got it running and the software part is done
but as i feared i couldnt quite understand the schematic for the audio, so it unfortunately had no guitar sounds out the output i’ll try to write out what i understood:
so i have 2 wires which has tip,sleeve and ground wire in it which then i soldered them to each ts socket, one is used to connect with the amp and one for the guitar
for the guitar jack i connect it to the mic part of the usb soundcard and for the amp jack i connect it with the headphone part of the soundcard
sounds were made when i did the latency test or when i touch the tip wire of the amp jack but no sounds were made from the guitar
if you have any idea what i did wrong please let me know!
Hey! Really sorry for the late reply. Seems like you're missing the "LIVE" output. BTW I will upload an update to the looper soon.
Genius
Hey, first of all, this is awesome!! Is there any way I can do this on a raspberry pi pico? Raspberry pis are kinda expensive for me and I’d really want to try this out and have a loop station. Any advice?
The Pico is a completely different thing, unfortunately. It won't work.
I got my Pi for not much money, but looking at the prices on Amazon now they seem insane for some reason (over 3x what I paid). I don't know what the deal is. Maybe prices will come down again?
MSRP for the Pi 4 2gb version seems to be 35 USD. You should be able to find it for under $50 if you shop around. Check out local stores or smaller websites.
Sorry I couldn't be more helpful.
A little research reveals that there is insane price gouging going on at the moment due to short supply. That really sucks :/
@@Psychotenuse thanks so much for replying. I’ve found a cheaper brand of micro computers called Orange pi, but I’m worried I’d run into issues following the steps in your video since it’s for raspberry pis, would I be able to email you about anything if I do get stuck?
Yeah sure, but I'm not sure I'd be able to help much. The code for the buttons would have to change if you use a different board. If you have experience with Python programming, you should be able to figure it out.
Will this work if I use my guitar without the Multi-effect processor? I’m assuming it won’t, because the audio input needs to be battery powered or have some independent power source from what i have understood
It should work, depending on the soundcard you use.
Soo cool. Good work :)
Wow, subscribed
this is awesome i want to try it just wondering is there a way to modify this to rec longer to be a 4 track recorder?
Well, you can change the maximum loop length by changing the value of the global variable MAXLENGTH in main.py. However, this will still only record the loop to RAM, not to disk. My Python looper for PC can record your session, but the Raspberry Pi version can't (bit harder to do in Linux). It is a feature I've been thinking of adding, though I probably won't get around to it very soon.
@@Psychotenuse k can you use a pi3 b+ as well? like same hook ups for switches and leds as pi4 that u use?
Yes it should work, just refer to the GPIO layout of the Pi 3 and make the connections as per the text file linked in the description.
I wanted to make a diy loop station just like that. Now, I know how to do it. > _
Glad to be of help!!
Thanks!
🙌🏼🙌🏼🙌🏼
we love you
Thank you!
I went ahead and am trying to make this build but with exclusively 3.5mm cabling, since I really have no need for a guitar input: I’m running into issues stemming from my lack of knowledge about the difference between 1/4” and 3.5mm audio cables. Have I made a terrible error by trying to use a mic with a 3.5mm output? Any help would be appreciated.
Not a terrible error (after all the 3.5mm jack is just a smaller version of the 1/4" jack), but there are two things you need to keep in mind:
First, the actual connections. 1/4" jacks are most commonly TS or Tip-Sleeve, i.e. they have only two conductors (and only one insulating band on the actual plug). 3.5mm jacks are more commonly TRS (Tip-Ring-Sleeve) or TRRS (Tip-Ring-Ring-Sleeve), meaning they have three or four conductors (two or three insulating bands) so you need to know that in order to use a TRS or TRRS jack as a TS jack, you simply short the Ring terminals to the Sleeve terminal on both the male and female connectors.
The second consideration is what you're actually plugging in. The setup I show in the video will work for line-in inputs or dynamic microphones, but may not work if you plug in an electret mic, because those require a special kind of input with a DC offset and drop resistor. Electret mics are used in most consumer electronics, so most cheap USB soundcards and/or 3.5mm mic inputs do support electret mics _if plugged in directly._ If you use any DIY wiring between your mic and soundcard, however, you must take some time to understand how your mic and your soundcard input work and how that affects your wiring.
@@Psychotenuse I see! I sent an email to you with some proposed changes to my setup. Thanks for helping someone with far less understanding of this stuff :)
I have seen in your pdf there a pots with 47k, am I right and these are logarithmic to mix the input level of microphone and guitar. I asked myself, would it be just possible to put the same ones with also the similar schematic to the outputs. Also instead of using a mixer a Y-instrument cable, like you do for guitars with 2 outputs for amps with just one input?
Definitely the most common question I get. Not possible, unfortunately.
The reason is that if you think about it, you're just connecting the output to the input so every loop would get recorded on every overdub
@@Psychotenuse thank you very much that is so true, just looked in the wiring again. So building an external mixer would be the best option for a pedal board to power it with 9 and than I also don´r worry at all about the 2 extra pots and just go with the ones for the Input. I am trying to do it with some more sturdy footswitches, so I have to drill out at home a metal casing I have ;) I really love how easy it looked from what you explained and this DIY is so upgradable; seems very legit! I just had the Idea of using a 3 pin, 2 way switch for switching the resistor for guitar to microphone...would this cause problems down the road? Very kind of you how you replied and how fast you did it :)
I am currently working on a 2024 update video to the looper (mostly just making sure the software still works as it should and updated install instructions etc)
If you want to use just one input at at time then it's best to just connect it directly and adjust the volume as required. You'll get the least possible noise this way.
I've been wanting to make something like this. Do you have a detailed parts list you could publish?
No... but sure I'll write one up, give me a couple of hours. I'll add it to the wiring illustration document.
I'll list the parts I used, but you could do it differently based on what you want to do with the looper.
In particular, the parts for the audio connections might be different depending on your needs and what soundcard you use. For example, if you use a USB audio interface with direct monitoring capabilities, the whole 'two outputs' thing becomes unnecessary.
I've added a parts list to the wiring illustration document.
@@Psychotenuse thanks!
no worries. I'd love to hear how it goes if you build it :)
this is so cool, can achive with a raspberry pi a+?
I don't really know, since I've personally only ever tried the whole thing on one board. However, I did get single-track looping to work on the Pi zero, so I imagine that at least 2 or 3 tracks are possible on the Pi 3 a+
@@Psychotenuse thanks for your answer!
Dude! Nice!!
Thanks :)
I have built and programmed the looper exactly as you described and it works but with terrible sound recording on the loop. The rasberry pi and the looping software boot up using pulseaudio and never save the alsamixer settings. Normal ways to save alsa settings do not work pulseaudio always is loaded as default so when i open alsa mixer it always has pulseaudio selected and not my usb sound card. Please tell me how to fix this so that it simply boots up with the correct alsa settings selected.
Hm. Could you describe how the sound quality is bad? That might help narrow the issue down to software or hardware.
I didn't have any trouble with alsamixer settings reverting, so I'm not sure why that's happening for you. It is possible that there has been some change to the Raspberry Pi OS which is causing this.
Do you think your issues might be related to this: github.com/RandomVertebrate/raspi-looper/issues/5 ?
Dope!
Hahaha good work! I made a basic 4 oscillator synth that I'm going to make a video of.
Nice :)
Digital or analog?
@@Psychotenuse analog. The only chip in it is a single 555 for volume modulation.
@@jjhack3r Damn, that's awesome. I'll definitely check it out!
@@Psychotenuse thanks man! I just took some footage of it. I'm probably going to set up an account for my new channel today.
@@Psychotenuse hey man, i got my new channel up with a video of the synth if you wanna check it out. th-cam.com/video/PupDCT7NplM/w-d-xo.html my new channel is called HackMaster
Hi im new to schematics. can you tell me what the triangle on the lm358 amp on pins 2,3 and 5,6 mean on the mixer schematic? does that mean the pins are connected?
those just represent the two halves of the chip. You can ignore the triangles if you're just trying to build the circuit using the lm358.
@@Psychotenuse But are pins 2,3 and 5,6 jumped together? it looks like the wire going to pin 1 is connected to pins 2 and 3. or does that line not matter either. thank you BTW
@@Jasonbova just go ahead and ignore everything drawn INSIDE the chip rectangle.
what do you think about rpi 2 or 3 i mean rpi 4 is a little overkill isnt it?
The raspberry pi 4 was only marginally more expensive than the raspberry pi 3, so it seemed logical to use that.
Can i use pedal switches for this? Also... I hear some clics when you play de recorder info ir is it the video render?? And is a RPI 4, right, since i think there isnt a RPI4 B+ ???
Let's see.
You should be able to use pedal switches for this, sure, as long as they are push-to-connect.
At the time of recording of this video there were some issues with clicking and clipping, most of which have been fixed since then in the code.
What I bought was listed as a RPi 4 B+, but I don't see why any other RPi 4 wouldn't work. Just make sure to make connections with reference to GPIO numbers.
@UCwBP-ufaCyQ3ZUS9eGUM3rA awesome! Thanks for your response, sir! Uhm, say, push-to-connect will be a "pulse switch"? Circuit close only while pressed? 🤔
@@cristobalbarrientos5377 Yes, that's right. Momentary push-to-connect switches, like the buttons I use in the video.
Of the audio jack wires, which one is positive and which one is negative? Grey or white?
There's not really a "positive" and "negative", perhaps more a ground wire and signal wire. The sleeve terminals of the audio jacks should be connected to ground. I think I use grey wire for ground.
My 1/8in audio jack(auxiliary plug) has a third wire, what should I do with it?
This is probably because it is a TRS jack, with Tip, Ring and Sleeve terminals. You can short the Ring terminal to the Sleeve terminal to use the jack as a TS (Tip-Sleeve) jack.
That was really amazing. By chance - do you want to sell it?
Haha, thanks... I might be open to it. If you want to make me an offer you can write to me at the email in my channel about.
hello! very good! super! but it's not possible to make this on a arduino? It would be cheaper..
Integrating audio into an Arduino project is non-trivial.
@@Psychotenuse ok😀 thks!
Do you have a Patreon/Paypal donation link? Really appreciate you putting this together and sharing!
I don't really have one atm, but thanks a lot! So glad you like it :)
You said something about having to use linux. Does it have to be a Linux OS to use raspberry pi?
Most of the operating systems available for Raspberry Pi are Linux-based. Honestly Windows audio is a lot better... but it is what it is.
@@Psychotenuse
But I would be able to access and use raspberry pi and python3 drivers with windows 10? As long as I have a command prompt?
I'm not sure I understand what you're talking about. Why don't you email me at the ID in my channel about section.
Hello my Friend . You are a genius. If you Can built a 8 tracks sampler sequencer with 8 assignable mix out I buy one to you right now!!. I need one to plug it on my mixtable to make hip hop Beats☺️
I've made a new version that is more durable :D
You can see a video of it on my channel, you might like it if you like this.
If you want to reach out you can always email me at my business email :)
@@Psychotenuse oh? Thanks my Friend. I'm gonna watch your video now☺️
I just watched your latest video about your looped slopes station. I didn't know there were computer programs to set up to make all this work. As it's a hardware machine, I didn't think there was a need for that. So I think it might be too complicated for me☺️. Thank you anyway for your answer in any case, you are kind.

The first three play light come on, the third being faint. That is all it does, it won't play any sound, there are no other lights. Is there some way to see what wires are function properly? What are some other trouble shooting ideas you have?
I think that might mean that the Python script wasn't able to run successfully. That sucks :(
Can you log into into your Raspberry Pi (keyboard and monitor or ssh) and see if it's giving you any errors?
Try to run the Python script from the console and let me know what happens. You can email me at the id in my channel about.
@@Psychotenuse Thank you I will try that.
All of the lights are working now, but there is no sound.
where did you get the box?
what is that box?
I bought it from a website called probots, it is sold as a project enclosure.
This is no longer feasible where I am since the raspberry pi 4 is quite rare and expensive, wish to have something with ESP32 as it's mostly available and affordable
Yeah, it's unfortunate what's happening with Raspberry Pi prices. Hopefully they will come down again.
Can you clarify why/how the raspi ZERO did not work well enough for you
Not enough processing power, basically. Would probably work if written in C but with Python there's not enough juice.
@@Psychotenuse thanks a lot for the quick reply. How do you notice there isn't enough processing power? Stuttering?
Yes. Basically, you progressively increase the buffer size until there's no more "stuttering" or glitches. The more processing power you have, the smaller you will be able to make the buffer size. And the problem with long buffer sizes is that they cause sync and timing issues.
is this possible with arduino?
It is very difficult with something like Arduino
Is it possible to have 16 tracks with 8 pages?
Hahaha no but tbh if that's what you're looking for you're probably best off using a laptop imo.
@@Psychotenuse What would I need to make this happen? I know I can achieve this with ableton live but I'm looking for a diy standalone unit like what you've created. Could it handle 16 tracks without pages? Any other diy solution you can think of? I need a new hobby. Lol
This kind of implementation would probably really struggle with so many tracks - primarily because it's Python. I suppose if it were done in a C like language it might work.
One possibility is to simply run a desktop application on a Raspberry Pi (or similar small computer)... in effect you still use something like Ableton, but just on a headless computer instead of a laptop. You could incorporate computer, soundcard and Midi controller into one portable unit.
I have been hearing of something called sooperlooper; maybe that will suit your needs?
make a pi effect pedal !!!!
Well I have the pi zero just lying in a drawer now, so maybe I will :)
i have another idea
How about we replace the Raspberry pi with a arduino and do the Loopin on the computer side via a software.
Sure, that could work. Kinda like just using a Midi controller to loop in Ableton or something.
Man you should sell these.
Haha, glad you like the video. I'm not confident in my entrepreneurship abilities, unfortunately xP
How about latency ?
Live audio is passive analog throughput, so there are no latency issues there. The loop playback is latency-corrected by the amount detected when you run the latency detection script, seen here from about 13:01
Can you make 8 or 6 looper
I don't really have a musical need for that many tracks, but sure, I don't see why not
Tq ill checkout that video its helpful for me
@@prod_jay2132 I meant that you _could_ do it - I don't think I _will_ do it or make a video about it, though, sorry. You're welcome to modify my python script to use six tracks instead of four - I think the Raspberry Pi should handle it fine. Thanks for watching and commenting.
😅😅
Wow, fantastic job! I liked you electronic music projects.
Hello from Ukraine🖐️
Glad you like it! Thanks for watching :)