New patch: Picostudio

Last summer, I spent quite a bit of time working on a four-track looper inspired by the Teenage Engineering OP-1 and Tascam’s Portastudio series.

There are a few bugs that I’ve wanted to iron out before I shared it with other people but I simply haven’t had the time to do so, and since it works well enough that I am still using it, I thought it might worth sharing now, anyway.

It is available both on Patchstorage and GitHub (where the issues are listed).

I hope you’ll find it useful.

9 Likes

Oooooh. Really looking forward to checking this out!

I hope you are going to like it. I’d love to hear your thoughts on the patch when you find the time to give it a try.

It’s great! Nice idea and interface. Love the screen art. The first time i tried it was yesterday and i had it in orac as an EE module. Was working well aside from track speed adjustments did not seem to work. I’ll try it standalone and get back to you. Thanks for sharing it :slight_smile:

I had some fun yesterday with this patch (thanks for sharing :wink:

If I can make suggestions:

  • add a key to Mute main input
  • add Track Mutes (using keys an octave higher maybe?

Nice first test today. Some suggestions as well:

  • using the footswitch to enable a recording.
  • is it possible to use like double tab or triple tap with the footswitch to launch different actions?

Thanks for the new patch.

1 Like

Thank you for all the kind feedback. I greatly appreciate it!

Wannop: I spent far too much time on the screen art so I am glad to hear that you like it. I haven’t had the time to give Orac 2.0 a spin but I’ll take a look at the issue when time permits. I am also curious to see how the patch works together with all the other modules.

keymanpal: I am happy to hear it. This would definitely be useful. Adding a “Mute input” button next to the “Bounce mode” button seems reasonable to me. Do you have any suggestions as to how it could be visualized so the user knows that the main input is muted? Track mutes would certainly also be a nice addition.

nicolasbulb: I’ve been wanting to use a footswitch to start recording for quite a while now as well, and it should be fairly easy to add so I am definitely going to implement this feature. I haven’t looked into it but it might be. Do you have any specific actions in mind?

1 Like

Hi,

Thanks for your nice and precise answer.
What actions are available for the footswitch?
Is it possible to have a simple tab to record to track1 and double tab to track 2 and so on?

Four taps should be easy to handle though, I’m a drummer. :wink:

P.s. Lovely screen art. Is it possible to add animation to it? How do you work with graphic in PureData? Does it handle SVG or GIF for small animation? If so, I can help with that, I’m an independent full-time designer.

1 Like

Maybe you already know this, sorry for that;-)
You can mentioning someone using @username and that will give a notification;-)
example @majjoha

Glad you liked suggestions, a picture is worth…

For starters, you could “cancel” the input meter bar (left one) so if non existent, well its muted? Don’t change input meter bar… maybe a big pop-up message? AUDIO INPUT MUTE / AUDIO INPUT or used the screen 5 line?

Sorry for the slow reply but thank you once again for sharing your thoughts. I’ve updated the patch and pushed a new version to GitHub and Patchstorage. The new version adds an input mute button next to the “Bounce mode” button. I’ve also added support for a footswitch which essentially does the same as hitting the Aux button. I hope you like the updates.

@nicolasbulb: To the best of my knowledge, the footswitch only provides on/off values (unless you use an expression pedal). This means that the patch would have to track how many taps have occurred within a given time frame. I’ve opted not to implement this because it adds a layer of complexity that I want to avoid.

I am glad you like the screen art. I considered animating it but I abandoned the idea because it felt too time-consuming compared to the other features I wanted to build, and I feared that the patch would take a performance hit. Unfortunately, it sends messages to the OLED display in order to draw the graphics so you cannot use GIFs or SVGs. You can find a demo patch using graphics here if you are interested: https://patchstorage.com/graphics-demo/.

@keymanpal: Ah. Thanks! As mentioned above, I’ve now added a mute button for the input. Regarding muting separate tracks, I am still not sure how I want to approach it. To keep the behavior consistent with the other actions, I think I’d prefer if they can be muted only when selected. This, of course, means that you would need to change tracks to mute them but I think it would be a little bit more intuitive, and it should not take much longer to mute the tracks this way I believe.

I’ve experimented with hiding the VU meter but I cannot find a way to only disable the input meter (or make it reappear once the VU meter has been removed), so I haven’t implemented any visual feedback yet that shows if the input is muted. Do you know how I would go about only hiding the input meter?

3 Likes

Thanks for the updated version :wink:

This might help, or not…
About Graphics

Life got crazy and I was only able to start using it this past weekend. IT’S FUN!

Have a couple thoughts/comments/questions:

  1. Sometimes when I record on track 1, and then record on track 2, track 1 gets deleted. Bug?
  2. The arrow keys – those just jump the speed to either end of the knob, yes? (-2 to +2)
  3. Also on the speed knob – Sometimes it doesn’t do anything right after recording. I have to hit play again (on the already playing track) to get the knob to start working. Bug?
  4. What do the parenthesis values mean on the knobs? I find they move with the knob setting, but don’t always match. Like – I tried to turn a track volume to zero and the parenthesis value wouldn’t go below 18% and therefore wouldn’t mute
  5. Is there anyway to add a play status icon or something to each track page? I like to layer lots of things and I’m not always sure if a track is playing or stopped, and even if I have recorded on it :smile:

Regardless - this is awesome and lots of fun so thank you again!

@keymanpal: You’re welcome. Unfortunately, I’ve already had a look at the patch but I was not able to find a good solution.

@spacelordmother: I am glad to hear that you like the patch. I’ll try to provide a few answers:

  1. I have not been able to reproduce the issue but it sounds like a bug. How would I go about reproducing it?
  2. Almost. Rewind and fast forward are set to -1.6 and +1.4, respectively. I’ll have to admit that I do not remember why I settled on those numbers rather than just +/-2, so I might change the values as it would probably be a bit more intuitive. It is also worth noting that the rewind and fast forward speed factors are applied to the current speed of the track, e.g. if the speed is set to 0 and you hit “Fast forward”, the track is now played at a +1.4 speed factor.
  3. This is a known bug that I haven’t yet looked into but I agree that it is a bit annoying.
  4. My idea was to show the values that are applied to the track but they appear to be confusing to people, and I am not sure whether they are entirely accurate so I am considering removing them and only showing the values of the knobs instead.
  5. This is a great suggestion and an issue that I also run into from time to time. Thank you. I’ll note it down, and, hopefully, I’ll find the time to add it at some point.

Thank you and you’re welcome!

I appreciate all your thoughts and feedback, and I am genuinely happy that this patch is useful to other people. I’d love to be able to set aside time to improve the more critical parts of the patch but since I implemented it almost a year ago and have not been working on it much since then (apart from the minor changes recently), it requires a bit of time for me to “relearn” how it works before I can actually fix the issues but please keep sending me feedback and suggestions, and I’ll give an update when I have a new version up on Patchstorage.

1 Like

@majjoha I’m really enjoying this patch as opposed to the OP-1 looper, as I have control over independent loop lengths and speed for each track.

Few updates which could be really cool is to have an option to enable stereo for each track.
Individual panning and maybe a Bandpass (DJ Equalizer) sort of options for each track would also make this the dream looper.

Hey, could you explain a little bit how to install this module on orac ? I have put the folder on “modules” folder in orac, and it doesn’t show up ! Help ! ^^

Wannop mentions adding it as an Easter Egg module in Orac. I don’t believe Picostudio is compatible with Orac or Orac 2.0 as is. You would need to convert it. I’m sure someone else will jump in with more info but that is my understanding of it.

I know I am late to the party, but was wondering if anyone would be interested in working with me on making improvements to this patch. I discovered that I could solve the knob inconsistency issue by putting a delay of 5ms between the bang and the pack object before the outlet of the controls sub patch. So the volume now goes from zero to full and the speed is proper double when knob turned all the way.

I’m also looking at modifying the ffwd and rewind buttons, thinking maybe it makes sense to have them just play at double whatever the current speed is.

Anyway I believe this is a great patch with room for improvement so I’m happy to do the work if anyone else has ideas, and maybe some advice on how to implement them. Ideally I think it would be great to be able to load samples too if one desired, rather than have it be restricted to on the fly recording. Not sure how hard that would be but I’m all ears if anyone is the wiser.

@majjoha I hope it’s alright with you that I’m digging into this a bit, really awesome work I think the original patch is just stellar. Please let me know if you have any comments on my ideas :slight_smile:

Thank you for your kind words, @TheDeadFarmer! I greatly appreciate that you are open to improving the patch, and I think your suggestions sound reasonable.

If you decide to set aside time to work on it, please let me know if you have any questions. While I am likely not able to participate much with hands-on development, I can at least give suggestions, and I’d love to also merge the changes to the repository on GitHub and cut new releases for Patchstorage. Feel free to drop me an email at mathias@mjj.io. :slight_smile:

1 Like