Higher resolution Samples

Probably the most technical forum around. It does not have to be coding related, or assembly code only. Just talk about how you can use the AY chip to do cool sounding things :)
Post Reply
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Higher resolution Samples

Post by Twilighte » Thu Mar 03, 2011 1:11 pm

This was a fascinating story of SoundDemon's successful attempt at producing 12 bit depth sound samples on the SID.

http://noname.c64.org/csdb/release/?id=72678&show=notes

Its worthy to mention only because such a method is (unfortunately) not possible on the Oric's AY :(

It is possible to produce higher resolution samples on the Oric but this is through combining 2 or 3 channels together. The maximum is almost 8 bit resolution.

The AY can only generate square waves and even the Envelopes Sawtooth and triangle waveforms are based on 4bit.

User avatar
Dbug
Site Admin
Posts: 2366
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug » Thu Mar 03, 2011 6:31 pm

Apparently if I understood the trick correctly, they have a fast spinning oscillator, and when they disable the oscillator mode it continues to spin but the last value is kept, so this can be used to generate a fine tuned volume control just by waiting a certain amount of time.

That's indeed hard to reproduce on the Oric, that would be like if the envelope mode had more than 16 volume levels and when switching from envelope to normal mode, it would keep the current volume.

User avatar
Dbug
Site Admin
Posts: 2366
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug » Sun Mar 06, 2011 10:21 pm

I'm currently investigating the feasibility on the Oric of some programming method discussed on the MSX forums (MSX has the same soundchip as the oric).

The two main things they are doing is:
- Take into consideration the it takes to set a value in one of the particular registers of the YM to reduce spikes that happens when the three sets of registers are not finished being updated.
- Doing an incremental (delta) encoding of the samples to change the registers in a way that only changes as few as possible values to represent the new set of values that makes a sample :)

The two objectives I try to get some (all would be awesome) of these:
- Faster than 8 bit replay routines (more free cpu time)
- Same or better quality compared to 8 bit replay routines
- Less storage space for the samples

No guarantees I will manage!

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests