Jump to content
IGNORED

8 bit music


Jamesapp

Recommended Posts

Hello,

 

i recently got into 8 bit music. Ive been using my ti 99/4a to fool around. 
 

im trying to read and study. 
 

i have some questions if there is anyone with some knowledge. 
 

im not a purist. Im im just starting. 
 

i have a project in mind and wanted to run it by you guys and then i have more basic questions? 
 

i was thinking of building a custom pkayer with my hardware being 4 ay—8910 chips. Doesent have to be the ay-3-8910. But i wanted 4 to have access to more voices for polyphony. Im into boroque type music a lot based on counterpoint. 
 

i was going to order a kit with a bread board some things. But essentially an arduino to act as a clock amd micropocessor to control and interract with my programmable sound generator chips. 
 

its kind of a dream but i thought of getting a sd card readrr. Ive seen one for an arduino. 
 

but i would eventually house it. 
 

id orobally have some communication port possible usb. 
 

battery? Sound in out. Sd card slot on side of envlosure light on indicator something like that. I even thought of having a small display to view files on sd card maybe some communication with computer. But just some ideas. 
 

but one of my questions. I want to buy four chips. But can that be done? If i use an arduino? Do i need 4. I want to be practical maybe one is enough? I read some arcade games would have 3 or 4. 
 

i couldnt find an article explaining someone who has done this? 
 

ill await a reply. I have some basic programmable sound generator chip questions. Can anyone give me some help advice info. Like i said i have some basic questions. 
 

i really want to buy the chips first and go from there. So i kind of want to see whats practical possible. Thanks in advance

Link to comment
Share on other sites

Different sound chips from that era have different capabilities, and distinctive sounds.

The venerable SID chip from the commodore computing line, along with the POKEY chip from the Atari ST computers, are poster children.

 

From the PC side of things, you have the Tandy 3-voice synthesis chip (which shares some similarities to the TI sound chip), the Yamaha OPL2 and OPL3 synthesis chips, etc.

 

Then you have the sound synth chips used on various game consoles.  The NES used the Ricoh RP2A03.  The Sega master system used a variant of the OPL chips used by PC sound cards-- Yamaha YM2413. The Nintendo GameBoy console had sound synthesis produced by hardware inside its CPU. The Sega Genesis and SNES consoles were both 16 bit consoles, and while they have impressive chiptune hardware as well, are not really appropriate to mention for 8bit.

 

You can look up videos with audio produced using all of these 8bit sound synthesis modules on youtube, and listen to the differences and unique qualities of them yourself.  SID is especially impressive for its capabilities, considering it was inside a budget home computer line. (Though that is a WHOLE OTHER discussion)

 

 

It would in theory be possible to make a multi-chip synthesis module with one, or all of these chips on them, and route them through a MIDI controller.  There may already even be such projects available.

Edited by wierd_w
  • Like 1
Link to comment
Share on other sites

If you want to expand to "Chiptunes" in general, then you can also consider the SPC700 inside the SNES.

 

It is essentially a streamlined mini-sampler and playback system, capable of simultaneous playback of several PCM wave samples with pitch and modulation controllers.  It is capable of some VERY impressive feats. Since the sampled waveforms could be arbitrary, as long as they live inside its 64k memory space, it can do any kind of chiptune waveform, assuming you give it a suitably modifiable/loopable sample for each wave type.

SPC700 playlist

Seiken Densetsu 3 has a very rocking soundtrack for this sound chip.

(Another very nice tune from that title for this chip)

 

One of the most impressive uses of this chip that I know of, is the "Actually Voiced Lyrics, WITH accompaniment" found in Tales of Phantasia, for this chip.

Edited by wierd_w
Link to comment
Share on other sites

As for your project--

 

A suitably beefy microcontroller with its USB interface could be a suitable host to construct a multi-chip midi instrument out of.  See for instance, this Arduino based one.

 

Since you only need 8 data/address bits to work with these chips (Aside from the SPC700 of course....), you could drive them all quite nicely from a 32bit microcontroller, with bits to spare.  If you throw on some hardware mixing capabilities, some latches, etc-- you could drive multiple chips at once, and be able to have a genuine polyphony capable chiptune instrument, that you can drive from commodity midi composition software.

