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 - "midi"
-
I have a lot of respect for anyone who can design a good looking website.
I can code like crazy. And I was a freelance classically trained illustrator for 10 years. But ask me to design a website and it's all spinning giffs, midi tracks, and Comic Sans. Some kind of early 90's geocities nightmare.7 -
The Raspberry Pi is the most fun toy I've bought in ages. And this is coming from a guy who has 700+ games in his steam library, with dozens of midi equipment lying around.7
-
At Uni, I went from being the only programmer, to the programmer, designer, scene builder, main script writer, minigame designer, project manager, music composer, UI designer and fucking everything else.
We had a team of 4 people. The artist was great and dedicated, the production person was motivated, but lacked any technical skills and my useless fuckwit of a friend wrote literally 3, 2 note midi sound effects in 6 fucking weeks.
Thank fucking god the coordinator and a mate of mine who we got to do the animations, saw the amount I had carried and both led me to getting 2 jobs in the industry right after graduating.4 -
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 -
New computer! I named it P.E.A.C.H. which is supposed to be an acronym, but I couldn't find a satisfying meaning.
Mind the stickers. I'd love to put a devRant sticker there too.
Components:
- Gigabyte AORUS GA-AX370-Gaming 5
- AMD Ryzen 7 1700
- Scythe Mugen 5 "PCGH Edition"
- 16GB HyperX FURY DDR4-2666 DIMM CL15-17-17
- 500 Watt Cooler Master B500 ver.2 Non-Modular 80+
- 275GB Crucial MX300 2.5" (SSD)
- 1000GB Seagate BarraCuda ST1000DM010 (HDD)
- Sharkoon BW9000-W Midi Tower
- Some video card and DVD drive I removed from an old computer
It still needs a good video card and internet connection.
With the dual boot and my MacBook Pro I cover Windows, Linux and MacOS.20 -
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 -
I am building a PC for my first time and thought about every step more than twice. This is going to be my build:
Processor: AMD Ryzen™ 7 2700
Mainboard: X370
RAM: Corsair DIMM 8 GB DDR4-2400
Video card: Zotac NVIDIA GeForce GTX 1050 Ti
SSD: Samsung 960 EVO 250 GB
HDD: Seagate ST1000DM010 1 TB
PSU: PURE POWER 10 | 300W
Case: Aerocool Cylon RGB Midi-Tower - black
What are your opinions on this build?59 -
Dear Dark Side #3
Honor the hackers who made your childhood:
Store text in .nfo
Trigger a midi when someone makes a patch
Send ASCII art to your graphics dept6 -
when someone tries to wrap their MIDI in 3 layers of crypto to distribute it without allowing access but they used ZipCrypto on a file format with a 14 byte header where only 4 bytes change3
-
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 -
The process of making my paging MIDI player has ground to a halt IMMEDIATELY:
Format 1 MIDIs.
There are 3 MIDI types: Format 0, 1, and 2.
Format 0 is two chunks long. One track chunk and the header chunk. Can be played with literally one chunk_load() call in my player.
Format 2 is (n+1) chunks long, with n being defined in the header chunk (which makes up the +1.) Can be played with one chunk_load() call per chunk in my player.
Format 1... is (n+1) chunks long, same as Format 2, but instead of being played one chunk at a time in sequence, it requires you play all chunks
AT THE SAME FUCKING TIME.
65534 maximum chunks (first track chunk is global tempo events and has no notes), maximum notes per chunk of ((FFFFFFFFh byte max chunk data area length)/3 = 1,431,655,763d)/2 (as Note On and Note Off have to be done for every note for it to be a valid note, and each eats 3 bytes) = 715,827,881 notes (truncated from 715,827,881.5), 715,827,881 * 65534 (max number of tracks with notes) = a grand total of 46,911,064,353,454 absolute maximum notes. At 6 bytes per (valid) note, disregarding track headers and footers, that's 281,466,386,120,724 bytes of memory at absolute minimum, or 255.992 TERABYTES of note data alone.
All potentially having to be played
ALL
AT
ONCE.
This wouldn't be so bad I thought at the start... I wasn't planning on supporting them.
Except...
>= 90% of MIDIs are Format 1.
Yup. The one format seemingly deliberately built not to be paged of the three is BY FAR the most common, even in cases where Format 0 would be a better fit.
Guess this is why no other player pages out MIDIs: the files are most commonly built specifically to disallow it.
Format 1 and 2 differ in the following way: Format 1's chunks all have to hit the piano keys, so to speak, all at once. Format 2's chunks hit one-by-one, even though it can have the same staggering number of notes as Format 1. One is built for short, detailed MIDIs, one for long, sparse ones.
No one seems to be making long ones.6 -
So I just ditched Windows, but then realized that my music production stuff (mostly REAPER and a few free VSTs) are all Windows/Mac only.
Audio on Linux is fun (as in, pain). JACK seems to be really flexible but is a pain to set up correctly.
Any of you use Linux for music production? Any advice?
I'm using Elementary. Essentially, I need:
1. A good DAW for recording, minimal MIDI.
2. A good sampler.
3. Standard plugin suite - reverb, eq, filters, compressors, delays, etc. I'm not too choosy.
4. Basic synths (I'll be happy with a simple saw/square wave generator, but the more the merrier).
How's Ardour? Compiling it from source right now.
REAPER on Wine doesn't run well for me, so that's out. And they don't have a native Linux version yet.
(no Bitwig, please, I'm not ready to pay $300 or whatever right now)28 -
I have a LOT of Floppies but no floppy drive that works with my current Win7 machine, and my XP one is in multiple boxes for parts... so for now I can only stare at NetWare 4 to 4.2, WfW 3.11 and DOS 6-22.
Smart me made VMs on his XP machine and transferred them to his Win7 one.
I also have data tapes... now that is NEVER gonna work on my Win7 so... anyone knows how it could *possibly* work out?
Also... I got documentation on Compaq servers... those are nice.
AAAAAAND since I’m a huge MIDI nerd... I have a SC-55mkII hooked on the UM-ONE mkII and those shitty cans that I’m gonna switch (hopefully) soon for a nice pair of Cakewalks MA-15Ds.
Also, I’m looking for one of them 5150s because 80s IBM and since I also like keyboards... the one and only Model M.
Anyone can hook me up with a cheap one?rant idk what the fuck i’m doing netware random data tapes ibm 5150 wfw 3.11 sc-55mkii model m dos 6.22 long rant1 -
Bug from Win2k still affects Win10. ...hooray...
"max limit of 10 midi drivers? sure, okay. Except they don't disappear after removal, updating drivers and replugging a device into a different USB port both eat up another slot too."
fix: just go fuck with the registry and trim out the driver entries, you'll be fiiiiiiiine
fuck you too MicroPeni$ -
short: free/cheap music making software?
Can someone recommend me some neat, free (or affordable one-time payment) music composing software / Digital Audio Workstation? I don't have a MIDI keyboard, I'd do everything per mouse/computer keyboard input. Windows btw16 -
The double-edged sword of teamwork. I'm an indie Game dev, so I have no choice but to work with others of completely different fields. I enjoy it and I get a lot of motivation seeing things done and learning many new disciplines, but team projects have so many downsides when you have to handle everything from programming to cinematography that someone else was meant to do.
My final team uni project I even had to do our music composing cause our sound effects guy did almost nothing in 6 months (he wrote 6 midi notes in 2 weeks at one point). -
Bought an Arduino and is finally able to learn how to make my software interact with custom hardware projects. Just wiring up a led and controlling it with software is amazing fun! Really looking forward to learning servos, motors etc.
Planning to make velocity sensitive midi drums with piezos in the future.4 -
Sometimes in our personal projects we write crazy commit messages. I'll post mine because its a weekend and I hope someone has a well deserved start. Feel free to post yours, regex out your username, time and hash and paste chronologically. ISSA THREAD MY DUDES AND DUDETTES
--
Initialization of NDM in Kotlin
Small changes, wiping drive
Small changes, wiping drive
Lottie, Backdrop contrast and logging in implementation
Added Lotties, added Link variable to Database Manifest
Fixed menu engine, added Smart adapter, indexing, Extra menus on home and Calendar
b4 work
Added branch and few changes
really before work
Merge remote-tracking branch 'origin/master'
really before work 4 sho
Refined Search response
Added Swipe to menus and nested tabs
Added custom tab library
tabs and shh
MORE TIME WASTED ON just 3 files
api and rx
New models new handlers, new static leaky objects xd, a few icons
minor changes
minor changesqwqaweqweweqwe
db db dbbb
Added Reading display and delete function
tryin to add web socket...fail
tryin to add web socket...success
New robust content handler, linked to a web socket. :) happy data-ring lol
A lot of changes, no time to explain
minor fixes ehehhe
Added args and content builder to content id
Converted some fragments into NDMListFragments
dsa
MAjor BiG ChANgEs added Listable interface added refresh and online cache added many stuff
MAjor mAjOr BiG ChANgEs added multiClick block added in-fragment Menu (and handling) added in-fragment list irem click handling
Unformatted some code, added midi handler, new menus, added manifest
Update and Insert (upsert) extension to Listable ArrayList
Test for hymnbook offline changing
Changed menuId from int to key string :) added refresh ...global... :(
Added Scale Gesture Listener
Changed Font and size of titlebar, text selection arg. NEW NEW Readings layout.
minor fix on duplicate readings
added isUserDatabase attribute to hymn database file added markwon to stanza views
Home changes :)
Modular hymn Editing
Home changes :) part 2
Home changes :) part 3
Unified Stanza view
Perfected stanza sharing
Added Summernote!!
minor changes
Another change but from source tree :)))
Added Span Saving
Added Working Quick Access
Added a caption system, well text captions only
Added Stanza view modes...quite stable though
From work changes
JUST a [ush
Touch horizontal needs fix
Return api heruko
Added bible index
Added new settings file
Added settings and new icons
Minor changes to settings
Restored ping
Toggles and Pickers in settings
Added Section Title
Added Publishing Access Panel
Added Some new color changes on restart. When am I going to be tired of adding files :)
Before the confession
Theme Adaptation to views
Before Realm DB
Theme Activity :)
Changes to theme Activity
Changes to theme Activity part 2 mini
Some laptop changes, so you wont know what changed :)
Images...
Rush ourd
Added palette from images
Added lastModified filter
Problem with cache response
works work
Some Improvements, changed calendar recycle view
Tonic Sol-fa Screen Added
Merge Pull
Yes colors
Before leasing out to testers
Working but unformated table
Added Seperators but we have a glithchchchc
Tonic sol-fa nice, dots left, and some extras :)))
Just a nice commit on a good friday.
Just a quickie
I dont know what im committing...3 -
No one's made a MIDI player that pages out the MIDI into individual data chunks (which are how the file format is set up) and the Black MIDI community will never be the same once I drop my WIP paging player3
-
commodore amiga 500, when I was 5 or 6.
what was the very first thing on it that i experienced, i don't know, but some things i remember:
Cannon Fodder 2
A-Train, a game that i played for months, it utterly fascinated me and i was utterly unable to keep my company afloat, because i was utterly unable to understand how the mechanics of the materials moving around worked (i still don't, actually, but in a different way)
some Apache simulator, which took us (me and father) literally a week to figure out how to get into the actual game from the main menu stylised as a military office. it took us several days to even realize it's the menu.
the Lotus Esprit 2 game, which we played regularly.
some Airbus simulator where i took two weeks of trial and error to figure out how to take off, without manual.
some experiments with midi sequencing and notation music programs.
how every two months, dad came with a 20page long list of programs and games from some pirate seller, which we would go through, mark stuff that sounded interesting (going by name only), then he would send it by post to him, and after a week, we would go take a package from post office full of floppies, literally like 200, and the next two or three weeks, we would be trying all of it out, seeing what the things we got were about, putting the good ones on one pile, the boring ones on another (cheap floppies for use)...
ah the magical times of wonder and exploration...2 -
mh, how much space i have in a post?? :D
first place is for an app to match students and mentors of my free learning community, secons place to the book listing app i creare to learn redux when it came out haha
midi controller with web audio api and well, the my biggest skeleton in the cupboard: Migrate my organization website from jekyll to hugo! -> it will never happen, i know!