It is currently Sun Sep 24, 2017 6:50 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 55 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
PostPosted: Tue Jan 24, 2017 5:02 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5644
Location: Canada
Bregalad wrote:
rainwarrior wrote:
I don't tend to use hardware for synthesis much for a long time now (I have keyboard MIDI controllers, but usually do synthesis through software and ASIO), but I really liked the NI FM7 software synthesizer, which is basically an expanded DX7 idea. (There's an NI FM8 sequel, but it lost the whole DX7 look and theme to the interface, which made me sad.)

It looks interesting but I really don't like the software synthesizers. The concept is nice but it's not practical to play with your keyboard and mouse, and the whole point of playing music is to do something *else* than sitting in front of a computer or TV (at least for me). Using software synthesizers kills that point.
It looks like the Clavia Nord Modular is interesting in this regard, but it's discontinued (but is still much more recent than the epic DX7). I'll have to see if I can order one used and if they're affordable.

If you have a MIDI controller you don't really need to interact with your computer except to turn it on and set it up. If your controller has enough knobs you can program patches and everything via that, too. With ASIO you can get very low latency, which was basically why I stopped owning hardware synthesizers, it solved the last remaining problem I cared about.

If you really need to have your synthesis in its own box, I think the last one Yamaha made was the FS1R but that was 20 years ago and they're rare now, much easier just to get a DX7. I'm sure there's a bunch of modern ones that can do some form of FM though. A while ago I spent some time with an Access Virus, which had some FM capabilities, and I thought it was quite nice (also expensive though, it was not my own).


Top
 Profile  
 
PostPosted: Tue Jan 24, 2017 5:47 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3051
Location: Nacogdoches, Texas
https://www.youtube.com/watch?v=EGWSijvWxFI
TmEE wrote:
I can see why lot of people think MD sound is garbage, most games developed in USA used really unpleasant and abrasive sounds, bad enough it made me think how these were even allowed to be released.

I immediately thought of Sonic Spinball. :lol: (Particularly the options music: https://www.youtube.com/watch?v=EGWSijvWxFI)

TmEE wrote:
So far I have heard a lot of garbage with really bad samples but a few nice things too

It's a shame, often times, you'll hear a song that's really good until they throw in a really bad sample that throws it off. I know I've said this 100 times before, but the Donkey Kong Country games are probably the cleanest you'll find. I really like "Rockface Rumble" (https://www.youtube.com/watch?v=Qntu2QvHQRE) from DKC3. Had I never played the game before, I wouldn't have ever guessed that track was from the SNES. It's one of the few examples of where the drums still hit hard despite being down sampled (I don't know how much though) and filtered.

Oh yeah, one particular type of music on the SNES I really don't like is the stuff in Capcom's later SNES games. I like the composition in Megaman X2 and X3, but the electric guitar type sound is terrible, and not even because of quality.


Top
 Profile  
 
PostPosted: Tue Jan 24, 2017 7:11 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19004
Location: NE Indiana, USA (NTSC)
TmEE wrote:
I wouldn't call BRR a form of ADPCM as it doesn't store differences of samples but samples directly, with scaling and filter parameters.

In the terminology of BRR, IMA likewise stores samples directly, with a constant filter pred[t] = 1.0 * out[t - 1], and it infers the scaling based on the previous samples.

TmEE wrote:
I can see why lot of people think MD sound is garbage, most games developed in USA used really unpleasant and abrasive sounds, bad enough it made me think how these were even allowed to be released.

Which in turn, as calima pointed out, is because "Sega cheaped out and didn't license any" high-quality patch libraries to its authorized developers in North America.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 12:11 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7208
Location: Chexbres, VD, Switzerland
TmEE wrote:
I wouldn't call BRR a form of ADPCM as it doesn't store differences of samples but samples directly, with scaling and filter parameters.

This is only true for filter 0. Filter 1 does store difference of samples, and filter 2 and 3 something even more complex.


Quote:
In the terminology of BRR, IMA likewise stores samples directly, with a constant filter pred[t] = 1.0 * out[t - 1], and it infers the scaling based on the previous samples.

So basically, IMA-ADPCM works similarly to BRR but do not use blocks with a header specifying filter and shift range ? Sounds interesting.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 12:33 am 
Online
Formerly ~J-@D!~
User avatar

Joined: Sun Mar 12, 2006 12:36 am
Posts: 445
Location: Rive nord de Montréal
With IMA-ADPCM, the amplitude of the deltas varies continuously with the signal, meaning it adapts itself during encoding/decoding. You can look how it works, but basically the delta "gain" grows when deltas are at the extreme values (nibbles 7 or F) or near them, but slowly decreases when it's not. The adaptative part of the algorithm part then become clear: it tries to adjust the gain continuously so it's big enough to avoid slope overload distortion but also small enough to reduce quantization noise.

Because of this, it does not need headers to chunks of data to specify gain, as the gain is determined from the audio data itself, and there's no filters to simplify the implementation: the predictor is simply y[0] = y[-1]; that is, an accumulator.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 12:49 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7208
Location: Chexbres, VD, Switzerland
Sounds very clever, however the major problem is that it's impossible to have random access and to play the sound you're forced to decode it from the beginning. With BRR, samples should be looped by hardware so obviously this wouldn't have been possible with IMA. However the BRR looping stability is not always guaranteed, and some games abuse this (to generate white noise).


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 12:52 am 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 572
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Quote:
This is only true for filter 0. Filter 1 does store difference of samples, and filter 2 and 3 something even more complex.


http://problemkaputt.de/fullsnes.htm#sn ... brrsamples

I'm not seeing any mention of filter modes 1, 2 and 3 treating the samples as anything more than direct 4bit value + shift to form final 15bit sample that then gets mangled up with previously mangled values.
If there was an offset value somewhere so samples in each each block gets pushed around relative to previous it would start resembling differences part is but there's nothing such, just crushed samples. Something along the lines "Scaled PCM" is much more accurate.

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 1:55 am 
Online
Formerly ~J-@D!~
User avatar

Joined: Sun Mar 12, 2006 12:36 am
Posts: 445
Location: Rive nord de Montréal
TmEE wrote:
Quote:
This is only true for filter 0. Filter 1 does store difference of samples, and filter 2 and 3 something even more complex.


http://problemkaputt.de/fullsnes.htm#sn ... brrsamples

I'm not seeing any mention of filter modes 1, 2 and 3 treating the samples as anything more than direct 4bit value + shift to form final 15bit sample that then gets mangled up with previously mangled values.
If there was an offset value somewhere so samples in each each block gets pushed around relative to previous it would start resembling differences part is but there's nothing such, just crushed samples. Something along the lines "Scaled PCM" is much more accurate.

The key part of any DPCM is the predictor. The operation is simple: when encoding, the predictor tries to predict the next sample, you then have to substract the predictor output from the actual sample to get the error sample; finally you encode the error sample (also called the residue; this is the delta in DPCM!). What is the predictor function? It can be anything, but the better predictor is the one that have the smallest error, that is, the one the most accurately predicting the signal to encode. A predictor can be as simple as y[0] = y[-1], meaning "I predict the sample to be equal to the last one output", which works well for low frequency audio data but not with high frequencies. You can be much more elaborate with your predictor, by predicting the current sample using a linear combination of the past samples; see linear predictive coding for reference.

The SPC700 DSP have a set of fixed predictors to offer. The first one is no prediction at all, the other three are simple linear combination of past samples.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 2:14 am 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 572
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
I'll have to update my definition of what (A)DPCM is then. It is all in the encoder/decoder not data per se.

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 2:19 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7208
Location: Chexbres, VD, Switzerland
Quote:
Something along the lines "Scaled PCM" is much more accurate.

No. Again this is true for filter 0 only.

Filter 1 has a prediction of y[0] = 15/16 x[-1], with is almost y[0] = y[-1]. In other words, the prediction of filter 1 is to repeat the last sample (attenuating it by a 15/16 factor), and the encoded data is the delta between the last sample and the new one.

Saying that filter 1 encodes the delta between samples or saying it encodes the difference between a prediction which happens to be repeating the last sample is basically saying the same thing with different words.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 2:38 am 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 572
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Yes, it makes sense now, though the terminology used is confusing for the time being.

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 6:25 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19004
Location: NE Indiana, USA (NTSC)
IMA can be looped by saving the decoder state (previous sample and scale index) when the decoder reaches the loop start and then restoring that after the loop ends. BRR doesn't have quite the pressing need to store the state because all its filters are fully (0) or partially (1+) leaky.


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 9:15 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3932
As for how good FM patches can be, the Roland MT32 showed that you really need a sampled Attack if you want to use FM synthesis for the rest of the instrument.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Wed Jan 25, 2017 9:49 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19004
Location: NE Indiana, USA (NTSC)
Roland was big on Linear Arithmetic synthesis, its term for sampled attack combined with subtractive sustain, once it became clear that attacks were hard to synthesize.


Top
 Profile  
 
PostPosted: Thu Jan 26, 2017 1:13 am 
Offline
User avatar

Joined: Thu Mar 31, 2016 11:15 am
Posts: 192
I think the SNES has aged pretty poorly. Its music suffers from low quality samples and the rotation/scaling/mode-7 effects look like ass.

Genesis all the way.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 55 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Yahoo [Bot] and 15 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group