Link to comment
Share on other sites

One question i have

 

im trying to wrap my head around this. 
 

but assuming i had 4 ay-3-8910 chips hooked up with hardware arduino mixer speakers etc.

 

almost in a pholilosophic sense. What is the difference between lets say recording my device. I own a digital recorder. Im thinking if i got it working however i would ultimately load my programmed file? I dont know if i can lets load the file onto an sd card? Or if it would have to come from the computer? 
 

but in a philosophical sense if i recorder my sound to be played back it would be different than loading the file in real time and accessing the chips for real time playback? 
 

on forums i have a tendency of asking to many questions. 
 

but i essentially have two questions. 
 

1. if i wrote lets say some varient of a basic program to manipulate my chipset. Could i load this store it as a file. I want it to be conceived of as an album or playlist possible collected over time. 
 

but with an sd card reader and arduino would it be possible to ‘play’ files store on the sd card? 
 

and 2. Almost in a philosophic sense. How would you conceive of recording the line out to a digital recorder. Vs actually playing the file back through the ay-3-8910? 
 

like i said i have a tendency on the forums almost to jump ahead of myself

 

and i really have more fundamental questions on how im viewing 8 bit music. I have assumptions on what ivd read that could be off base. 
 

i am excited about getting started. I went ahead and ordered 4 ay-3-8920 off ebay. 
 

and im looking to move forward trying to understand certain things. 
 

but if anyone can help my two questions would be a start?

-thanks

Link to comment
Share on other sites

6 hours ago, Jamesapp said:

One question i have

 

im trying to wrap my head around this. 
 

but assuming i had 4 ay-3-8910 chips hooked up with hardware arduino mixer speakers etc.

 

almost in a pholilosophic sense. What is the difference between lets say recording my device. I own a digital recorder. Im thinking if i got it working however i would ultimately load my programmed file? I dont know if i can lets load the file onto an sd card? Or if it would have to come from the computer? 
 

but in a philosophical sense if i recorder my sound to be played back it would be different than loading the file in real time and accessing the chips for real time playback? 
 

on forums i have a tendency of asking to many questions. 
 

but i essentially have two questions. 
 

1. if i wrote lets say some varient of a basic program to manipulate my chipset. Could i load this store it as a file. I want it to be conceived of as an album or playlist possible collected over time. 
 

but with an sd card reader and arduino would it be possible to ‘play’ files store on the sd card? 
 

and 2. Almost in a philosophic sense. How would you conceive of recording the line out to a digital recorder. Vs actually playing the file back through the ay-3-8910? 
 

like i said i have a tendency on the forums almost to jump ahead of myself

 

and i really have more fundamental questions on how im viewing 8 bit music. I have assumptions on what ivd read that could be off base. 
 

i am excited about getting started. I went ahead and ordered 4 ay-3-8920 off ebay. 
 

and im looking to move forward trying to understand certain things. 
 

but if anyone can help my two questions would be a start?

-thanks

The project I linked is for a midi device.

 

Midi is a rather old as rocks specification, but still in use today. It's an industry standard.  It would allow 'live' playback of note data from the device, such as pairing it with a sequencer or a keyboard.

 

Press a note on the keyboard, the constructed device renders the note, with responsiveness to key pressure, length, etc.

 

https://en.m.wikipedia.org/wiki/MIDI

 

The device has a microcontroller at its core, that uses a control program on its flashrom, to listen for midi messages over its usb port. (Like any other modern midi instrument.) It then interprets the message, then controls the synthesis chip to render the indicated note, intensity, duration, and falloff for that note message. 

 

With multiple chips, it could do polyphony.

Link to comment
Share on other sites

On 9/18/2022 at 1:43 PM, wierd_w said:

As for your project--

 

A suitably beefy microcontroller with its USB interface could be a suitable host to construct a multi-chip midi instrument out of.  See for instance, this Arduino based one.

 

