-
-
Notifications
You must be signed in to change notification settings - Fork 935
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Sonic-Pi v3.2.2 Fullscreen, "Playability" and Synth issues on Raspberry Pi 4B running Headless #2411
Comments
Hi Rob, Thankyou for your thoughts. It's always helpful to receive feedback, whether positive or not. Clearly, there are several aspects of Sonic Pi as it currently stands that are not suiting your current workflow. I will do my best to reply. I may not be able to address all of your comments completely - and it's possible others may have better answers, but I hope I can at least shed some light on some of your concerns. Firstly, headless mode/low resolution. I see that it is possible when the resolution on the Raspberry Pi is set fairly low (and I take it you are unable to change the resolution to something reasonable with the Next - The help window. If you are unable to change the screen resolution on the Pi, then I can see that having the help panel extend beyond the edge of the screen (if that is what you are referring to?) would be annoying. While it may not be exactly what you need, it is entirely possible to 'un-dock' the help panel from the main app and have it as a floating window - perhaps this is useful. Additional Synths: The reason that synths similar to the full range of sounds available through general MIDI are not built in to Sonic Pi - well, (and this is just how I see it, someone else may have a different reason or might explain it better), as old as SuperCollider is, it obviously never reached the same point that MIDI did to become a universal standard - and as such no common group of synths emerged, meaning that SuperCollider users are left to themselves to design their own synths out of its basic low level building blocks. As such, when Sam first created Sonic Pi's synths, there might have been some designs floating around here and there to make use of, but certainly nothing approaching the full set in general MIDI. There might be ways to create synths for SuperCollider/Sonic Pi that might approach a similar offering, but this has not yet been a priority. (As an aside, there are definitely plans to add extra synths to Sonic Pi however - I in particular am very keen on this and have a few in the works. My particular interest is to hopefully add synths which can generate a wide variety of sounds, even if they do not cover the same sounds as General MIDI). Meanwhile, even though it may currently be the case that Sonic Pi cannot directly generate the full range of general MIDI sounds with a built in synth in a succinct manner, it is still entirely possible to extend the range of sounds that Sonic Pi can make. To do so, there are several options: aside from using custom pre-recorded samples, (ideal for the sound effects side of things), for new musical tones we can also either load extra (custom) synths in the SuperCollider format into Sonic Pi, or connect to external synths or devices (hardware or software) via MIDI or OSC protocols. Live performance: Also, yes, it's true that Sonic Pi does not have a 'music keyboard' mode - because it was never designed to work like that. I am guessing however that Sam would have no objections to a feature such as this being included. I can also only guess that the reason such a feature has not already been later added to Sonic Pi is mostly to do with priority. Regarding fixed sound envelopes, Sonic Pi's original (but now by no means only) purpose was to facilitate the teaching of Computing concepts to children (through coding). As I understand it, in the beginning, it was put together in quite a short time frame - and SuperCollider's way of doing things meant that in order to make things simple enough for a 10 year old to understand, and still deliver Sonic Pi in time, it was necessary to make synths have 'hard-coded' sound envelopes defined before they were triggered. That you compare GarageBand to us as a chief competitor is gratifying - thankyou! At the same time, I would put forward that Sonic Pi and GarageBand focus on two widely different music making mechanics - Excluding the use of external devices in either case, GarageBand, as with the bulk of other common music 'DAW's, is a program primarily focused around making music by manipulating graphical widgets. Sonic Pi on the other hand, is, again, otherwise primarily focused on live-coding. This is perhaps one reason why GarageBand may seem light years ahead of Sonic Pi - they focus (as far as the GUI is concerned) on two different things. (There is also the fact that Sonic Pi is an open source project financed by crowd-funding, talks, gigs, and workshops, (all done by Sam) and maintained in co-operation with 8 other volunteer core team members (myself included) in their spare time, with occasional code contributions from the wider community). Apologies for the rather lengthy reply! |
Further to Ethan's comments, I have had a look at the problems you are having using vncserver with Raspbian and Sonic Pi. I think this is a configuration problem. I found the solution was to use the command line sudo raspi-config and to select option A7 Advanced Options followed by A5 Resolution and select DMT Mode 82 1920x1080 |
Hi to both of you and thank you (Ethan Crawford and rbnpi) for commenting. You did not have to comment at all and you attempted to solve "my" specific issues, again HELPFUL in approach and informative to me , as well as anyone happening to read these posts. Please bear that in mind as you read what follows - I find your posts HELPFUL towards solving the technical issues. On the other hand, and please bear with me, I write a significant amount of software and I also use an even greater amount of software, as well as playing a musical instrument, not professionally, but above average, at least sometimes. You've both missed my main points:
So, users of Sonic Pi are learning how to program music? Forgive me, but what users are learning is - some excruciating, drawn-out details about the very large number of coding lines needed to program or hard code - a Single song or single melody. Something that a computer should be - is shortening, not lengthening (coding times for songs, music, accompaniment, etc.), whoever the target market is (kids, adults, musicians, non-musicians, etc.). Again, I truly, actually do appreciate both of your responses. I'm grateful you spent some time reading, let alone attempting to answer my issues. But has any of this helped the current user-base of Sonic-Pi do more musically or create music better, or faster? Not yet. I and apparently everyone else will just have to wait for the next release of Sonic-Pi, whenever that will be. Because I cannot actually "play" a Sonic-Pi as if it were a musical instrument along with music that is also independently playing, in an accompany-type role - I cannot at present seriously devote myself to using Sonic-Pi. It's interesting, somewhat, but it's just another programming language. It "may" be great for kids, but I do not see a lot of animation, pop-ups, colors, use of graphics, an equalizer, sound oscilloscope, easy input-output of different musical instruments, easy access of games, music tricks, easy help access, etc. I also tend to be realistically critical of software programs, because I see what they could be, instead of being just another run-of-the-mill program, short-term fad or momentarily great program, like a shooting star. Sonic-Pi, version 3.2.2 does not take my breath away. I can't even work with a music staff, music measures, a key, graphical treble-clef-time-signature and or view music notes play on the computer screen - with Sonic-Pi. Kids, especially those musically inclined, should be able to do that also, ref. https://musescore.org/en or download at https://musescore.org/en/download Best regards, thanks for responding, Rob |
P.S. I have seen the oscilloscope on Sonic-Pi. It's pretty basic and did not find it overly helpful (frequency range?, simultaneous music notes? more colors? a separate external full-screen window? stereo?), although it did inform the user that he/she/they should hear something coming out of their machine/speaker(s). |
Hi Rob, I am glad you found our advice helpful regarding your technical issues. Thankyou for your additional feedback. Software development is a colourful business - User Experience doubly so. At the end of the day, people experience software as individuals. Just like any other piece of software that has an active userbase, there will be aspects of Sonic Pi that will subjectively appeal to (or repel) some folks and not others. There are of course many improvements that we still hope to make (collaborative performance indeed being a good example). Ultimately however, I suspect how Sonic Pi evolves may end up being a matter where in some respects we agree to disagree. Even so, thankyou again for your feedback. |
You have not closed out the issue, so thank you Ethan. We seem to understand each other at least a little better. Evolution, not revolution, so to speak.. Can you please help me better understand where it is we "agree to disagree." Apparently, I do not yet fully understand your view. I'd offer up a happy Saturday, but that likely does not comprehensively address differences in perspective. Muito obrigado [you might need a Google Translator for that ;-) ] Beethoven's 5th Symphony, 1st movement https://www.youtube.com/watch?v=_4IRMYuE1hI |
By the way, Beethoven took several decades to write one of his most beloved Symphonies #9, including the Ode to Joy in the last movement. People enjoy hearing it several hundred years later. Do I like Sonic-Pi? Sure. Do I hate using it? No. Is the software likely frustrating to new Sonic Pi users? Probably. Does it take new users hours and hours to code a new melody in Sonic Pi? Probably; definitely hours and hours for this user. Does anyone today have decades to write a symphony or music with multiple instrumental parts these days? Very few people, if any. Would I enjoy hearing any of Beethoven's Symphonies with several instrumental parts modified or played "live" by something like Sonic-Pi? Sure. Especially a new or inexperienced Sonic-Pi coder? Absolutely. Bringing beautiful music to lots of people was one of Beethoven's most cherished lifelong goals. Last I checked, Sonic-Pi was one of about 24 different audio programming languages. I am not currently using any of the other 23 audio programming languages, ref. https://en.wikipedia.org/wiki/List_of_audio_programming_languages |
SymbReprUnlim, you've said the layout of interface components is bad. How would you change it, if you had the chance? Without reference to display resolution, please, since that's a solved problem.
The learning curve starts real low: "OK, smart guy, what does the 80 really mean?" Well, change it and see. "Oooh! ... What if I want to play more than one note?" You can write a list of Kids start out hard-coding their melodies, which is exciting at first, because making a computer play original music at all is new to them. And then does it get tedious? Eventually, yeah. And that inclines them away from the compose-input-playback pipeline, toward generative music and interactive composition instead. Which is where, if I've understood you correctly, what you want out of Sonic Pi departs from what its authors want. (I mean, I don't know a way of transcribing the notes of an already existing or already conceived composition into a computer that isn't tedious. Lilypond input is tedious, ABC input is tedious, even people who can fluently use a piano-style keyboard controller have to go through the transcript of that afterward and clean up the timing and dynamics and stuff. But yes, Sonic Pi is probably the most tedious of these, if compose-input-playback is the workflow you're using it for. A rocket is tedious to sculpt wood with.)
There have been experiments in collaborative, real-time computer music, and experiments in real-time conducting such that groups of computer instruments can coordinate variations of tempo, dynamics, rhythmic microstructure, etc. with one another and with other players. I think this is super interesting. Thus far, Sonic Pi is not ready for that. It is controllable such that someone could write code to glue it into such a system, but it hasn't happened yet. In the meantime, it is a solo instrument. But note that it's an instrument on which a soloist can play patterns of notes a solo performer of a manual instrument never could do before, and near instantly too.
That's one of the agree-to-disagree things. It's a bad tool for what you want to do. It sounds like you would be happier with a keyboard controller, sequencer, and modular or semimodular synth. If you want software synths, a MIDI keyboard and an HDMI display attached to an Organelle M might be just the ticket.
Having been exposed since 1987 to plenty of childrens' software both good and bad, I felt a little ill when I read that. The richness of the programming experience more than makes up for any superficial blandness of the interface. And children aren't as universally fond of gaudy crap as adults seem to think.
That's more like it. I see you are a fan of timbre. Me too. EQ is directly relevant to Sonic Pi as it already exists. Spectrum analysis might be a useful addition to EQ. An oscilloscope as such is maybe not too useful until synths can be redefined interactively within Sonic Pi. Supercollider itself can do a whole lot with timbre, but the language that controls it is realllly abstruse. Exposing that in Sonic Pi's variant of Ruby is going to take some very careful design by someone interested in doing it. |
Hi Eritain. In addition to being a programmer, I'm also an amateur musician (piano/kbds & acoustic guitar) and singer in church choir. With Covid-19 dampening choir singing immensely if not entirely, I've been singing much less recently. Since you asked - how would I change the format of Sonic-Pi? As a programmer in both Windows and Linux, I like to keep formats malleable, i.e. changeable/modifiable, let each user decide how he/she wants at the time to find Sonic-Pi formatted. Windows is famous, some would say infamous, at allowing different windows to be placed differently, in different locations on the screen and or programming window. If I wanted Help in Sonic Pi, I would want Help top-left or center-stage. I might want the rest of Sonic-Pi to even disappear(except for a Tab or Button), while Help was being searched and or heavily used. Play 80 - sounds rather algebraic, not musical. My inner musician rebels at playing numbers and not the actual musical key, although you would point out that Play Xnote(scale n) could also have been typed in by the user into Sonic-Pi. Oh great, another in-head translation needs to occur (80 to Note/scale/musical notation location on sheet music). If I were programming Sonic-Pi or was a user with direct input to it's creator(s). I'd ask for a simple pop-up or mouse-over (note numbers/notations). When the user moves his/her mouse over top of the 80, the musical note magically would appear so a musician or student musician could easily verify that was the note he/she intended. Mouseovers (mini pop-ups) are common with Javascript and in Microsoft Programming languages. They can also be implemented with Linux Python and Tkinter, for example. I am not a fan of Microsoft at all, but they have been allowing people to generate software for 4-5 times the length of time Sonic-Pi has been allowing users to program sounds/beeps. I'm familiar with Midi keyboards. Ludwig Beethoven would likely laugh at them derisively, their limited number of keys/octaves and monotonous machine-same sounds he would utterly shun. I'm also not Beethoven, his music is divine and timeless. If I could get even a Midi keyboard or Yamaha electric keyboard controlled by Sonic-Pi (and vice-versa), I would consider it musically helpful. So Eritain, we have not chatted before. You don't know me, I don't know you. My chief complaint about Sonic-Pi is it's lack of ability to act as a musical instrument in real-time flexibility with other musicians, as an accompaniment instrument or as a tool to control a musical instrument in fluid real-time. It also doesn't have a Listening-playback jam-like AI feature. In short, it's all about loops and programming mostly mechanistic beeps. Thus like R2D2 and CP30 Sonic-Pi beeps, buzzes and clicks, but unlike those fictional animations, Sonic-Pi does not have any AI built into it. Since I write software, I'm pretty good at criticizing it, my apology if my criticism is directed at software you like immensely or love. If I find a reason to use software, I'll use it. As an amateur musician, music lover and software programmer, I just don't find a solid reason to use Sonic-Pi (other than yes, it run's on a Raspberry Pi as long as R-Pi users always get pointed to a special dowbnload version just for them since Debian does not stay current/up to standard with Sonic-Pi versions. I'm also not in Sonic Pi's Beta testing inner circle, nor do I have access to it's source code. So I'll have to just wait for the next News blurb about Sonic-Pi and some new feature it might or might not. Again, in the meantime, I just will likely have my time filled by other software projects, like Speech Recognition (speech-to-text and text-to-speech or STT/TTS). Have a nice day, sorry it's taken me two weeks to respond to you, but Covid-19 is making life more difficult for everyone. BTW, Pandora's radio play-station playlist has some AI built-into it. You can say "Alexa, play me music by Beethoven on XName's Pandora." And it will come up with a somewhat randomized Beethoven + lots of other (sometimes similar) music. At least it avoids being repetitious, for the most part. Again, have a nice week, happy music-making to you! |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
I'm running Sonic-Pi v3.2.2 on a Raspberry Pi 4B, that is running headless, i.e. no monitor, using VNC on a local area network. Multiple issues occur on a low-res, i.e. headless R-Pi boot with Sonic-Pi:
the top Raspberry Command or "windows" area and the ^vX boxes disappear. This means Sonic-Pi cannot be window-resized, but more importantly, Sonic-Pi cannot be Closed unless the user switches to LXTerminal and issues a pkill command, e.g. pkill sonic-pi.
The problems go away if the Raspberry Pi is hooked to an HDMI monitor and the user VNC's in, but headless mode, with a therefore forced lower screen resolution, the issues above are highly aggravating.
Also, I've researched everywhere and cannot find how to load additional Synth's into Sonic-Pi, such as a flute synth, violin synth, cello synth, trumpet synth, saxophone, tenor sax, choir ooh's and aahh's synths, acoustic guitar (steel string) synth, and so on. These are standard standard midi synths, entirely absent from Sonic-Pi. Also, custom or international synths integration creation or import into Sonic-Pi do not exist.
Lastly, the Live Performance info is only remotely useful to musicians and laypersons and avoids the issue of using Sonic-Pi machine as if it were a true in-hand keyboard or musical instrument. There's no way to hold down say the C key on a computer keyboard and play a C chord for x or 0.x seconds, as if one were playing along with other musicians - it all has to be hard-coded with timings - and I've seen Sam Aaron's "live play" video. Sonic-Pi's chief competitor on iOS or Apple is GarageBand, which is light years ahead of Sonic-Pi and yet is free also. Tapping on a keyboard with GarageBand sounds out individual music notes or chords, depending on what the non-musician/musician wants played.
I apologize if the above information sounds negative, but programs such as Sonic-Pi will never improve over time if one only profusely glows about its present capabilities and features.
Attached is a fairly comprehensive set of "usually available" music synths, essentially the equivalent of an international symphony orchestra set of musical instruments, along with various synth sound-effects. Best regards, Rob Wallick
MusicSynths.txt
The text was updated successfully, but these errors were encountered: