0
\$\begingroup\$

Sorry for the primitive question but this is a topic where I'm completely blank and has been a mystery for me until now. I had some readings on the net but couldn't get a clear picture. All say MIDI is an interface.

I thought about it and maybe a short brief journey of MIDI music from a MIDI file in a PC to the computer speaker would help to see the bigger picture.

I have some midi files aka music files in MIDI format and when played by a media player you can hear the synthesized music. Here as an example can be downloaded and listened to an example "Confutatis" from Mozart's Requiem.

So what happens right after the program runs in terms of the information transfer?

Here is what I guess:

The program code(midi file) executes ---> The CPU and RAM sends the digital data in the program code to the sound card via a MIDI interface ---> The soundcard probably knows the MIDI coding converts the digital data to analogue audio----> This audio is amplified and sent to the speaker. ???

The above might be completely wrong and I cannot find a flow chart or any circuitry about it on the net. An example with an electronic keyboard and MIDI also would be fine.

\$\endgroup\$
  • \$\begingroup\$ MIDI = Musical Instrument Digital Interface \$\endgroup\$ – Dwayne Reid Nov 22 '18 at 6:31
2
\$\begingroup\$

Midi is an interface standard, a physical communication interface and protocol standard.

It was designed to let electronic instruments and synthesizers communicate with each other to allow performers to produce live music.

Midi controllers send notes to midi synthesizers for them to generate sounds.

Its basic representation is in terms of channels/instruments/controllers, notes, and timings. That allows midi files (controller commands) to be rather small.

Although it is possible, I really doubt the sound card understands midi at all. Instead it is more likely that a software synthesizer generates the requested sounds.

\$\endgroup\$
  • 3
    \$\begingroup\$ There were (and probably still are) midi capable sound cards that actually synthesized the sound onboard in response to MIDI commands from the PC. The process of generating the sounds realtime was too much for the CPUs back then. The sound cards used a dedicated DSP for the task. Some had "sound banks" of prerecorded sounds for various instruments, and applied transformations to them "on the fly" for things like strike intensity, volume, and vibrato. Nowadays probably done in the drivers - or synthesizer software. \$\endgroup\$ – JRE Nov 22 '18 at 6:24
  • \$\begingroup\$ Well certainly sound drivers have been midibawarevforva long time. In a Mac these would use the resources for available. I used to have a midi keyboard/synthesizer connected to my computerI remember being caught completely by surprise one morning, when someone sent me one of those birthday e-cards with silly music and my keyboard started blasting it out in my dorm. \$\endgroup\$ – Edgar Brown Nov 22 '18 at 11:51
  • \$\begingroup\$ I found a basic tutorial who are zero on the topic as me learn.sparkfun.com/tutorials/midi-tutorial/all \$\endgroup\$ – user1999 Nov 22 '18 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.