Was the output of the C64 SID chip 8 bit sound?
Implement Homestuck's Catenative Doomsday Dice Cascader
Why only the fundamental frequency component is said to give useful power?
My coworkers think I had a long honeymoon. Actually I was diagnosed with cancer. How do I talk about it?
Find the Factorial From the Given Prime Relationship
How to project 3d image in the planes xy, xz, yz?
Which comes first? Multiple Imputation, Splitting into train/test, or Standardization/Normalization
Payment instructions allegedly from HomeAway look fishy to me
How did they achieve the Gunslinger's shining eye effect in Westworld?
How do I write "Show, Don't Tell" as a person with Asperger Syndrome?
Does a 3rd-level Wolf Totem barbarian get advantage against enemies when an ally is within 5 feet of the enemy?
BGP multihome issue
Arriving at the same result with the opposite hypotheses
Trapping Rain Water
Using a found spellbook as a Sorcerer-Wizard multiclass
How does a transformer increase voltage while decreasing the current?
Words that signal future content
At what point in time did Dumbledore ask Snape for this favor?
Winning Strategy for the Magician and his Apprentice
The eyes have it
Is this a mistake? (regarding maximum likelihood estimator)
Watts vs. Volt Amps
Last survivors from different time periods living together
Inconsistent behavior of compiler optimization of unused string
Where does "0 packages can be updated." come from?
Was the output of the C64 SID chip 8 bit sound?
Was the output of the C64 SID chip 8 bit sound?
I know that SID is not sample based, but instead generate its sound using sine waves and white noise.
So is it correct to say that the audio generation part was really analog, and thus even talking about sound bits really make no sense?
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
commodore-64
New contributor
add a comment |
Was the output of the C64 SID chip 8 bit sound?
I know that SID is not sample based, but instead generate its sound using sine waves and white noise.
So is it correct to say that the audio generation part was really analog, and thus even talking about sound bits really make no sense?
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
commodore-64
New contributor
add a comment |
Was the output of the C64 SID chip 8 bit sound?
I know that SID is not sample based, but instead generate its sound using sine waves and white noise.
So is it correct to say that the audio generation part was really analog, and thus even talking about sound bits really make no sense?
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
commodore-64
New contributor
Was the output of the C64 SID chip 8 bit sound?
I know that SID is not sample based, but instead generate its sound using sine waves and white noise.
So is it correct to say that the audio generation part was really analog, and thus even talking about sound bits really make no sense?
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
commodore-64
commodore-64
New contributor
New contributor
edited 6 hours ago
Raffzahn
59.5k6147246
59.5k6147246
New contributor
asked 8 hours ago
MTilstedMTilsted
1111
1111
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
The output is analog, not 8-bit. Each channel has 8-bit DAC inside to generate the seletable waveforms (sine was not one of them, square/pulse wave, triangle and saw). There were also volume and envelopes, so even at this point the audio can't faithfully be represented at 8 bits. There is also an analog filter through which channels can be sent. The digital DDS oscillators in the chip work at approximately 1 MHz so the DAC output could update at the precision of 1MHz clock. So interesting downsampling or band-limited step interpolation is needed to reproduce or render the output to resemble original audio. 8 bits at 44 kHz would be pushing it.
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
add a comment |
Part 1:
Was the output of the C64 SID chip 8 bit sound?
Short Answer: yes
The term 8-bit sound is generally not related to any sample size or speed, but to describe the sound 'qualities' of the 8-bit generation of consoles/computers.
Part 2:
So is it correct to say that the audio generation part was really analog,
Each and every sound generation is in the end analogue. A (single) speaker can only produce one, on-dimensional output over time.
The difference between using an DAC with a fixed feeding rate and mixing specialized circuits (like with the SID) is about the amount of data needed to feed either.
Feeding an 8-bit DAC will need one byte per step, so 44 kByte at 44 kHz. A SID based sound system may need only a single byte for the same duration. That is if only a single symmetric frequency is to be outputted. To produce a more complex output, more data is needed. Notable game sounds can already be generated with less than 100 bytes per second.
Sounds like a compression algorithm, doesn't it? And that's the whole idea here. It's more like playing an instrument(*1) than outputting plain analogue levels. Here as well the output is generated using predefined elements, in effect saving much of the rather slim bandwith 8 bit machines had (*2).
Viewed from system design having a sound chip where only sound elements have to be set and manipulated is much like having video controllers with programmable functions (CTIA) and/or sprites (VIC). Instead of having the CPU directly manipulating the bitmap data to create an output image, the image is composed from components which in turn need way less bandwith to be manipulates.
That design view also gives why it got out of fashion - with CPUs fast enough to manipulate bitmap data just in time for output and fast enough to prepare sound data fast enough for straight DAC output, the need for specialized chips vanished.
Part 3:
Or maybe what I am really asking is:
Which is a different question.
If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
Basically yes.
Quality will be the very same as a SID output recorded at 44 kHz - much like a CD with SID-music.
The issue here is, as shown, not some 44 kHz DAC, but a CPU able (aka fast enough) to compute (emulate) the various elements of a SID in time - if not going for calculating it ahead of time (aka batch) that is.
With modern chips/software it's for most parts straight foreward to build a simple SID-alike system. In fact, the web browser your reading this in is already all you need - at least if it supports WebAudio (*3).
*1 - Which is BTW the idea MIDI is based on. Here sound data is encoded as start stop condition for instruments (simplified). As result a rather narrow 31.25 kBit/s (~8 KiByte/s) can be used to produce a whole orchestras sound.
*2 - For example the available bandwith for data transport of a 6502 running at 1 MHz is at maximum less 100 KiByte/s. That's for a copy loop, with some processing is gets way lower. Similar for other CPUs of the same time.
*3 - WebAudio builds its sound generation pipeline from blocks that can be configured to work similar to the SID pipeline. All needed are a few lines JS to configure and link up sound sources, mixers and filters. Of course, this will be only a first iteration. Really remodelling all non linearities/quirks of teh SID will take a lot more.
add a comment |
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz
sample based audio chip, could that chip generate audio which could
not be distinguished from a real SID chip?
The short answer: probably. But, given a choice, use standard 44.1 KHz
16-bit sampling to reproduce the signal.
PCM audio reproduction has two components: frequency range (what's the
highest frequency it can reproduce?) and dynamic range (how loud is
the background noise level in comparison to the highest signal you can
hear?).
As described here (in probably far more detail than you care
about), the frequency range of properly done 44.1 KHz digital sample
reproduction will be about 0-20 KHz, which covers the entire set of
frequencies that most people can hear, so there are no issues there.
The dynamic range of 8-bit PCM reproduction will be significantly more
than 48 dB (assuming you use proper dithering); that is, the loudest
signal will be 48 dB higher than the noise floor. This is better than,
say, a high-quality cassette tape recording.
As others here have pointed out, SID chip is an analogue sound
generator with a digital oscillator producing square, triangle and
sawtooth waves. Because this is not a PCM sampling system, the
number of bits of resolution of the digital oscillator is nearly
irrelevant to the noise floor; that will be almost entirely determined
by the analogue portions of the system.
I can't find any figures on the noise floor of the C64 audio output,
but given that it's a very cost-constrained system in so many ways not
specifically designed for high-quality musical reproduction (think
about the typical speaker system used with it!), it's very likely that
the noise level is well above -48 dB.
However, another thing to consider is the character of the noise; a
standard PCM reproduction system that produces white noise filtered to
a certain spectrum may have "background noise" that sounds quite
different from that produced by a real C64 reproduction system. Your
digital emulation of a SID chip and any subsequent analogue circuitry
may or may not emulate this, but if it does that "SID noise" is part
of the signal and you want it will above the background noise of the
reproduction system.
In the end, unless you're particularly resource constrained (to a much
greater degree than on a modern PC or phone), you should use 44.1 KHz
16-bit reproduction so that you simply don't have to think about the
issues in that part of the system, and instead spend your energy
focusing on the details of the simulated analogue waveform produced by
your SID emulation. If the output of your emulation is not as noisy as
the real system and you want that noise, you should add the noise in
your emulation, ideally in a way that gives it the same character as
the noise created by the real system.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
MTilsted is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11206%2fwas-the-output-of-the-c64-sid-chip-8-bit-sound%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
The output is analog, not 8-bit. Each channel has 8-bit DAC inside to generate the seletable waveforms (sine was not one of them, square/pulse wave, triangle and saw). There were also volume and envelopes, so even at this point the audio can't faithfully be represented at 8 bits. There is also an analog filter through which channels can be sent. The digital DDS oscillators in the chip work at approximately 1 MHz so the DAC output could update at the precision of 1MHz clock. So interesting downsampling or band-limited step interpolation is needed to reproduce or render the output to resemble original audio. 8 bits at 44 kHz would be pushing it.
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
add a comment |
The output is analog, not 8-bit. Each channel has 8-bit DAC inside to generate the seletable waveforms (sine was not one of them, square/pulse wave, triangle and saw). There were also volume and envelopes, so even at this point the audio can't faithfully be represented at 8 bits. There is also an analog filter through which channels can be sent. The digital DDS oscillators in the chip work at approximately 1 MHz so the DAC output could update at the precision of 1MHz clock. So interesting downsampling or band-limited step interpolation is needed to reproduce or render the output to resemble original audio. 8 bits at 44 kHz would be pushing it.
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
add a comment |
The output is analog, not 8-bit. Each channel has 8-bit DAC inside to generate the seletable waveforms (sine was not one of them, square/pulse wave, triangle and saw). There were also volume and envelopes, so even at this point the audio can't faithfully be represented at 8 bits. There is also an analog filter through which channels can be sent. The digital DDS oscillators in the chip work at approximately 1 MHz so the DAC output could update at the precision of 1MHz clock. So interesting downsampling or band-limited step interpolation is needed to reproduce or render the output to resemble original audio. 8 bits at 44 kHz would be pushing it.
The output is analog, not 8-bit. Each channel has 8-bit DAC inside to generate the seletable waveforms (sine was not one of them, square/pulse wave, triangle and saw). There were also volume and envelopes, so even at this point the audio can't faithfully be represented at 8 bits. There is also an analog filter through which channels can be sent. The digital DDS oscillators in the chip work at approximately 1 MHz so the DAC output could update at the precision of 1MHz clock. So interesting downsampling or band-limited step interpolation is needed to reproduce or render the output to resemble original audio. 8 bits at 44 kHz would be pushing it.
answered 8 hours ago
JustmeJustme
87439
87439
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
add a comment |
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
2
2
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
If I remember correctly, the person who designed the SID chip had never worked on a sound chip before and presumed that it must work the same way as the analog synthesizers at the time (moog, arp, etc.). Thus, we ended up with the SID chip which was fairly unique in that it had analog sound generation circuitry unlike most others on the market at the time.
– bjb
7 hours ago
2
2
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
It does not work like analog synthesizers. The digitally generated waveforms from the oscillator are fed to DAC. This chip was basically meant to be a wavetable oscillator but they were in a hurry so they had to skip the waveform tables and just basically use the phase accumulator oscillator output for DAC which explains the waveforms.
– Justme
5 hours ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
@Justme: Many analog synths generate waveforms the same way as the SID. What makes them analog are the filters that follow the initial waveform generator. While something like a Juno 106 would have six identical filter circuits to allow six-voice polyphony, the SID only has one, but it's a true analog filter.
– supercat
1 hour ago
add a comment |
Part 1:
Was the output of the C64 SID chip 8 bit sound?
Short Answer: yes
The term 8-bit sound is generally not related to any sample size or speed, but to describe the sound 'qualities' of the 8-bit generation of consoles/computers.
Part 2:
So is it correct to say that the audio generation part was really analog,
Each and every sound generation is in the end analogue. A (single) speaker can only produce one, on-dimensional output over time.
The difference between using an DAC with a fixed feeding rate and mixing specialized circuits (like with the SID) is about the amount of data needed to feed either.
Feeding an 8-bit DAC will need one byte per step, so 44 kByte at 44 kHz. A SID based sound system may need only a single byte for the same duration. That is if only a single symmetric frequency is to be outputted. To produce a more complex output, more data is needed. Notable game sounds can already be generated with less than 100 bytes per second.
Sounds like a compression algorithm, doesn't it? And that's the whole idea here. It's more like playing an instrument(*1) than outputting plain analogue levels. Here as well the output is generated using predefined elements, in effect saving much of the rather slim bandwith 8 bit machines had (*2).
Viewed from system design having a sound chip where only sound elements have to be set and manipulated is much like having video controllers with programmable functions (CTIA) and/or sprites (VIC). Instead of having the CPU directly manipulating the bitmap data to create an output image, the image is composed from components which in turn need way less bandwith to be manipulates.
That design view also gives why it got out of fashion - with CPUs fast enough to manipulate bitmap data just in time for output and fast enough to prepare sound data fast enough for straight DAC output, the need for specialized chips vanished.
Part 3:
Or maybe what I am really asking is:
Which is a different question.
If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
Basically yes.
Quality will be the very same as a SID output recorded at 44 kHz - much like a CD with SID-music.
The issue here is, as shown, not some 44 kHz DAC, but a CPU able (aka fast enough) to compute (emulate) the various elements of a SID in time - if not going for calculating it ahead of time (aka batch) that is.
With modern chips/software it's for most parts straight foreward to build a simple SID-alike system. In fact, the web browser your reading this in is already all you need - at least if it supports WebAudio (*3).
*1 - Which is BTW the idea MIDI is based on. Here sound data is encoded as start stop condition for instruments (simplified). As result a rather narrow 31.25 kBit/s (~8 KiByte/s) can be used to produce a whole orchestras sound.
*2 - For example the available bandwith for data transport of a 6502 running at 1 MHz is at maximum less 100 KiByte/s. That's for a copy loop, with some processing is gets way lower. Similar for other CPUs of the same time.
*3 - WebAudio builds its sound generation pipeline from blocks that can be configured to work similar to the SID pipeline. All needed are a few lines JS to configure and link up sound sources, mixers and filters. Of course, this will be only a first iteration. Really remodelling all non linearities/quirks of teh SID will take a lot more.
add a comment |
Part 1:
Was the output of the C64 SID chip 8 bit sound?
Short Answer: yes
The term 8-bit sound is generally not related to any sample size or speed, but to describe the sound 'qualities' of the 8-bit generation of consoles/computers.
Part 2:
So is it correct to say that the audio generation part was really analog,
Each and every sound generation is in the end analogue. A (single) speaker can only produce one, on-dimensional output over time.
The difference between using an DAC with a fixed feeding rate and mixing specialized circuits (like with the SID) is about the amount of data needed to feed either.
Feeding an 8-bit DAC will need one byte per step, so 44 kByte at 44 kHz. A SID based sound system may need only a single byte for the same duration. That is if only a single symmetric frequency is to be outputted. To produce a more complex output, more data is needed. Notable game sounds can already be generated with less than 100 bytes per second.
Sounds like a compression algorithm, doesn't it? And that's the whole idea here. It's more like playing an instrument(*1) than outputting plain analogue levels. Here as well the output is generated using predefined elements, in effect saving much of the rather slim bandwith 8 bit machines had (*2).
Viewed from system design having a sound chip where only sound elements have to be set and manipulated is much like having video controllers with programmable functions (CTIA) and/or sprites (VIC). Instead of having the CPU directly manipulating the bitmap data to create an output image, the image is composed from components which in turn need way less bandwith to be manipulates.
That design view also gives why it got out of fashion - with CPUs fast enough to manipulate bitmap data just in time for output and fast enough to prepare sound data fast enough for straight DAC output, the need for specialized chips vanished.
Part 3:
Or maybe what I am really asking is:
Which is a different question.
If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
Basically yes.
Quality will be the very same as a SID output recorded at 44 kHz - much like a CD with SID-music.
The issue here is, as shown, not some 44 kHz DAC, but a CPU able (aka fast enough) to compute (emulate) the various elements of a SID in time - if not going for calculating it ahead of time (aka batch) that is.
With modern chips/software it's for most parts straight foreward to build a simple SID-alike system. In fact, the web browser your reading this in is already all you need - at least if it supports WebAudio (*3).
*1 - Which is BTW the idea MIDI is based on. Here sound data is encoded as start stop condition for instruments (simplified). As result a rather narrow 31.25 kBit/s (~8 KiByte/s) can be used to produce a whole orchestras sound.
*2 - For example the available bandwith for data transport of a 6502 running at 1 MHz is at maximum less 100 KiByte/s. That's for a copy loop, with some processing is gets way lower. Similar for other CPUs of the same time.
*3 - WebAudio builds its sound generation pipeline from blocks that can be configured to work similar to the SID pipeline. All needed are a few lines JS to configure and link up sound sources, mixers and filters. Of course, this will be only a first iteration. Really remodelling all non linearities/quirks of teh SID will take a lot more.
add a comment |
Part 1:
Was the output of the C64 SID chip 8 bit sound?
Short Answer: yes
The term 8-bit sound is generally not related to any sample size or speed, but to describe the sound 'qualities' of the 8-bit generation of consoles/computers.
Part 2:
So is it correct to say that the audio generation part was really analog,
Each and every sound generation is in the end analogue. A (single) speaker can only produce one, on-dimensional output over time.
The difference between using an DAC with a fixed feeding rate and mixing specialized circuits (like with the SID) is about the amount of data needed to feed either.
Feeding an 8-bit DAC will need one byte per step, so 44 kByte at 44 kHz. A SID based sound system may need only a single byte for the same duration. That is if only a single symmetric frequency is to be outputted. To produce a more complex output, more data is needed. Notable game sounds can already be generated with less than 100 bytes per second.
Sounds like a compression algorithm, doesn't it? And that's the whole idea here. It's more like playing an instrument(*1) than outputting plain analogue levels. Here as well the output is generated using predefined elements, in effect saving much of the rather slim bandwith 8 bit machines had (*2).
Viewed from system design having a sound chip where only sound elements have to be set and manipulated is much like having video controllers with programmable functions (CTIA) and/or sprites (VIC). Instead of having the CPU directly manipulating the bitmap data to create an output image, the image is composed from components which in turn need way less bandwith to be manipulates.
That design view also gives why it got out of fashion - with CPUs fast enough to manipulate bitmap data just in time for output and fast enough to prepare sound data fast enough for straight DAC output, the need for specialized chips vanished.
Part 3:
Or maybe what I am really asking is:
Which is a different question.
If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
Basically yes.
Quality will be the very same as a SID output recorded at 44 kHz - much like a CD with SID-music.
The issue here is, as shown, not some 44 kHz DAC, but a CPU able (aka fast enough) to compute (emulate) the various elements of a SID in time - if not going for calculating it ahead of time (aka batch) that is.
With modern chips/software it's for most parts straight foreward to build a simple SID-alike system. In fact, the web browser your reading this in is already all you need - at least if it supports WebAudio (*3).
*1 - Which is BTW the idea MIDI is based on. Here sound data is encoded as start stop condition for instruments (simplified). As result a rather narrow 31.25 kBit/s (~8 KiByte/s) can be used to produce a whole orchestras sound.
*2 - For example the available bandwith for data transport of a 6502 running at 1 MHz is at maximum less 100 KiByte/s. That's for a copy loop, with some processing is gets way lower. Similar for other CPUs of the same time.
*3 - WebAudio builds its sound generation pipeline from blocks that can be configured to work similar to the SID pipeline. All needed are a few lines JS to configure and link up sound sources, mixers and filters. Of course, this will be only a first iteration. Really remodelling all non linearities/quirks of teh SID will take a lot more.
Part 1:
Was the output of the C64 SID chip 8 bit sound?
Short Answer: yes
The term 8-bit sound is generally not related to any sample size or speed, but to describe the sound 'qualities' of the 8-bit generation of consoles/computers.
Part 2:
So is it correct to say that the audio generation part was really analog,
Each and every sound generation is in the end analogue. A (single) speaker can only produce one, on-dimensional output over time.
The difference between using an DAC with a fixed feeding rate and mixing specialized circuits (like with the SID) is about the amount of data needed to feed either.
Feeding an 8-bit DAC will need one byte per step, so 44 kByte at 44 kHz. A SID based sound system may need only a single byte for the same duration. That is if only a single symmetric frequency is to be outputted. To produce a more complex output, more data is needed. Notable game sounds can already be generated with less than 100 bytes per second.
Sounds like a compression algorithm, doesn't it? And that's the whole idea here. It's more like playing an instrument(*1) than outputting plain analogue levels. Here as well the output is generated using predefined elements, in effect saving much of the rather slim bandwith 8 bit machines had (*2).
Viewed from system design having a sound chip where only sound elements have to be set and manipulated is much like having video controllers with programmable functions (CTIA) and/or sprites (VIC). Instead of having the CPU directly manipulating the bitmap data to create an output image, the image is composed from components which in turn need way less bandwith to be manipulates.
That design view also gives why it got out of fashion - with CPUs fast enough to manipulate bitmap data just in time for output and fast enough to prepare sound data fast enough for straight DAC output, the need for specialized chips vanished.
Part 3:
Or maybe what I am really asking is:
Which is a different question.
If I have an 8 bit, 44 kHz sample based audio chip, could that chip generate audio which could not be distinguished from a real SID chip?
Basically yes.
Quality will be the very same as a SID output recorded at 44 kHz - much like a CD with SID-music.
The issue here is, as shown, not some 44 kHz DAC, but a CPU able (aka fast enough) to compute (emulate) the various elements of a SID in time - if not going for calculating it ahead of time (aka batch) that is.
With modern chips/software it's for most parts straight foreward to build a simple SID-alike system. In fact, the web browser your reading this in is already all you need - at least if it supports WebAudio (*3).
*1 - Which is BTW the idea MIDI is based on. Here sound data is encoded as start stop condition for instruments (simplified). As result a rather narrow 31.25 kBit/s (~8 KiByte/s) can be used to produce a whole orchestras sound.
*2 - For example the available bandwith for data transport of a 6502 running at 1 MHz is at maximum less 100 KiByte/s. That's for a copy loop, with some processing is gets way lower. Similar for other CPUs of the same time.
*3 - WebAudio builds its sound generation pipeline from blocks that can be configured to work similar to the SID pipeline. All needed are a few lines JS to configure and link up sound sources, mixers and filters. Of course, this will be only a first iteration. Really remodelling all non linearities/quirks of teh SID will take a lot more.
edited 6 hours ago
answered 6 hours ago
RaffzahnRaffzahn
59.5k6147246
59.5k6147246
add a comment |
add a comment |
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz
sample based audio chip, could that chip generate audio which could
not be distinguished from a real SID chip?
The short answer: probably. But, given a choice, use standard 44.1 KHz
16-bit sampling to reproduce the signal.
PCM audio reproduction has two components: frequency range (what's the
highest frequency it can reproduce?) and dynamic range (how loud is
the background noise level in comparison to the highest signal you can
hear?).
As described here (in probably far more detail than you care
about), the frequency range of properly done 44.1 KHz digital sample
reproduction will be about 0-20 KHz, which covers the entire set of
frequencies that most people can hear, so there are no issues there.
The dynamic range of 8-bit PCM reproduction will be significantly more
than 48 dB (assuming you use proper dithering); that is, the loudest
signal will be 48 dB higher than the noise floor. This is better than,
say, a high-quality cassette tape recording.
As others here have pointed out, SID chip is an analogue sound
generator with a digital oscillator producing square, triangle and
sawtooth waves. Because this is not a PCM sampling system, the
number of bits of resolution of the digital oscillator is nearly
irrelevant to the noise floor; that will be almost entirely determined
by the analogue portions of the system.
I can't find any figures on the noise floor of the C64 audio output,
but given that it's a very cost-constrained system in so many ways not
specifically designed for high-quality musical reproduction (think
about the typical speaker system used with it!), it's very likely that
the noise level is well above -48 dB.
However, another thing to consider is the character of the noise; a
standard PCM reproduction system that produces white noise filtered to
a certain spectrum may have "background noise" that sounds quite
different from that produced by a real C64 reproduction system. Your
digital emulation of a SID chip and any subsequent analogue circuitry
may or may not emulate this, but if it does that "SID noise" is part
of the signal and you want it will above the background noise of the
reproduction system.
In the end, unless you're particularly resource constrained (to a much
greater degree than on a modern PC or phone), you should use 44.1 KHz
16-bit reproduction so that you simply don't have to think about the
issues in that part of the system, and instead spend your energy
focusing on the details of the simulated analogue waveform produced by
your SID emulation. If the output of your emulation is not as noisy as
the real system and you want that noise, you should add the noise in
your emulation, ideally in a way that gives it the same character as
the noise created by the real system.
add a comment |
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz
sample based audio chip, could that chip generate audio which could
not be distinguished from a real SID chip?
The short answer: probably. But, given a choice, use standard 44.1 KHz
16-bit sampling to reproduce the signal.
PCM audio reproduction has two components: frequency range (what's the
highest frequency it can reproduce?) and dynamic range (how loud is
the background noise level in comparison to the highest signal you can
hear?).
As described here (in probably far more detail than you care
about), the frequency range of properly done 44.1 KHz digital sample
reproduction will be about 0-20 KHz, which covers the entire set of
frequencies that most people can hear, so there are no issues there.
The dynamic range of 8-bit PCM reproduction will be significantly more
than 48 dB (assuming you use proper dithering); that is, the loudest
signal will be 48 dB higher than the noise floor. This is better than,
say, a high-quality cassette tape recording.
As others here have pointed out, SID chip is an analogue sound
generator with a digital oscillator producing square, triangle and
sawtooth waves. Because this is not a PCM sampling system, the
number of bits of resolution of the digital oscillator is nearly
irrelevant to the noise floor; that will be almost entirely determined
by the analogue portions of the system.
I can't find any figures on the noise floor of the C64 audio output,
but given that it's a very cost-constrained system in so many ways not
specifically designed for high-quality musical reproduction (think
about the typical speaker system used with it!), it's very likely that
the noise level is well above -48 dB.
However, another thing to consider is the character of the noise; a
standard PCM reproduction system that produces white noise filtered to
a certain spectrum may have "background noise" that sounds quite
different from that produced by a real C64 reproduction system. Your
digital emulation of a SID chip and any subsequent analogue circuitry
may or may not emulate this, but if it does that "SID noise" is part
of the signal and you want it will above the background noise of the
reproduction system.
In the end, unless you're particularly resource constrained (to a much
greater degree than on a modern PC or phone), you should use 44.1 KHz
16-bit reproduction so that you simply don't have to think about the
issues in that part of the system, and instead spend your energy
focusing on the details of the simulated analogue waveform produced by
your SID emulation. If the output of your emulation is not as noisy as
the real system and you want that noise, you should add the noise in
your emulation, ideally in a way that gives it the same character as
the noise created by the real system.
add a comment |
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz
sample based audio chip, could that chip generate audio which could
not be distinguished from a real SID chip?
The short answer: probably. But, given a choice, use standard 44.1 KHz
16-bit sampling to reproduce the signal.
PCM audio reproduction has two components: frequency range (what's the
highest frequency it can reproduce?) and dynamic range (how loud is
the background noise level in comparison to the highest signal you can
hear?).
As described here (in probably far more detail than you care
about), the frequency range of properly done 44.1 KHz digital sample
reproduction will be about 0-20 KHz, which covers the entire set of
frequencies that most people can hear, so there are no issues there.
The dynamic range of 8-bit PCM reproduction will be significantly more
than 48 dB (assuming you use proper dithering); that is, the loudest
signal will be 48 dB higher than the noise floor. This is better than,
say, a high-quality cassette tape recording.
As others here have pointed out, SID chip is an analogue sound
generator with a digital oscillator producing square, triangle and
sawtooth waves. Because this is not a PCM sampling system, the
number of bits of resolution of the digital oscillator is nearly
irrelevant to the noise floor; that will be almost entirely determined
by the analogue portions of the system.
I can't find any figures on the noise floor of the C64 audio output,
but given that it's a very cost-constrained system in so many ways not
specifically designed for high-quality musical reproduction (think
about the typical speaker system used with it!), it's very likely that
the noise level is well above -48 dB.
However, another thing to consider is the character of the noise; a
standard PCM reproduction system that produces white noise filtered to
a certain spectrum may have "background noise" that sounds quite
different from that produced by a real C64 reproduction system. Your
digital emulation of a SID chip and any subsequent analogue circuitry
may or may not emulate this, but if it does that "SID noise" is part
of the signal and you want it will above the background noise of the
reproduction system.
In the end, unless you're particularly resource constrained (to a much
greater degree than on a modern PC or phone), you should use 44.1 KHz
16-bit reproduction so that you simply don't have to think about the
issues in that part of the system, and instead spend your energy
focusing on the details of the simulated analogue waveform produced by
your SID emulation. If the output of your emulation is not as noisy as
the real system and you want that noise, you should add the noise in
your emulation, ideally in a way that gives it the same character as
the noise created by the real system.
Or maybe what I am really asking is: If I have an 8 bit, 44 kHz
sample based audio chip, could that chip generate audio which could
not be distinguished from a real SID chip?
The short answer: probably. But, given a choice, use standard 44.1 KHz
16-bit sampling to reproduce the signal.
PCM audio reproduction has two components: frequency range (what's the
highest frequency it can reproduce?) and dynamic range (how loud is
the background noise level in comparison to the highest signal you can
hear?).
As described here (in probably far more detail than you care
about), the frequency range of properly done 44.1 KHz digital sample
reproduction will be about 0-20 KHz, which covers the entire set of
frequencies that most people can hear, so there are no issues there.
The dynamic range of 8-bit PCM reproduction will be significantly more
than 48 dB (assuming you use proper dithering); that is, the loudest
signal will be 48 dB higher than the noise floor. This is better than,
say, a high-quality cassette tape recording.
As others here have pointed out, SID chip is an analogue sound
generator with a digital oscillator producing square, triangle and
sawtooth waves. Because this is not a PCM sampling system, the
number of bits of resolution of the digital oscillator is nearly
irrelevant to the noise floor; that will be almost entirely determined
by the analogue portions of the system.
I can't find any figures on the noise floor of the C64 audio output,
but given that it's a very cost-constrained system in so many ways not
specifically designed for high-quality musical reproduction (think
about the typical speaker system used with it!), it's very likely that
the noise level is well above -48 dB.
However, another thing to consider is the character of the noise; a
standard PCM reproduction system that produces white noise filtered to
a certain spectrum may have "background noise" that sounds quite
different from that produced by a real C64 reproduction system. Your
digital emulation of a SID chip and any subsequent analogue circuitry
may or may not emulate this, but if it does that "SID noise" is part
of the signal and you want it will above the background noise of the
reproduction system.
In the end, unless you're particularly resource constrained (to a much
greater degree than on a modern PC or phone), you should use 44.1 KHz
16-bit reproduction so that you simply don't have to think about the
issues in that part of the system, and instead spend your energy
focusing on the details of the simulated analogue waveform produced by
your SID emulation. If the output of your emulation is not as noisy as
the real system and you want that noise, you should add the noise in
your emulation, ideally in a way that gives it the same character as
the noise created by the real system.
answered 1 hour ago
Curt J. SampsonCurt J. Sampson
346110
346110
add a comment |
add a comment |
MTilsted is a new contributor. Be nice, and check out our Code of Conduct.
MTilsted is a new contributor. Be nice, and check out our Code of Conduct.
MTilsted is a new contributor. Be nice, and check out our Code of Conduct.
MTilsted is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Retrocomputing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11206%2fwas-the-output-of-the-c64-sid-chip-8-bit-sound%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown