Computer Audio Basics

If you are new here check this forum first, your question may have been answered.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hi All,
I'm new to the forum (and computer audio) and have some questions about how this all works. My personal motivation right now is building a system for digital piano sample playback, but I'm sure I'd do more if I had a better understanding of what everything is and how it works. My background is years of messing around on/off with guitars, doing sound setup for friends' bands, mixing records, etc. Recently I decided to actually learn music so I started theory classes which led to my ditching all my other music equipment and getting a fancy digital piano.

So I'm putting together a PC system to play MIDI piano samples (EastWest Quantum Leap Platinum Pianos to start). I've purchased most of the PC but still need RAM and drives. And, I need to figure out what kind of software to try out. I've heard the terms VST, DAW, plugin, etc but I don't understand what it all is and why some are used together. The piano samples come with 'Play' - the manual says it's a stand-alone program, but it's better to run inside another program?

I also want to know about how the hardware works - my guess is that software loads into RAM and cache, some music samples are loaded in to RAM, and with everything loaded (into RAM? or cache, or...?) the processor sort of filters the sound 'through' the software, pulling from and refreshing RAM?

Sorry this got so long - I have a curious mind and love to know how things work....

Thanks for reading!

My system so far:
Kawai CS-11 digital piano w/ MIDI, Line, amplification...and, uh, a soundboard :)
iConnectMIDI 2x2 USB to MIDI converter
Lenovo M710 Tiny; i5-7500T quad core @ 2.8g; 1 or 2 pcie and 1 SATA slot, up to 32GB RAM
HiFiMe Saber 9018 USB DAC to piano Line In (ASIO driver)
Sennheiser HD650 headphones
JBL LSR-305 monitors

Post

MIDI is not audio. "MIDI samples" is semantically incorrect :). Samples are audio data, just like the audio data on a CD or that you'd listen to on a streaming service over the internet.

MIDI consists just of short messages that say "this happened" - i.e. they describe an event that took place somewhere in the past (hopefully, when playing live, the extremely recent past). When your computer receives an event that says "Note 60 was pressed very hard", you'll be expecting to hear a loud Middle C played, because Note 60 is Middle C and hitting it hard generally means play it loud. Both the mapping from Note 60 to Middle C and from "very hard" to "loud" are arbitrary, of course.

Samples, as I say, are just audio files. They do not need to be loaded into main memory, they could be played directly from disk - but even this means loading at least a buffer's worth before playing. However, because even SSDs have access time higher than main memory, it's normal to load enough of a sample that there's time to retrieve the rest if needed whilst the part that's loaded plays. Depending on how well sampled the instrument is, that may or may not need a lot of RAM. Further because that initial section of the sample takes time to load, if you're planning to switch between multiple instruments when playing, you'll want all of them loaded up ready. That's when you start seeing the RAM get heavily used. I'd recommend buying as much fast RAM as you can afford, especially if you're likely to want to have more than one set of samples available when playing like this.

OK, so there's the samples and the MIDI event. Your sampler receives the MIDI event, either from your DAW or directly from the MIDI hardware. It looks at what the event tells it happened and decides what to do. Finding the Note 60 Loud, it locates the sample nearest Middle C that's meant to be played loud. Both aspects affect the range of samples. A piano (any instrument, generally) played softly sounds different from when played loudly, so you need the same notes at different volumes for proper expression. It finds a fairly loud sample close to middle C, so it needs to both amplify the sample and re-pitch it.

If you play exactly the same note again, maybe slightly less hard... well, if there's only one "fairly loud sample close to middle C", then that's the sample that will be played again. Often you'll find that there a multiple samples of the same note at the same volume made to allow more variation to avoid two different notes sounding too much like the same note. That, too, uses more RAM.

So the audio gets created. The audio then gets passed to the audio driver (either directly by the sampler or via the DAW), one buffer at a time and then the audio hardware turns the audio data into audio voltages to drive an amp or speakers. If that buffer contains enough audio to play for one second, then you'll have to wait for a second whilst it plays - so the next buffer, even if you starting playing piano immediately, wouldn't arrive for a second. You don't want to wait a second to hear what you play, you want to have the smallest audio buffer size you can get. On the other hand, it's demanding work creating the audio data and it does take time. If you don't allow enough time, the buffer won't be ready to play and you'll hear a glitch. You need fast RAM, a fast, powerful CPU, a good Audio card and good drivers for the best performance in that area.

Post

