Advertisement
HertzDevil

why fakebit shall exist as is (draft)

Feb 22nd, 2015
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.38 KB | None | 0 0
  1. tl;dr version: chiptune is the combination of programming and music; it is also neither a medium nor an instrument, but a concretely defined, self-representative container
  2.  
  3. ***
  4.  
  5. some more (unsw free) food for thought before i start:
  6.  
  7. if an nsf uses irq tracks to create 6 pulse channels or 4 wavetable channels on the dpcm channel, does it count as chiptune? (this is actually done by OFGS)
  8.  
  9. if an nsf invokes one of the two expansion chips currently not supported by the nsf specification (despite being extremely limited, only able to play static sound effects), does it count as chiptune?
  10.  
  11. if an arbitrary gxscc output is downmixed into 12-bit pwm and then played back on a gba, simultaneously with the internal game boy channels, does it count as chiptune?
  12.  
  13. if an arbitrary audio source is downmixed, routed to a real 2a03 chip, and then played back as 4-bit pcm on the pulse channel, does it count as chiptune?
  14.  
  15. if one multiplexes a master clock to drive more than one game boy at once to play 3xLSDj tunes perfectly in sync, does it count as chiptune?
  16.  
  17. if one ports the mega man zero 4 soundtrack to the snes, does it count as chiptune? generally people still call snes music "chiptune" but not gba music
  18.  
  19. ***
  20.  
  21. there are many strata of what qualifies as sufficiently authentic chiptune, even within those who practice them to the full extent; for the novice it could be whether vrc6 could play on a nes, while others would be more concerned with the cpu architecture itself. but there has to be a minimum representational threshold that separates the "fakebit" and actually allows us to identify such category of music before any argument could start, and while this split is often exacerbated by youtube uploads that claim to be genuine yet turn out to be produced otherwise, those videos *do not* define the category of music necessarily different from genuine chiptune to be called "fakebit", that do not strictly pass the threshold
  22.  
  23. this threshold is not technical, but representational; in the past when people made chiptune, there was not only a music composer but also a music programmer, who had to produce the code that converts musical data into machine-readable formats, handles notes and effects from a binary stream, processes them at every cycle update, and processes sound effects in real time, while having to account for the memory size, the cpu workload, the complexity of of music data, and so on
  24.  
  25. then a music composer would have to first take care of the hardware limitations, which would then have been considered "fundamental"; the behaviour of the 2a03 or the sid 6581 must be completely known by both the programmer and the composer. after that, the composer also has to realize the expressive power of the sound driver, which directly contributes to the stylistic complexity of the music; this allows us to reason in terms of the disassembled code why for example mahjong, having a sound engine which fits within 200 bytes, does not produce sounds as complex as the sound driver found in silver surfer (this is where some people suspect that certain authentic, expressive chiptune tracks are "not real 8-bit", and i have received comments like that on my channel several times. ignore these people)
  26.  
  27. similarly, one can never replicate *anything* with 2a03 channels except dpcm and made in famitracker using the megaman 3 sound driver, unless one is dedicated to convert an arbitrary stream of register states into a blank instrument and many volume / fine pitch commands; here the conversion is technically possible, but not representationally feasible, plus the resulting data is no longer generated from the environment originally used to produce megaman 3 music. in this case i do not consider this as "authentic" chiptune because even though the music is perfectly capable of being played on a real nes, the final representation *does not depend on the sound driver's features that give form* to music produced for such sound driver; VST plug-ins convert MIDI events into audio streams or manipulate these streams, which are not fundamental to the representation of chiptune music data, so they do not constitute "authentic" chiptune either
  28.  
  29. if a tracker runs natively on a video game console or a computer comprising a suitable sound chip, then the music produced with it is trivially authentic; "suitable" means that atomic units of the tracker's music data communicate with the sound chip directly, e.g. ntrq will access the 2a03 registers directly, a sample-based tracker running on an amiga will access the paula channels to generate sound, as opposed to a sound card that only produces a sound signal from a DAC and an audio sample buffer. if instead a tracker runs on another system, it must guarantee that a corresponding sound driver is able to handle the music data produced by the tracker on a real system comprising such sound chip; as in, both famitracker and addmusick have working asm source codes for the respective sound engines used for nsf or spc, and their compilers yield legal music data whose pointers and values would be ensured to refer to valid objects assuming the sound engine as well as the conversion process are both free of glitches
  30.  
  31. one could go as far as rejecting all music in the vgm format, since they are just register write streams that comprise no hierarchical representation of the underlying music; the sound driver's implementation, central to the definition of chiptune, is completely removed in the rendering of a vgm file. however, since there has never been an emulating format for the sega genesis, people have generally accepted it as a technical threshold which qualifies chiptune as authentic, although the specification itself has evolved over time to act on more than one chip; one way to substantiate "authenticity" is to play the vgm on a native vgm player, so that technically the vgm can be played, but doing so will not recover the sound driver's details that generate the vgm files
  32.  
  33. on the other hand, we have accepted famitracker modules and nsf files as authentic by and in themselves, but this is only possible if the nsf players are verified to accurately emulate the 2a03, and famitracker's own sound processing code yields an emulated sound output sufficiently close to that provided by the nsf driver's workings. the job of verifying the accuracy of nsf players and non-native environments lies within their respective developers; in particular, emulators are sometimes capable of playing any representable music even though the respective players may forbid certain features per specification (e.g. bankswitching, nsf interrupts)
  34.  
  35. so what i would call "authentic chiptune" must satisfy these criteria:
  36. - there must be a sound driver that handles well-formed, natively generated music data on a system and communicates with the system's constituent sound chip / sound card;
  37. - the sound chip / sound card must be able to generate continuous sound signals and handle its own internal state variables autonomously;
  38. - one must ensure that a representation of the music data and the sound driver, native to the target platform, can be generated from the source format if such format is not native;
  39. - if it exists as another format not native to the sound chip, it must generate the same music output as the converted format without losing or augmenting information.
  40.  
  41. these criteria would pass easily for environments with native bytecode compilers, like famitracker or ppmck; in particular this definition does not care whether there are multiple sound chips (in practice, 2a03 + vrc6 would not be much different from 2a03 + 2a03, or 5× ym-3-8910) or whether there is post-processing. it also sets a loose limit on the sound chip; the sound chip is only required to behave autonomously, so that after its period / frequency register is written, it can generate tones at the frequency as designated in its hardware specification, while no limit on the hardware's resolution or expressive power is imposed. the difference between a sound chip and a sound card is not important here, as long as they could behave autonomously; for instance, the psx has a sound chip, neither the game boy nor gba has a distinguishable sound processing chip, whereas earlier computers like pc-98 have fm chips like ym2608 or opl3 as a sound card
  42.  
  43. from one point of view, a chiptune is nothing more than an autonomous assembly code program with a constant storage of music data; given the sound chip's hardware characteristics and the opcode instructions that communicate with the sound chip, the chiptune deterministically generates the musical output. but chiptune must also consist of the tools that produce the music data in the designated formats, as well as hardware architectures designed to play the chiptune itself, to possibly allow processing of the musical output in a way that does not interfere with the inherent sound driver; these aspects together construe chiptune as an interface that efficiently transforms binary data into executable musical output
  44.  
  45. ***
  46.  
  47. the current reason i appreciate chiptune so much is that music designed for these sound chips must rely on specialized sound drivers and music data formats; using simply the few registers supplied by a 2a03 or a game boy cannot produce complex music, so one must give it a system to evaluate pitches based on a musical scale, a system to evaluate changes in dynamics, a system to evaluate note durations using a suitable clock signal, etc. in order to allow structured data to be processed in a way that yields chiptune music as we recognize. almost all nsf files are smaller than 100 KB, by virtue of the sound drivers' compact design, whereas the same amount of information could expand to several megabytes if expressed as audio streams. the production of these specialized sound formats is as much an art form as the music expressed by the sound data
  48.  
  49. one of my ultimate goals is to create an environment which compiles genuine asm code but also incorporates the modularity and interface of a daw; there would be different instruments that insert their own code and variables, and each combination of instruments would yield a different sound driver, all unified under a generic driver capable of handling different instrument modules. such a daw would allow "fakebit" producers to harness the power of the environment's gui and produce authentic chiptune in the strict definition given above, while features like post-processing would still be available (vst effect support and rewire shall suffice)
  50.  
  51. there needs to be more people in this community who enjoy the programming aspect of chiptune; it caused the boom of tracker software on c64 and amiga, and it shall continue to inspire people to create tools that produce authentic chiptune. but instead of dedicated native software, we only got more VST synthesizers that alias at high frequencies (which for some reasons certain chipwin members think they could filter away the unwanted overtones), or do not enforce fundamental limitations of the target sound chip e.g. channel limit or quantized volumes, both of which over-simplify chiptune to a reduction of generic synthesizer features that are no longer restricted to the target sound chip; these plug-ins do not have information of the underlying chips
  52.  
  53. as an example, tweakbench toad is a static percussion kit with adsr envelope and downsampling; if the source code of this vst instrument is available, one could swap the percussion samples, fundamental data containers of the plug-in, with samples not recorded from an actual nes to obtain another vst plug-in irrelevant to chiptune. the volume envelopes have such a high resolution that cannot be attained on the chips from which these samples are generated, whereas the sampled nature of the percussion kit means that when samples are played, as do other tweakbench vsti's, they are interpolated according to their *own* sample rate, and lossless playback of the samples becomes evidently impossible that no reasonable conversion to the samples' representative sound generators exists
  54.  
  55. when chiptune musicians begin to take these generic sound generators for granted, the origin of chiptune music would diminish over time; chiptune was partly created out of necessity when early video game consoles and computers had no access to large pools of memory, and it only grew bigger and bigger into a community of its own, including the demoscene and numerous chiptune hosting sites, which often see chiptune as a means to produce music under simplistic constraints, even though sometimes they lose idea of what "simplistic" refers to, and associate them with specific sound qualities rather than the underlying implementations that yield the music. however, such simplicity is already present in chiptune: the ability to create complex musical structures from limited memory space, as well as endless soundscapes using the few hardware variables provided by the sound chip
  56.  
  57. just as the chiptune musicians' creative works are looked up to, the programmers' efforts should be shown equal respect; both groups of people must be present in this community for the most impressive chiptune works to conceive, and by appreciating these assembly programs in possibly the same way we look at chess executables that fit into a kilobyte, this property of authentic chiptune, absent in "fakebit" music, will allow people to realize the power of chiptune once again
  58.  
  59. but in reality it is not possible to eliminate the kind of people who use non-authentic components, yet proclaim to have made their tracks using authentic software nonetheless; once people find themselves comfortable with certain modes of production, like piano roll or specific soundfonts, they often become reluctant to learn other modes especially if they consider their own works "good enough" to outweigh the authenticity factor present in authentic chiptune. (a similar thing occurs when tracker users encounter mml and vice versa) if these people begin their production with tutorials of these tools, there is a chance they would accept "fakebit" without ever recognizing the expressive power of the authentic counterparts and the sound drivers that manipulate them, and ultimately the whole community becomes less conscious of authenticity plus the programming aspect of chiptune
  60.  
  61. the popularity of "fakebit" does not contribute positively or negatively to the general quality of chiptune, although it helps expand the palette of soundscapes accessible to both composers and listeners; consequently more people find chiptune enjoyable, both authentic and simulated, but fewer people, both the producers and the audience, lack the awareness of using proper terminology when trying to describe chiptune features. then the genuinely working assembly programs would be taken for granted, and seen as an otherworldly superhuman feat, or as a superfluous chore that "is not needed if other tools somehow reproduce similar sounds", even though such musicians have not truly considered the expressive power necessary and sufficient for both the target sound chip and the sound drivers; chiptune would become no more than a set of expansion features for more generic workstations, indifferent from other synthesizing units present in it, and of course the underlying music format is detached from the chiptune container itself
  62.  
  63. the view that authentic and simulated chiptune can merge into one class/category/genre is very dangerous; while authenticity gives chiptune files extra qualities to be appreciated, in general the sheer difference between the expressive powers of those two kinds of chiptune is sufficient to demarcate them, without associating qualitative judgements with either complete class of chiptune music. should the split worsen it would not be due to the distinction in expressive power or soundscape, but due to less understanding of the actual split taking place, as is in the case of even current video game companies, no matter it be the tracks from megaman 9 - 10 with varying polyphony limits and sample rates, or chiptune albums officially endorsed by square enix, evidently simulated ("fakebit") but still advertised nonetheless as bearing resemblence to antique sound chips
  64.  
  65. this is also why i advocate authentic chiptune and build the 0cc-famitracker mod: to make both composers and listeners realize that limitation does not equate to expressive power, and in turn allow them to recognize that such a split between authentic chiptune (per the definition given above) and "fakebit" does exist however people try to downplay the significance of the split in diversifying the spectrum of chiptune music and making this container of music more accessible to the general public
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement