History of The Single Voice Echo?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
History of The Single Voice Echo?
by on (#48811)
I read an interview today on 1-UP with Hidenori Maezawa. In the text it's suggested that he "invented" the single-voice-echo technique. From what I can gather they're talking about his NES music for Contra back in 1988.

It made me think. I wasn't aware of his music back when I started out on the NES and I wasn't aware of anyone else using this technique back when I did Magician in 1989.

Unless anyone can tell me different, I'm claiming half of that crown. :P

(Tongue firmly in cheek, sincerely hoping for some insight)

by on (#48812)
He was earlier than you. :P

But it is still fascinating for me how people (like you) came up with such techniques. :) I hope this milds your wounds. :lol:

by on (#48813)
Eightbit Allstar wrote:
He was earlier than you. :P

But it is still fascinating for me how people (like you) came up with such techniques. :) I hope this milds your wounds. :lol:


:lol:

But he had a geographical advantage seeing as Japan is many hours ahead of the UK.

I literally invented it 7 hours after he did. ;)

by on (#48816)
I've got a feeling that systems like the C-64 and ZX Spectrum had musicians implement single-voice echo before it was, erm, co-invented on the NES. I've got no proof, just a gut feeling, but considering the Spectrum had one voice anyway (the buzzer) I'm sure some musicians like Tim Follin did some fantastic tricks on it.

Anyone have any examples?

by on (#48821)
Can't really do echo on the ZX's buzzer, just tons of timed writes to play full music, like in Dizzy.

by on (#48824)
I guess what he meant is at the time there was no such thing. Music was quite crude during that era. And it's not like composers were talking to each others about their tricks.

Everyone had their own style. What he meant is that he figured out how to make single echo while working at Konami and no other composer there had that.

Just speculating but my impression.

by on (#48825)
Well with NES music, you hear a distinct change around 1987... from 1983-1986 games tend to sound very plain, the only good sounds come from compositional harmony (mario 1, metroid, gyromite). Actually Metroid is a rare example of a very smooth soundtrack in the case of Brinstar Depths. From 1987-1988 you get people who figured out that dual-channel echo sounds nice, and volume effects are a good thing. 1988... BAM, Konami games start having single-channel echo and delay effects, and other games follow suit around 1989-1990. 1988-1991 is probably the era i like most from NES music. Then you get into 1992-1993, where styles go every which way-- from Capcom's "we'll keep doing it the same as we've always done it" mentality to Konami's super-prog-wankery to taito's cutesy blips to Kirby's minimalist reverse bass (square=bass triangle=...effects & harmony). From what I've heard, I can't say that I've heard any single-channel echo before 1988 or so, on any system. Then again I'm not really well-versed in anything but the NES... but all the games that DO use it that I've heard on the C64 are made in 1990-1993.

by on (#48828)
RushJet1 wrote:
Kirby's minimalist reverse bass (square=bass triangle=...effects & harmony).

I think that's an attempt to mimic the Game Boy sound, which by the time of Kirby's Dream Land usually had a more square- or sawtooth-like waveform loaded into channel 3 instead of the triangle-ish waves that the launch titles such as Tetris and SML used.

Kirby's Adventure wasn't the first to "abuse" the triangle in this way; check out "Technotris" from BPS Tetris or Vs. Boss from SMB3 or BGM 2 and 3 from Pipe Dream. I myself have tried my hand at "reverse bass" in NT2 a couple times:
  • Butterfly, an attempt to show that the poor arrangements in DDR GB were Konami's fault, not Nintendo's.
  • Troika, track 10 of OpenTris. Listen in at 1:04, which combines single-voice and double-voice echo to ape "Sappy" from Tetrisphere.

by on (#48833)
Please don't take me too seriously, I'm being deliberately controversial :)

I was around during the C64's golden years and I can't remember ever hearing anyone do the single-voice-echo trick on that platform back then. I never had a Spectrum so I've no experience.

There was certainly no instance of me hearing a single-voice-echo on any game music and making a deliberate attempt to mimic it. Double-voice, yes., many times.

In actual fact, in Magician, I accidentally made the sound by having a software envelope that reduced rapidly from full volume to very low, say, an amplitude of 15 down to 2 so you had a sound with a very sharp attack but a quiet sustained portion that lasted until the next note. So I wasn't even playing two notes but that was what started it for me. I noticed the cool effect it made and then sought to exploit it by way of then placing a lower volume note after a loud note in the way we all now know.

In later titles I even worked out on paper how to have single-voice echo where the echo occurred not straight after the note but a couple of notes later. It was an utter bastard to edit though.

Now, in Nijuu, it's actually programmed into the engine so it's now utterly simple to achieve the effect and you can get a much wider range of echo effects by manipulating a couple of parameters.

I've got a simple demo that repeats a (well known) melody while changing the echo parameters which I can stick up on the website if anyone is curious.

by on (#48834)
tepples wrote:
I myself have tried my hand at "reverse bass" in NT2 a couple times:
[list][*]Butterfly, an attempt to show that the poor arrangements in DDR GB were Konami's fault, not Nintendo's.


Hah I remember this from the SMSPower boards. They were trying to get a rendition that Maxim (i think) had done of Butterfly for the SMS to sound good, and had linked that thread. They kind of concluded that the SMS's chip might not be good enough to do it but I felt like being stubborn anyway.

by on (#48835)
neilbaldwin wrote:
Now, in Nijuu, it's actually programmed into the engine so it's now utterly simple to achieve the effect and you can get a much wider range of echo effects by manipulating a couple of parameters.

I've got a simple demo that repeats a (well known) melody while changing the echo parameters which I can stick up on the website if anyone is curious.



I'm curious!

Also, what was your approach to building single-channel delay into your sound engine?

by on (#48837)
Just a correction... the C64 SID audio chip doesn't allow you to adjust the volume on a single channel (*), only global volume and ADSR enveloppe is parametrable... so that probably means no single channel echo is possible.

*unless you do weird tricks such as rapid cycle-timed key-ons and key-offs, which are undoccumented and were probably discovered long after the release of Contra and Magician.

And yeah, editing single-channel echo music data sounds like a major pain... That's probably for the game I'm writing I just keep 2 channel echo or chrous effects (also it's sometimes hard to come with 4 voices all the time when composing music, somteimes 2 voices + noise percussion make the cut).
Like MetalSlime I'd wonder if there is an approach to do such echo effects. One approach that would come in my mind is to support more sound channel than the hardware does, and automatically map a low priority channel if a high priority channel has a "gap".

by on (#48840)
There is a solution to single-voice-echo - I've done it in Nijuu.

It involves quite a bit of RAM as it uses a circular buffer for each voice (A, B & D), captures the audio on those voices, processes them and slots the processed output into "gaps" in the track. Also, on A & B, you can alter the duty of the echo feedback which gives quite a different effect. For example, using a 25% duty but modifying the echo duty to 50% gives a softer echo sound. Using 50% duty for the voice and 25% for the echo makes the echo sound "thinner". And so on. That's optional though, default mode is to capture all the nuances of the original voice (so real-time pitch changes, duty changes and amplitude changes), modify the amplitude and squirt the output back into the same voice.

I'll put that little demo onto the website when I get five minutes.

by on (#48875)
This probably isn't single-voice echo, but if you want to hear some games on the NES/Famicom that use echoes as their main "thing", check out many Kemco games (Bugs Bunny, Shadowgate, Uninvited, Deja Vu...) as well as Xexyz & many compositions by Masuko "Macco" Tsukasa (one of my favourite composers on the PC-Engine), like Bio Senshi Dan, Rockin' Kats, and Megami Tensei II.

by on (#48883)
ccovell wrote:
This probably isn't single-voice echo, but if you want to hear some games on the NES/Famicom that use echoes as their main "thing", check out many Kemco games (Bugs Bunny, Shadowgate, Uninvited, Deja Vu...) as well as Xexyz & many compositions by Masuko "Macco" Tsukasa (one of my favourite composers on the PC-Engine), like Bio Senshi Dan, Rockin' Kats, and Megami Tensei II.


Cool, I'll try to track those down. If only because "Rockin' Kats" sounds like the best game in the world. :D

by on (#48884)
The game itself is actually quite bad. The music is decent, but nothing memorable. What I remember mostly about Rockin' Kats is the bus that Nintendo's Swedish publisher drove around with in 1992. It had a bunch of NESs and TVs lined up on both sides of the aisle where you could play upcoming games for a while (then you had to get out and stand in line again). Among the games you could play (that I can remember) were Rockin' Kats, Batman : Return of the Joker and Darkman.

Shadowgate and Deja Vu do indeed use a lot of echoes. Both are pretty good too, though I might be biased because I played them so much at the time (to the point where one of my friends got banned from playing video games on school nights by his parents).

As far as echoes goes, I don't know if anyone has mentioned Robo Warrior, but it uses them a bit. Real good game too, and a good soundtrack.

by on (#48886)
..and of course Shadow of the Ninja (aka Blue Shadow). One of the best NES soundtracks ever imo.

by on (#48888)
mic_ wrote:
What I remember mostly about Rockin' Kats is the bus that Nintendo's Swedish publisher drove around with in 1992. It had a bunch of NESs and TVs lined up on both sides of the aisle where you could play upcoming games for a while (then you had to get out and stand in line again).


Oh yeah the Nintendo Bus, it was pretty cool. When I was a kid my neighbor actually managed to get the bus to the village I come from, and on the evenings when it wasn't in use it was parked next to our house :)

by on (#49073)
I've stuck that demo up on the website;

http://dutycyclegenerator.com/#EchoDemo

by on (#49077)
I can safely say this is the most nutty single voice echo demo I've heard for the NES. :)

After a while it really starts sounding like two channels.

by on (#49081)
Awesome. After reading your post I think I have a good idea of how to implement it. How much RAM does it use to have all 3 channels have self-echo?

by on (#49082)
MetalSlime wrote:
Awesome. After reading your post I think I have a good idea of how to implement it. How much RAM does it use to have all 3 channels have self-echo?


It depends on how big you want the delay.

RAM = delay x number of captured values per voice, per frame

by on (#49096)
I hadn't considered a circular buffer for that, makes perfect sense though. That is a cool idea, sounds good in the demo.

by on (#49101)
http://truechiptilldeath.com/2009/07/du ... nnel-echo/

by on (#49412)
neilbaldwin wrote:
I've stuck that demo up on the website;

http://dutycyclegenerator.com/#EchoDemo


I must say this is amazing. I wonder why nobody thourght of that buffer idea before. It's really cool ! Definitely a must for games with SRAM.

by on (#49425)
I've noticed that many games that Iku Mizutani composed for feature a similar echo effect for the square channels. His is a little simpler though, it only stores the note values(?) in the circular buffer (as opposed to amplitude and exact frequencies), which is $28 bytes long for each channel, so that's $50 bytes in total. It looks like he uses the exact same method on the Gameboy too.

by on (#50186)
For the C64 there's Hysteria, subsong 3 (Fred Gray 1987) which has a delay of sorts, using PWM. Supercan (Lars Hård 1986) uses delay around 02.20, but it's only one step so it's not that obvious.

I'm actually surprised I didn't find more (even with the help of those CSDb-forums), but it's a tricky thing to look for. And yeah, neither of these are very extensive use of delay anyway.

But it sure seems like C64 was first. :D

by on (#50199)
goto80 wrote:
For the C64 there's Hysteria, subsong 3 (Fred Gray 1987) which has a delay of sorts, using PWM. Supercan (Lars Hård 1986) uses delay around 02.20, but it's only one step so it's not that obvious.

I'm actually surprised I didn't find more (even with the help of those CSDb-forums), but it's a tricky thing to look for. And yeah, neither of these are very extensive use of delay anyway.

But it sure seems like C64 was first. :D


Good stuff. Y'know I thought of Fred Gray and dug out of few of his tunes but I missed Hysteria.