-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspberry Pi 3 build, MDA Drum make picoloop freeze. #20
Comments
Hi lysergik, That sound like a real bug ! Could you launch it on the raspberry pi with "gdb". It may help to have a first idea. Thanks, |
Hello, EDIT: I've just found that thread on the raspbian forum: EDIT 2: dirty_graphic=1; DPRINTF("PatternPlayer::seq()"); init_monomixer_and_machine(); refresh_pecursor(); DPRINTF("openAudio start streaming"); seq_update_by_step_next=1; This value could be too short/long, and it make nanosleep freeze.
It's a real mess, I let you see if you can figure out what is going on. |
I will install my raspberry pi 2 which is easy. Thank you for doing all those test, now it's easier to understand. How I will reproduce the issue. |
Hello, since it's nearly a week and you didn't come up with anything yet, I guess you are either too busy and you didn't have any time to work this out or either the fix is quite complicated. |
I had no time at all. Yes, really busy those day... What do you want to make with picoloop on raspberry pi 3 ? With what kind of synth, or drum machine ? Do you want midi on it ? The pi3, will be able to handle all synth engine IMHO. |
Ok that's fine. If I want picoloop on a raspberry pi 3, it's to build my own groovebox, something that would get close to an Korg Electribe, Roland MC machine or even why not some Teenage Instrument OP-1 inspiration. Then with a lite image of raspbian, I would install the picoloop dependencies and X11, and some script to have a coherent linux operating system for a groovebox. Then, for the hardware part, I would use the raspberry pi 3 as the computer unit, with an micro sd card as storage. Also an Adafruit kind of screen(maybe 3-5 inches), a Adafruit like battery and some tweaked laptop speaker. And the most important for rpi, an external soundcard, I think I will use my Behringer UCA222(or maybe I would get something cheaper). If the final product of my hacking project reveal to have some real musical creation/representation assets, I consider release the image that I used with some free software/opensource licence, but also publish the instruction and plans to build a picoloop grovebox, with some tutorial to explain how to set up the a rpi like board with external soundcard, battery/screen and also how to make a the tennsy controller. And a plan to allow people to make the same box that I would have conceived. All this hardware setup would be kind of released in form of a free hardware licence. So if one day this hacking project is done, it would give birth to an open source hardware groovebox project, mean't to run on raspberry pi or similar hardware. And the main goal of this project is to show that this sort of alternative can spare hundreds euros to musician, because a raspberry pi, a cheap external sound card and other small tech component, would cost according to my estimation, about 200€ max(more likely less). That would make a new kind of very cheap grooovebox beating even the price of the electribe 2, and all of this with an D.I.Y approach. Sorry if that's was a bit long, but it's the most complex hacking project that I've ever had, and I've been thinking around it for month. And I have to say that discovering picoloop saved me a very very lot of time, because I don't have to assemble a tons of different music software together with jack, but just use picoloop. Now it's more the mapping part as well as the hardware part that I have to deal with(and still there are no very complex things to do.) Anyway I hope you'll figure out who to fix MDA Drum. |
It's perfect :) So if you are able to put this project to a goal, yes, I will be happy to see it ! Some hint. You need button. Button help to talk to user interface. Use only UART to communicate with the raspberry pi, UART is simple. I've think a lot about it, definitely, UART is the best hardware protocol for this kind of thing. Don't use midi to talk to the software, it will be really too complicated. I've think it could be a good idea... But no, it's not a good idea at all. Midi is great to talk with synth, sequencer, but not good to talk to a user interface. Use teensy 5v or arduino 5v. They are cheap and they have really enough CPU to handle every hardware needed : button and pot. And they have.... A lot of libs to talk to button, pots and stuff. Use a 3d printer to make a good case. In the end I highly recommend to work on the button, rotary, 3d printing case and a user protocol UART. This way I will be able to help you :) And believe me, it's not hard to do. It take a lot of time, but... No it's not complicated. Not at all ! I will fix the issue with mda drumsynth :) |
And last thing :) |
I thought you had a similar vision of creating music, I felt it by using picoloop, it's maybe one of the most ergonomic linux music software. |
I've been able to reproduce the mda drumsynth issue. I will open myself a feature request on using multiple core to be able to have cursynth and twitch works without any sound frame drops on pi2. And last, thank you for your word ! |
That's great, hope it won't be to hard to figure out what's going on. I will try with my raspberry pi 3 to test cursynth/twitch up to 4 channel to see if it's buggy or not(even if I don't remember to notice something wrong with other synth). |
It's still on my TODO list. And yes, the 4 processor of the pi 2/3 can handle the load of picoloop. |
Hello, since it's been nearly a month, is there any progress on the bug fixing ? However, if you don't have much time to fix this, could tell me which kind of raspberry pi x86 clone did you use to test picoloop on it ? So, I could build my picoloop based controller around that piece of hardware instead of the raspberry pi. |
Hi, it's been quite a long time since the last time. I just wanted to know if the bug had been fixed or if it's still in progress ? By the way I got recentley an electribe 2 and some korg volca's so my perspective on my project have changed, because I'm no longer in need of a fully functional groovebox as I did before and also got in touch with a real groovebox and understood how it actually work. Now I could satisfy my goal with only the raspberry pi 1 version of picoloop. I'm now more to tweak the raspberry(1 or higher version) to something closer to the volca concept. A small box, with a keyboard, few knob to play with synth parameter, a sequencer, LED's as way of display, and maybe some lcd screen, all that run by picoloop. So I just wanted to know if there's any mean to play a note on picoloop just with an input midi signal and then if a mode of pressing a rec button and then recording notes is a thing that could be implemented with no major difficulty or if it's just impossible so far. Also I've seen that some teensy code as been added no long ago, so what are the possibility in terms of linking picoloop controll to midi signal ? Anyway I hope you'll fid some time to answer and i'm quite happy to notice that the project add some implementations those last months. |
Hi Lysergik, As you can see I'm not so active on picoloop right now. I have put the teensy code, for a simple reason. And yes, I have also a korg electribe 2, good stuff ! With volca attached, it's really good fun ! |
Hi Yoyz, I've been off Picollop for some time as well. Anyway I spend this time learning more consistently c++ and messing around with pure data and it helped me come back to picoloop with some more ideas and skills. Lately I've worked on a standalone c++ program that retreive alsa midi device messages in order to control a fake picoloop interface. At this point I am making the code less messy in order to add it to the rest of Picoloop. I also modified my own picoloop sources in order to upgrade picoloop's output, from a simple stereo channel to 4 mono channels, each one dedicated to a track. This way I succesfully outputed with jack each track individually to a pure data patch, wich handle mixing tools for each track and audio effects, so far I got really great result witch really outstand the simple delay embeded iinto picoloop code. The idea would then be to send some data to pure data within picoloop, either via some log file or loacl tcp/ip, to control the fx process patch while the patch is running in background. This way we could add easily any kind of audio treatment to each track, without reimplementing some c++ code, and since there's an important community around pure data it's easy to find some good fx. I will maybe upload the code of a custom version of picoloop with a brandnew fx section when the code will be less hackish. And thanks for telling me about the WaveSynth makefile, I will look at that ! |
Hello,
As said in the documentation I made a build from the debian makefile, on my raspberry pi 3 running the latest raspbian lite image. It compiled well, it launched well, it played well sound with almost all the synth, as the only exception is MDA Drum. When the sequencer play a MDA Drum step, it freezes. On the terminal windows running picoloop, everything stop, like if the clock crashes or is stuck and cannot play the sound.
I've tried different picoloop tag, 0.74d, 0.76c, 0.77a, 0,77b, 0.77c and 0,77d. Every build as the same bug. (I've also notice that 0.77c and 0.77d won't allow me to choose sound card or midi out/in as well on the RPI as on my Linux Mint laptop).
I'll try to compile and run picoloop on a desktop image of raspbian, maybe it will allow MDA Drum to play sound. If it won't work, I think the problem should come from the RPI storage reading speed, which as mentioned in the documentation could mess with .ds extension reading.
Still I'm not 100% sure of what is going on, if you could give me some light on MDA Drum dependencies, storage reading speed needed for the .ds file or any MDA Drum debuging tips it would be welcomed.
In last resort I would maybe try to use the rpi 1 build to see if it works(if MDA Drum is supported on this build.)
EDIT:
I've just tested on a desktop image of raspbian strecht, and i got the exact same probleme, with the 0.77b build. The console print the path to the MDA Drum patch directory, it says which step is playing, and then it froze, I've noticed also that when it happen the cpu tend to go way up in speed, and more specifically on a single core. Running at a strange 102-103% of cpu on a single core !
The thing is that the .ds file are in the directory /patch/MDADrum, but for some reason the synth goes wild, maybe latency, maybe a missed function call in the code or even something messing with libpthread on that synth, but it's very strange.
By the way I've build de RPI version, works perfectly, but it's not mean't to support all the synth so it's not the option I wished for.
The text was updated successfully, but these errors were encountered: