14 ms·
Pico8 Music Synthesizer
- skyyler 4y agoMy first "synth" was the Korg DS-10 software on a DSi. It was very basic but let me familiarise myself with the basics of subtractive synthesis. This project instantly made me think of DS-10 and VCV Rack. Something in between this project and VCV Rack would be a fantastic tool for teaching synths to kids that can't yet be trusted with a real (expensive) synth. It's a lot of fun to play with! This is a neat project!
- jacquesm 4y ago> teaching synths to kids that can't yet be trusted with a real (expensive) synth Over the years I've come to the conclusion that kids are about as trustworthy as adults with expensive gear, as long as you instruct them properly and point out that it is irreplaceable. I give my kids free reign on the stuff here including workshop tools and instruments, usually I'm around in the beginning to help out and keep them safe but once they have the routine and have proper fear of anything dangerous there isn't much point in hovering over them. So far so good, all fingers, toes, eyes and limbs accounted for. And all the stuff also still works. The adults however...
- clumsycomputer 4y agounfortunately don’t have permission to download, but love the style very much! hopefully i’ll remember to try it out in the future when i get a chance
- galactus 4y agoJohan Peitz is an amazing creator.
- emmanueloga_ 4y agoYay yeah he is! I remember playing Icy Tower for hours! [1]. Love his game designs and aesthetics. If I get it right, I first came in contact with his work when I was learning allegro [2], but TBH I'm not sure now. I think he used to use allegro in some of his games! 1: https://en.wikipedia.org/wiki/Icy_Tower https://en.wikipedia.org/wiki/Icy_Tower 2: https://www.allegro.cc/ https://www.allegro.cc/
- johanpeitz 4y agoAw thanks! Yes, allegro was my first foray in to making games in c. Used it extensively 98-02 iirc. :)
- deleted 4y ago[deleted]
- sagamusix 4y agoI spent countless hours on Icy Tower and Operation Spacehog. Thanks for those. :) I'll also have to admit I stole a sprite or two from Spacehog for my own little horizontal space shooter as a teenager, hehe...
- johanpeitz 4y agoHaha, youre welcome. Hope you put the sprites to good use!
- sagamusix 4y agoI had a tendency to not finish most games I started, as my approach to game development was rather unstructured. This was one of those unfinished games. Looking at it 16 years later, it's quite a few sprites that I copied :D https://sagagames.de/bilder/screenshots/fruit4.png https://sagagames.de/bilder/screenshots/fruit4.png I wasn't very graphically inclined, so most of the graphics in that screenshot were actually lifted from a handful of games (which were mentioned in the credits of course). At least the spaceships and enemies I drew myself (which shows)... The screenshot shows a randomly generated endless level. I started building a level editor but that was the point where I stopped developing that game. So, not sure I put it to good use. But it was a lot of fun. :)
- emmanueloga_ 4y agoWho knows, your game may become the next internet sensation haha [1]. 1: https://www.youtube.com/watch?v=8N5hgp0SMwM https://www.youtube.com/watch?v=8N5hgp0SMwM
- johanpeitz 4y agoThanks for the lovely comments! I'm the creator of picoSYNTH and it was a really fun project to work on. I don't have much experience in synths so it was a big learning project for me. If there are any questions around the program, just let me know!
- johanpeitz 4y agoIf you like the picoSYNTH aesthetics I've also made a 3D modeller with similar looks that might be interesting to check out: https://johanpeitz.itch.io/picocad https://johanpeitz.itch.io/picocad Nothing I've made has ended up on Hacker News before so I'll also take the opportunity to shamelessly plug my Patreon if someone want to support my work. :D https://www.patreon.com/johanpeitz https://www.patreon.com/johanpeitz
- jacquesm 4y agoThat is a gorgeous little project! Lots of fun just to try to figure out how it all goes together.
- jefurii 4y agoThis is like VCVrack meets Hainbach in Pico8!
- radiKal07 4y agowhat were some of the biggest challenges when making a synth?
- johanpeitz 4y agoWeirdly, this project started not from the audio end, but with the physics simulation of the cables. Building a synth came later when I needed something to do with the cables. :) Biggest challenge was that I basically don’t know anything about how synths work in real life, and made up my own way as I went along. This lead to unnecessary rewrites as I needed to sometimes change assumptions that stopped me from progressing.
- pkphilip 4y ago
- silviot 4y agoThis looks so cool! This alone: > picoSYNTH 1.1 (Linux) 757 kB Is really remarkable these days.
- 0cf8612b2e1e 4y agoEven better is that most of that should be the PICO8 virtual machine itself. A PICO8 cartridge is limited to 32kb.
- packetlost 4y agoI don't think it contains the VM at all, but contains a bunch of extra files including an image and a LICENSE file that aren't actually part of the binary.
- jacquesm 4y agoI've just looked at the binary and it definitely includes a large runtime. Some strings from the binary: head cart not found download timed out downloading.. cancelled /temp- catsub could not find cart could not fetch cart downloading.. ok loaded #%s (%d chars) could not connect to bbs could not load cartridge data is corrupted * failed to save screenshot saved screenshot to desktop set video starting point * failed to save video joystick %d connected joystick %d disconnected %d %d %d %d %d %d %d %d %d %d %d %d %d // Location of pico-8's root folder // Location of cartridge save data // Specify which player index joystick control begins at (0..7) // Custom keyboard scancodes for buttons. player0 0..6, player1 0..5 // Play notes as they are plotted in frequency mode // iff 1: when using keyboard cursor, snap to closest pixel / map cel // 0 default 1 dark blue background in code editor 2 black background in code editor 3 gray background in code editor // scale of screenshots and gifs // 2 means 256x256 // maximum gif length in seconds (0..120; 0 means no gif recording) // when 1, reset the recording when pressing ctrl-9 (useful for creating a non-overlapping sequence) // 0 for off. 1 for auto. 2 to allow control of a cart's framerate due to host machine's cpu capacity // 0 off 1 on (exclude cartridge tagged as 'mature' by community) // tab display width (1 ~ 4 spaces) // 0 off 1 on: draw tab characters as small vertical lines // 0 off 1 on: record the current cartridge and editor view every 3 seconds (see [appdata]/activity.log.txt) // 0 off 1 on: allow F6..F9 (alternative: ctrl 6..9) // 0 off 1 on: automatically check for a newer version of a BBS cart each time it is run. // hide mouse cursor for n seconds when typing. // 0 off 1 on: backup with a new timestamped filename on every run // normally not needed -- was used for debugging crash-on-run // back up cartridge in editor every n minutes when not idle (0 for no periodic backups) // global screen transformations: // 134 rotate CW 180 degrees // 135 rotate CW 270 degrees // 0 off > 1: colour to draw pixel grid in the gfx editor at zoom:8 and zoom:4 (16 for black) stopped. press button to exit future version. please update! no video recorded (rec: ctrl-8) saved %d second gif to desktop reset cart volume: 01234567update cart volume: (ctrl-/+) legacy: 0.1.1 api injected print("archeos",98,34,7) %s%s.p8%s %s%s%s.p8 found not found could not compress code hexdump %d bytes to clipboard writing %d bytes (code only) writing %d bytes pico-8 cartridge last_run.p8 loading future cart version future version: %d
- ankaAr 4y agoAmazing, sharing with students now
- th0ma5 4y agoIntel only or arm support for linux?
- johanpeitz 4y agopicoSYNTH is made with pico8 which (afaik) only supports intel. Haven't tested anything else myself.
- umvi 4y agopico8 has a raspberry pi release so most arm linux setups should work. I've gotten pico8 running using AmberELEC (https://github.com/AmberELEC/AmberELEC https://github.com/AmberELEC/AmberELEC) + RG351 (https://www.amazon.com/Handheld-Console-Portable-Classic-3500mAh/dp/B09SJ316VF/ https://www.amazon.com/Handheld-Console-Portable-Classic-350...) which is arm linux.
- zoklet-enjoyer 4y agoThis is amazing. I love how the cables are animated
- johanpeitz 4y agoThanks! That’s actually where this project started. The synth part was added to get some meaning to it :)
- Joeboy 4y agoThat is hilarious.
- chaosprint 4y agoThis is super cool! It works well on my M1 Mac. The example switching seems to be buggy: once I switch on the sound, it cannot be turned off. BTW I am also developing a music programming language here: https://glicol.org/ https://glicol.org/ It also works as a NPM library for building synth/music apps in browsers: https://glicol.js.org/ https://glicol.js.org/
- pinusc 4y agoThis is very cool! I've been wanting to play around with synthetizers / trackers (?) for a bit. I played around with TIC-80 (another fantasy console like PICO-8) amazing track + SFX editor, but I'm very lost as to how to actually make... music, instead of noise. Does anyone have any beginner resources on music theory, specifically oriented to working with synthetizers and trackers?
- GaryPalmer 4y agoBetter start with something like Ableton. Tons of tutorials on youtube and the interface makes it much more clear what is actually happening. These trackers are built around the limitation of old computers, some people prefer working that way because that's how they started but I wouldn't bother with them as a beginner nowadays. Some DAWs like reason try to emulate a real studio with cables and all, simmilar to this pico-8 app, but again, if you never worked in a real studio why would you bother? The only "real" classical music theory you need to know is Scales, the bigger chunk will be knowledge about digital audio production. Synthesizers, compressors, filters, ... that information is also plenty available on youtube.
- bmitc 4y agoYou might be interested in the Dirtywave M8. If you don’t want to buy or wait for the actual hardware, you are able to install the software yourself and run it in headless mode. https://dirtywave.com/ https://dirtywave.com/ https://github.com/Dirtywave/M8HeadlessFirmware https://github.com/Dirtywave/M8HeadlessFirmware You might also look at Pure Data and Max. https://puredata.info/ https://puredata.info/ https://cycling74.com/products/max https://cycling74.com/products/max In terms of actually making music, I think that probably just comes with both practice and experimentation.
- flipcoder 4y agoI haven't worked on it in a while, but you might like textbeat (https://github.com/flipcoder/textbeat https://github.com/flipcoder/textbeat). It's a midi tracker and REPL that lets you type in music theory-like terminology and plays it. It's nowhere near a modern DAW but it's cool for tinkering and learning.
- 4y ago
- GaryPalmer 4y agoImpressive.
- psychphysic 4y agoWhat's up with the difference in name? Program seems to be called picoSYNTH not pico8? Pico8 if meant to be like perculate is actually a nice pun for modular style synthizers.
- Aardwolf 4y agoPico8 is a platform for game development, it emulates a fictional 8 bit console with era-typical limitations on memory, display resolution and colors, etc...
- psychphysic 4y agoAh that's ashame for the indy dev that they promoted the platform in the link and not the actual application.
- codedokode 4y agoI am not a user of Pico8, and probably never going to use this app, but wanted just to comment on usability. Judging by demo videos, I think that the UI is not very efficient. For example, let's count how many gestures an user has to make to add an oscillator and connect it to a speaker: - click "+" - carefully read the menu, locate and click "oscillator" - maybe drag the oscillator to a desired location - click "+" - carefully read the menu, locate and click "cable" - drag the cable to the oscillator - catch another end of the cable, which is swinging and trying to escape from your mouse cursor - drag it to a tiny speaker's socket This takes too much time. I believe the UI can be significantly improved. Or maybe this can be turned into a game where the devices are playing against you, jump and crawl trying to escape from you (but you can bind them with cables), and so on. Also, "+" button is too close to a trash button, and it is easy to accidentally click it.
- conradfr 4y agoOh this is a trash ... I thought it was a keyboard icon that would allow me to setup a midi keyboard but was non-functioning. Yeah adding a cable is a bit frustrating instead of just adding one when you click on a jack input (like in Reason IIRC).
- johanpeitz 4y agoThanks for the feedback, appreciate it. I can totally understand where you’re coming from, but the program is not designed to be efficient. I think of it more as a toy, or and interactive machine that you can figure out how it works. The fact that you can make loops and beats with it is almost a bonus.
- deleted 4y ago[deleted]
- vanillaicesquad 4y agoThis is such a backward way to make music. Sorry to be critical but the point of musical software is to help the musician, and not hinder him with complications For example take a look at ableton live, it changed the music panorama worldwide because even a 12 year old kid from united kingdom can create grime music with it It's not pixelated, like yours.
- zaplin 4y agoNot everything has to be simpler/better/faster/easier. Music makers/artists need constrains/influences and some times to mix things up by taking a harder/weird approach.
- dimatura 4y agoI suspect a free modular synth app developed for an 8-bit fantasy console is not really aiming to replace a $500 professional DAW.
- stets 4y agoAre you trolling? It's just a toy for messing around, it's not that serious
- tiagod 4y agoRight? Why would people even learn to play the trumpet, violin or clarinet these days if they can just simulate it on fruity loops...