Thanks! I'll definitely read that a couple of times and let it sink in. Yeah sorry about semantics, I understand what MIDI is but I'm not used to talking about it. But this is helping me understand the software aspect I think (please let me know if I'm mistaken):

VST (sampler?): Like a music room, it's an environment to setup your rig. VST may or may not need a host (PLAY is my VST)

Plugin: Instruments, effects, processing that make up your rig, running inside the VST (QL Pianos is my plugin)

VST Host: Like the sound guy - controls the signal path, allows multiple VST setups to work together, maybe has some final signal processing capability.

Basically all of the above tells the computer how to handle a MIDI input signal. The processor looks at the storage drive with the software for basic setup and instructions on what to do with the signal (which includes loading signal processing instructions into cache/RAM as well as sample buffers into RAM). With the software and instructions loaded, the processor takes MIDI instructions and retrieves sound samples (from another drive), maybe does some signal processing, and sends the sound to the output.

So nothing goes between drives: information is only pulled from drives, and instructions and sample buffers are stored in 'short'term' memory. I can see why RAM and processor are important. Regarding pcie vs SATA ssds, it seems like the pcie is advantageous in allowing a faster dump of sample buffers into RAM (faster load time), so the total benefit depends on how large the sample libraries are and how many are being loaded at one time. The most important factor is that the drive can stream samples as fast as they're being asked for, which supposedly a SATA ssd can do just fine. I guess having the sample library on a separate drive keeps all the information close together and more quickly accessed.

To finish the list
DAW: Full-on production studio, for creating/editing/recording sound and can also work as a VST host.

Post

Not quite. A VST is one example of a plugin (there are other formats). They always need hosts. The host can (fairly rarely) be a standalone host but more often these days the plugins are hosted directly in the DAW which can also do the recording etc too.

VSTs may be instruments or effects. VST instruments (known as VSTi) may be synthesisers which make the sounds from scratch electronically or samplers which make the sounds by playing back pre-recorded samples stored on disc or in memory. VST effects are things like reverb, chorus, EQ, delay etc.

There you go, that's probably confused you even more - Steve

Post

Ok. So in my case, QL Pianos is a plugin VST, and PLAY is the host. Is PLAY considered a DAW?

Post

No it's not a DAW. It's EWQL own player engine it's a beast on it's own.It plays samples. It's a sample player like Native instrument Kontakt or UVI Worksation. Wich you will probably want to record in a DAW like Cubase, Reaper, Logic, FL studio, Studio one, Sonar, Live, Bitwig, etc.

When you want to record your piano you load PLAY inside the DAW. Open DAW and search for PLAY in the plugin list of your DAW.

Some software instruments like Play allow you to use them in standalone mode. Without the need of a DAW. You can just launch the program on it's own and play piano. But a lot of plugins will require that you load them inside your DAW or some VST Hosts.
MXLinux21, 16 Gig RAM, Intel i7 Quad 3.9, Reaper 6.42, Behringer 204HD or Win7 Steinberg MR816x

Post

I also want to know about how the hardware works - my guess is that software loads into RAM and cache, some music samples are loaded in to RAM, and with everything loaded (into RAM? or cache, or...?) the processor sort of filters the sound 'through' the software, pulling from and refreshing RAM?
Usually samples are loaded from disk to RAM, then played. If you plan to use sample-based instruments or live recordings, you will need quite some RAM but CPU usage will be low.
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

Thanks guys, I think this is sinking in and I appreciate the input. I started playing a digital piano 2 years ago and feel like I only heard people talk about VSTs. Now it makes sense - VST is more broad than I realized, and since the piano players I've heard it from are using standalone sample players, VST covers pretty much everything they needed.

I didn't get Play or EWQL pianos due to errors with the order. Instead, I bought a couple of piano sample libraries that are supported by Kontakt. I'd like to run 2 instances of 1 of the pianos - I want to load 1 piano as a 'player position', and have a second one at a lower volume that emulates the environment.

Can I run Kontakt Player as a standalone with multiple instances of the same library, or do I need a Host to run 2 instances of Kontakt?

There's a reason I haven't tried it yet! :) My PC came yesterday, and to my surprise it only has 1 nvme slot. I bought a 250gb drive for the OS and was planning on a second for the huge EWQL library. 250gb is fine for now but it doesn't seem that 'future proof' so I haven't decided if I should keep it or exchange it.

Either, way I'm glad to hear I made the right call: I got an i5 processor rather than i7, and used the savings for more RAM (20gb to start) and SSDs.

Post

That's useful infos here. That will help me.

Post

Buying intel right now is prob not the best idea. New amd ryzen chips kick every i5's ass and threadripper is gonna push prices down hard.

Post Reply

Return to “Getting Started (AKA What is the best...?)”