Since you only need 8 data/address bits to work with these chips (Aside from the SPC700 of course....), you could drive them all quite nicely from a 32bit microcontroller, with bits to spare.  If you throw on some hardware mixing capabilities, some latches, etc-- you could drive multiple chips at once, and be able to have a genuine polyphony capable chiptune instrument, that you can drive from commodity midi composition software.

Hello

 

i have my chips. 
 

i just ordered 4 SN76496N’s on ebay. But i got my 4 ay-3-8910’s from ebay.

 

i just wrote to a kid on youtube who told me i only need one arduino. 
 

he told me to get a clock similiar to the one he had. I have to look up the clock. 
 

but i wondered i dont know if u know anything about electronics or arduino projects, but im wondering, 

 

lets say i get my arduino, clock jack for speakers etc. 

 

im wondering how exactly to wire the chips together? Bassically you read the data sheet, and wire the pins. 
 

i kid did a tutorial on youtube i have to rewatch

 

but specifically im wondering lets say register 4 on the ay-3-8910 goes to a register on the arduino, i dont know how there labeled but lets d5 on the arduino. 
 

my question is if i want to wire 4 ay-3-8910 chips to one arduino, can i run another wire from register 4 on the next ay-3-8910 on my breadboard, to the same register on the arduino? 
 

like can the arduino handle multiple wites on pin 4 ultimately adding up to 4 wires, on register d5 on the arduino? 
 

obviously register 4, and register d5 im using for argument ill eventually follow the youtube video to know the correct pins

 

but im wondering how exactly would the arduino be able to communicate with the chips? 
 

i really dont know how to go about doing this? I really want to get started but i have to figure out what i need to order from arduino. Thats my next step

 

just wondered if you had any thoughts on practically how to do this? 
 

there isnt a lot of info on multiple chips

 

 But anyway any help would be appreciated

Link to comment
Share on other sites

weird_w 

 

just wanted to say. 
 

i really want to program the chips to play tunes. Tunes written on the computer, where the data is sent to the arduino microcontroller to run the chips. 
 

that is gonna be my approach

 

anyway w_weird or anyone else with arduino or similiar electronics sny help would be appreciated

Link to comment
Share on other sites

All chips can be wired to the same data bus, but since some arduino models have so many data pins I suppose you could wire them separately if you wish. I took a look at the datasheet for the AY-3-8910 and it appears that it uses BDIR, BC1, and BC2 to enable and control the bus; since there’s no dedicated enable pin on the chip you might as well just wire them together into one data bus for simplicity’s sake. I recommend you study the datasheets for the sound generators you want to use; they will tell you what you need to do with them. Best of luck. 

Link to comment
Share on other sites

I would strongly advise the 'midi instrument' approach, rather than having the arduino accept files sent to it.

 

That is to say, MIDI is an industry standard for interfacing with arbitrary computerized instruments, and has its own communication protocol, with serialized messages for 'note on', 'note off', 'instrument number', 'bank number' 'volume/intensity', etc.  Everything you really need to define when considering music.  There are many already made software suites for working with these devices, including just general media players.

 

The arduino would contain a software stack that accepts midi messages, then writes appropriate control words to the synth chips based on those messages. This would keep the software running on the arduino simple, and to the point, while still allowing reasonable control over the individual chips. (By defining them as discrete channel IDs, you can manage them arbitrarily from your midi software)

 

Say you have 4 3-channel chips. That is 12 tone channels, and 4 noise channels.  The noise channels could reasonably be configured as percussion instruments.

 

On the arduino side of things, you would have 8 data/address bits assigned to your databus, then 2 bits with some logic gates on them to handle chip select.

 

(2 bits is exactly right to control 4 values)

 

the remaining 6 bits could be used to do chip specific signals, if needed-- otherwise ignored.

 

the synth chips would be treated more or less like they were ram. This is called 'memory mapped io'.  When you want to write to a chip register, you write to the chip like it was ram, using a specified address value.  The address lines are used to drive chip select, etc. When the microcontroller raises the address lines before the write, those lines trigger logic which selects which synth to work with, and then when the byte is written, the selected chip does its thing.

 

Specific suggestions on how to wire it, needs to be informed by the synth chip data sheets.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...