Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "synth"
-
Guys, guys, guys! Read this if you haven't already..Hilarious ;-)
Source: http://kumo.swcp.com/synth/text/...14 -
Languages I have used this week at work:
PHP, JS, VB6, VB.net, C#.
Im not kidding.
Time to relax with some good ol' beer 🤣8 -
My relatives: "Can you fix my computer/ipad/etc..."
Me: "Sure why not. I'l take a look when I have the time"
Lesson: Don't be so arrogant.2 -
tl;dr read the whole thing you lazy goat-molesting arse.
People. It's unpopular opinion time!
Windows is brilliant.
There. I said it.
Why? Because it has the balance of user-friendliness and customisability that is great for most workloads. Its enormous user- and developer- base allow almost anything you want to be done on it.
For instance, a few years ago I hooked up a MIDI synth pad to my PC and found an obscure program to use MIDI events as macros. I did not have to write any code, compile anything or any crap like that. (If you're a developer then you'll have no problem with that kind of thing, but not everyone's an über-technical nerd like you. Deal with it.)
I don't like Windows. But it's still brilliant for most people. All you Linux fan- boys/girls/helicopters are right to advocate it, but it will never expand its market share to more than the percentage of people who are developers, (unless it turns into a corporate enterprise (which it probably won't)). It has its flaws, but most of them will never affect the average end user. OK? Thanks.9 -
Just thought I'd share my current project: Taking an old ISA sound card I got off eBay and wiring it up to an Arduino to control its OPL3 synth from a MIDI keyboard. I have it mostly working now.
No intention to play audio samples, so I've not bothered with any of the DMA stuff - just MIDI (MPU-401 UART) and OPL3.
It has involved learning the pinout of the ISA bus connectors, figuring out which ones are actually used for this card, ignoring the standards a little (hello, amplifier chip that is wired up to the +12V line but which still happily works at +5V...)
Most of the wires going to it are for each bit of the 16-bit address and 8-bit data. Using a couple of shift registers for the address, and a universal shift register for the data. Wrote some fairly primitive ISA bus read/write code, but it was really slow. Eventually found out about SPI and re-wrote the code to use that and it became very fast. Had trouble with some timings, fixed those.
The card is an ISA Plug and Play card, meaning before I could use it I had to tell it what resources to use. Linux driver code and some reverse-engineering of the official Windows/DOS drivers got me past this stage.
Wired up IRQ 5 to an Arduino interrupt to deal with incoming MIDI data, with a routine that buffers it. Ran into trouble with the interrupt happening during I/O and needing to do some I/O inside the handler and had to set a flag to decide whether to disable/re-enable interrupts during I/O.
It looks like total chaos, but the various wires going across the breadboard are mainly to make it easier to deal with the 16-bit address and 8-bit data lines. The LEDs were initially used to check what addresses/data were being sent, but now only one of them is connected and indicates when the interrupt handler is executing.
There's still a lot to do after that though - MIDI and OPL3 are two completely different things so I had to write some code to manage the different "channels" of the OPL3 chip. I have it playing multiple notes at the same time but need to make it able to control the various settings over MIDI. Eventually I might add some physical controls to it and get a PCB made.
The fun part is, I only vaguely know what I'm doing with the electronics side of this. I didn't know what a "shift register" was before this project, nor anything about the workings of the ISA bus. I knew a bit about MIDI (both the protocol and generally how the MPU-401 UART works) along with the operation of a sound card from a driver/software perspective, but everything else is pretty new to me.
As a useful little extra, I made some "fake" components that I can build the software against on a PC, to run some tests before uploading it to the Arduino (mostly just prints out the addresses it is going to try and write to).46 -
When I was about 10 I tried to make a basic midi sequencer/synthesiser using just the python standard library.
The only sound production there was was winsound.beep, which played a sine wave at the frequency given.
I realised that if I put enough really short beeps together I could make some mildly convincing instruments - I remember an electric piano, acoustic guitar, some kind of bass synth, and maybe more?
Then I put them together to make a song. The problem was though that you can't play multiple notes together as winsound.beep was blocking (though I didn't understand that at the time).
I had no knowledge of threading or async so I opened multiple python interpreter instances to play multiple channels. That's how I learnt about command-line arguments!
But I really struggled to get the sounds to be in time because python is not exactly rapid.
I made a kind of note sequencer using a library called easygui, based on tkinter (TCL wrapper), and I remember being told off at school for bringing in a usb stick with the exe of my program that I made with py2exe.
So many old technologies and fond memories...2 -
just had a 3AM fucking brain blast
On the TI-8x line of calculators, you can do link port shit to essentially blit music to the barrel link port. However, the only library for this sounds like dick and is a superslow piece of shit.
I've just had a thought:
The library this dude wrote spaces the note out, waits for it to end and then resets the port.
If you're blitting music to the port rapid-fire, you don't need to reset it except either after the music or during rests. I can push a note with a waveform of 0hz to the link port to reset it, so...
The dude posted his source, so I could theoretically have it set the link port to whatever note and immediately return.
This would make the time between notes upwards of like 8x faster, bringing my sample rate from like 25 to 200 or so. That's almost fast enough for barely-recognizable voice synth! A little fiddling would be needed to get me the rest of the way there, but there's probably optimizations I can do to push the envelope some.8 -
AAARGH ELECTRON IS SO FUCKING...decently pleasant to use?
So I've been working on a FPGA based synthesizer on a Xilinx Arty A7 board (that little Artix 35T chip is surprisingly capable), and since I hate typing commands into a serial stream for anything even decently complex just like any sane person should, I needed something to build a UI for controlling it and other synth projects while I make the Eurorack compatible enclosure and knobs and stuff. I chose Electron because they said it was simple and easy to make cool looking stuff, fast.
And they were right. In like two hours, with Electron and p5.js, starting from zero since I don't know jack about frontend, I had a pretty nice UI driving the hardware synth and effects modules. Not bad. I should use this more often.11 -
!Rant
Am I the only one that devRant almost completely replaced Reddit for the "I'm currently waiting on something so I'm browsing" spot?
Since I've been on devRant, my time on Reddit and even HN diminished quite a lot!
Long story short, this place is amazing :P4 -
I was just writing a long rant about how my rant style changed, and how I could fix anything that annoys me in a heartbeat by just putting my mind to implementing a change. Then YouTube once again paused the synth mix that was playing on my laptop in the background, with that stupid "Video paused. Continue watching?" pop-up. I even installed an add-on for it in Firefox to make it automatically click that away. I guess that YouTube did yet another bullshit update to break that, for "totally legitimate user interface improvements" or whatever. Youtube-dl faces similar challenges all the time, and it's definitely not alone in that either. I also had issues with that on Facebook when I wanted to develop on top of that, where the UI changes every other day and the API even changes every other week. And as far as backwards compatibility goes, our way or the highway!
So I did the whole "replace and move on" type of thing. I use youtube-dl often now to get my content off YouTube into a media player that doesn't fuck me over for stupid reasons like "ad fraud" (I use an ad blocker you twats, what ads am I gonna fraud against), or "battery savings" (the damn laptop is plugged in and fully topped up for fucks sake, and you do this crap even on desktop computers). Gee I wonder why creators are moving on to Floatplane and Nebula nowadays, and why people like yours truly use "highly illegal" youtube-dl. Oh and thank you for putting me in Saudi Arabia again. Pinnacle of data mining, machine learning and other such wank could not do GeoIP. for a server that used to be in a datacenter in Italy for years, and recently has been moved to another hosting provider in Germany. It's about as unchanging and static, and as easy to geolocate as you can possibly get. But hey, kill off another Google+ when?
Like seriously, yes I'm taking your Foobar challenges and you may very well be the company I end up working for. But if anything it feels like there's a shitton of stuff to fix. And the challenges themselves still using Python 2.7 honestly feels like the seldom seen tip of the iceberg.1 -
I am currently looking for a DAW (Digital Audio Workstation), because my music projects are starting to get a little too complex for Audacity.
So I started looking for a good, easy-to-learn, ideally free program, and quickly learned that Avid now has a free version of Pro Tools called First.
So I go to their site and fill out the registration form to get the download. In addition to creating an account with Avid, you also need to create one with iLok, which apparently has something to do with how they manage their licenses. Kinda overkill for a free program, but okay...
I download the program (about 3gigs...), install it and try to start it. It gives me an error message about missing some service. Okay? I'm confused because I notice that an 'Application Manager' service has appeared in my tray, and when I open that I can log into my new account just fine. But it still doesn't work.
There's a link in the error message to the iLok website, and it looks like ai need to dowload and install another component. Why didn't that get installed with the program if it's required?
Hmm...
So I go to the iLok site, download it and install it. Pro Tools First still won't start. I realize that the PTF installer asked me to reboot, which I didn't do because: a) I always have a lot of windows open, and b) How often is a reboot ACTUALLY required? Why would you need to reboot?
So I (begrudgingly) reboot, and now the program seems to start initializing... but then it throws an error message about some plugin that it can't load because it doesn't work for the 64 bit version. Then... why are you even looking for it?
And then it says something like: 'I can't handle that, I'm just gonna shut down'.
What?
I try starting it again. Same error appears, but then it gets past it this time... Only to throw another error message about something else it can't load, and therefore it must shut down.
Deep breath.
Third time is the charm, the program actually made it to the project create/load screen! Huzzah!
So I look around a bit, but don't do much. It doesn't seem too intuitive to me, so I start watching some tutorials on YouTube from Avid themselves. It's a little late by now, so I don't get my hands dirty that day.
Next time I want to try out the program I start it up, still get error messages, but it does seem to initialize okay. But then the 'Create project' button doesn't react when I press it.
It turns out that the program takes a looong time to log in to the avid account, even though the manager service is running and logged in...
When it finally logs on I create a new blank project, but it doesn't ask me where to save it to. I see there is a counter saying 1/3 and looking around I find some info about 'cloud based projects'.
It would seem that this program only supports saving projects to the cloud, and you get only 3 projects total. Three. THREE?
Ahem...
I add an instrument track to my new project and select the one and only plugin, which is a synth. I don't see the plugin window, like in the tutorials I watched. I fiddle around with the windows, but I only manage to get the layout fucked up. There's a handy 'Window' menu, but none of the options resets the view. The main window is now sporting a WINDOWS FUCKING 7 BORDER! And partially blocking the view of the top menu.
Blaaargh!
Frustrated, I shut the program down and restart it. I now select one of the project templates (after waiting for it to LOG IN AGAIN!) in the hope that I might have a bit more luck with that starting point.
But when the template has loaded, out of nowhere, the program goes from maximized to windowed mode! And the fucking Win7 border is back again, still messing with the main menu!
FFS!
I get the sucker maximized again and select one of the synth tracks, and Lo and Behold! The synth plugin window actually shows up! But of course there is no sound produced when I play, neither with the keyboard or my midi keyboard.
Oh no, that would have been too easy.
I see some the meters moving when I play, but no sound is produced. I check the options menu, but find out nothing useful except for the fact that the program only support 48kHz sample rate. That's pretty disappointing when you have a 192kHz/24bit soundcard.
I'm done. This piece of shit software is NOT for me. It's bloated, complicated to sign up for and install, extremely limited and buggy as hell!
The final insult is that it takes 5 minutes to uninstall because there is no uninstall option in the so-called 'Application Manager' (of course fucking not!), and doing it through Programs & Features there are 5 (FIVE!!) different apps and services to uninstall, one by one.
0/10, would not recommend.11 -
Today is the day I get to go on a long and deserved vacation!
I came to work at 5.10 am so I can pour a glass of Lagavulin 16yo as early as possible 🤣
Edit: At the moment im a few SQL queries away from the nectar of gods.2 -
@dfox Yay for new items and desks, but I'm still not seeing my world map desk, and that should be a must. Everyone has one like that, no?8
-
Here's a nightmarish tale that happened to me not long ago:
One of our stores was moving, so they asked me for help with the systems. Thinking it'd be fun, I said yes, and went. All I had to do was unplug everything and reorder it at the new location, sounds really easy right?
They hadn't cleaned the computer area in ten years.
Each time something broke, they replaced it...and left the old cables there. But that was nothing compared to just a little later, when I tackled the network situation.
For two stations, they had:
2 routers. 5 switches. A wi-fi adapter, even though the routers had that capability, an adsl modem backup and a...56k modem. ALL plugged. ALL linked.
Turns out they switched providers, and they didn't bother removing the old equipment. They just linked everything together.
Man, what a night it was -_-1 -
I wanted to add a simple gallery for our website.
I started browsing open source alternatives.
Result: "Depens on jquery, depends on node, depends on bla bla bla... Fuck it... I'l just make one myself."2 -
This crazy guy who created SunVox synth released a single C file that contains a long note sequence AND the synth code itself, with echo and shit, no deps other than SDL to output audio, so you basically compile a single C file, and it PLAYS REAL MUSIC
HOOOOOW
https://github.com/pixicoder/PS
https://youtube.com/watch/...22 -
Opinions on the current gen iPad mini/air (apart from "reeeee Apple")? iPad 4 was a brilliant device, loved it, looking for a similar thing. Can't find any decent Android tablet and honestly, not sure if I want Android at all.
I basically want a companion device with superb battery life, a larger screen than my phone, and good and useful apps (used Garageband, Magellan, and Voice Synth quite a bit on the old iPad). Will be going to college in a few months so something useful for carrying around too that's more portable than my laptop.
Considered a Celeron laptop, but it's basically useless for anything but text editing and basic browsing.9 -
Years ago when I was a kid I was into making things to solve problems. Earlier in my life I remember as a kid seeing a neighbor shove 120VAC into the ground to get worms to come up to the surface. I also remember taking a worm and slapping it on one of the posts and shocking the shit out of myself. Apparently that lesson did not stick.
As a teenager I wanted a device similar to this. So I wired a 120VAC plug and cord to a 1/4" audio connector. I threw this in a box and forgot about it. Years later my sister went through my things looking for a power plug for a synthesizer we had. It had an audio 1/4" plug for headphones. She told me she plugged this cord she found of mine into the synth and it started smoking. She went to pull the plug out and shocked the shit out of her. I don't think that the synth ever worked correctly after that.
Well, today I was thinking fondly about that story. I mean, who wouldn't think fondly about shocking the shit out of your sister (she didn't die, so its okay). However, it was dangerous. Really really dangerous.
The lesson I can take from this memory is this: if you know a software interface (or electrical) is not safe then don't build it. Someone will try and use that shit years later and really fuck some stuff up. I have to wonder. What kind of software traps have I built in the past that are yet to be discovered?3 -
Keeping the clients happy is very important but when you have alot of shit to do, being a glorified helpdesk bugs me the fuck out. My inbox is screaming at me: "Please no more... Master please end me!".
-
My first job was being a sales clerk. I exel macroed my way to my coworkers hearts. Today im just a simple developer, and I love my job!
-
Jesus H. Christ. It really did happen! Just moved from vb6 to vb.net. My personal opinion, going with C#, was disregarded but im still happy to leave that abomination behind.
The sad part is that I have gotten pretty good with vb6 🍻 A drink to that!
PS. VB.net is supposed to be simple and readable but I disagree. C# Is way more readable and there is this elegance about the syntax. As a side project I am thinking of learning Go and make a simple cms. -
My biggest ongoing sin is that I neglect commenting while maintaining a legacy system. No one else has commented anything so why should I? Well I should. I comfort my self with the fact that this legacy system will be replaced with a shiny new well commented one in the near future, which im also working on.
-
I think im lucky. I have recieved only 3 gdpr related emails.
Am I lucky or is the shitstorm just about to begin? 🤣2 -
I teach the AI to code and after that I mentor it.
Just a matter of time when I amongst all humans become obsolete 😔 -
I am building a synth program for producing waveforms such as binaural. The programs I have used in the past have been mediocre.
In that project I am working on a realtime scope to visualize the waveforms. It is fun to learn how to streamline moving data between parts of the application. Right now it has a lot of unnecessary data copying going on, and resizing of vectors. So I am reading some books on high performance C++ to learn how to do this better. As part of this I am thinking about building a circular buffer so the vector is never resized and is always in contiguous memory.
Just plain fun!4 -
Not really Dev related,but I find myself listening to this album on repeat https://youtu.be/nBZbNBzerFo it's so relaxing2