nesdev.com
http://forums.nesdev.com/

FamiTone - audio library (release)
http://forums.nesdev.com/viewtopic.php?f=6&t=7329
Page 1 of 6

Author:  Shiru [ Mon Dec 27, 2010 10:36 pm ]
Post subject:  FamiTone - audio library (release)

FamiTone is an open source audio library for NES/Famicom. It is designed to provide easy way of adding music and sound effects into homebrew games and demos for NES/Famicom. It is not meant to be the best, the fastest, or the most powerful thing, it is pretty simple but it does the job.

The library allows to create both music and sound effects using popular music cross editor FamiTracker, and then export them into library's internal formats. It supports all the standart channels of 2A03: two pulse, triangle, noise, and DPCM. Expansion sound chips are not supported.

The library is open source and released into the Public Domain. This means you can use it for any purposes without restrictions: redistribute, modify, use for commercial and non-commercial projects. You could provide credits for the author, inform the author about your project, donate, etc, but nothing is obligatory, you could do it at free will. Obviously, the library provided AS IS without any warranties, the author is not responsible for anything.

Download FamiTone (latest version for NESASM, CA65, Asm6)

Ports of older versions made by other people also available:

CA65 port by ManicGenius
Asm6 port by UncleSporky

Warning: you should use FamiTracker version 0.3.6 or higher to be able to use exporter plugin!

(this thread is continuation of two previous, new thread is to separate unrelated and obsolete information, so the release could be found easily)

Author:  Wave [ Tue Dec 28, 2010 2:26 am ]
Post subject: 

So good! Music is always my worst, I'll try to adapt it to NESHLA and include it on the framework, hope it works :)

Author:  neilbaldwin [ Tue Dec 28, 2010 3:44 am ]
Post subject: 

Superb job Shiru.

It's not something I'll make use of but I can appreciate how you've put the whole thing together into a nice tidy package.

Anyone want the source converting to CA65?

Author:  Shiru [ Tue Dec 28, 2010 4:11 am ]
Post subject: 

I actually liked tepples's idea about a tool that would automatically create a source for few assemblers from a single master source. I'm thinking about something like this, but that would require to learn details about some popular assemblers first (voting shows that there are three the most popular), and I would like to work on other things now, so it goes to future plans.

Another part of problem of support for other assemblers is that text2data and nsf2data tools generate assembler listings (that is needed to allow easy relocation of data at compile-time, there are absolute addresses in the data), and it has NESASM syntax. Currently you have to use Replace function of a text editor for other assemblers, and as general solution, I think a parameter should be added to these tools, so they could produce output for few assemblers.

Author:  clueless [ Tue Dec 28, 2010 6:48 am ]
Post subject: 

neilbaldwin wrote:
Superb job Shiru.
Anyone want the source converting to CA65?


I would like the source in ca65. I will convert it myself if I need to. I'm not ready to add the sound engine to my game yet, but when I am I will try Shiru's first.

Shiru, if I convert your code to ca65, I'll send my changes back to you. I really appreciate the work that you've put into this project, and that you are releasing it with such a liberal license (commercial use allowed). If I use your engine in any of my games, you'll surely get your name in the credits, and I'll return any changes that I make to the community.

Author:  GradualGames [ Tue Dec 28, 2010 10:00 am ]
Post subject: 

It may be too late to switch out my own sound engine, but I might look into using this one in future games. Good work Shiru!

Author:  Shiru [ Thu Jan 27, 2011 2:31 am ]
Post subject: 

I've updated the archive without changing version number, but the update is important. First, sound effects converter was broken (altough it wasn't noticeable in the demo). Second, text exporter plugin was recompiled to work with FamiTracker 0.3.6, which was released recently. Third, short demo 'song' with DPCM (just few quickly made patterns) was replaced with actual song.

Author:  Denine [ Tue Feb 01, 2011 1:29 pm ]
Post subject: 

Wow!
This is superb.
It even supprots sounds.
Any chances for VRC7 and Tempo feature?

Author:  Shiru [ Tue Feb 01, 2011 3:42 pm ]
Post subject: 

No chances for VRC7. Tempo - maybe, however I don't consider it as important feature for a simple demo/game sound engine, and I'm lazy to figure out it's exact behaviour in FamiTracker.

Author:  ManicGenius [ Tue Feb 22, 2011 7:14 pm ]
Post subject:  CA65 Famitone

CA65 Famitone Download

Ported to CA65 today. I just wanted to get this thing working, so it still uses the whole "=" format for defining RAM variables. For my own edition I'm going to switch that over to RAM segments instead. Just wanted to get this out there before I forgot.

Also didn't port the code that generates from Famitracker, so you'll need to do some regex wizardry like I did to convert a file (or you could port the thing instead).

I stuck the notetable in a odd segment at the end near vectors and banktable.

Thanks Shiru!

Author:  clueless [ Tue Feb 22, 2011 7:58 pm ]
Post subject: 

I have a mostly completed tool that will directly convert FTM into ca65 syntax to feed into famitone. But I began changing the data and famitone to suit my own tastes. However, my code can be changed back.

I've decided that I'm not going to use a traditional tracker to make music in my current project, so I've put the FTM->ca65 converter on hold. If anyone wants to finish it, I'll post the C code somewhere. Its a single source file.

Author:  ManicGenius [ Tue Feb 22, 2011 8:40 pm ]
Post subject: 

Honestly the format is not that different...

All it needs is the .db -> .byte, .dw -> .word
and every .whatever after the first label to use @ instead of .

It's a pain in the ass but it does work.

Author:  thefox [ Wed Feb 23, 2011 4:25 am ]
Post subject: 

I hadn't actually checked this out until now and now that I did, great job Shiru. You might want to add a small note about how to use the TextExporter plugin though... the "Plugins" directory had to be created manually for example. And the exporter is under "Create NSF" menu, not so obvious. :)

Author:  Shiru [ Fri Feb 25, 2011 11:22 am ]
Post subject: 

I've made a minor update, without changing version number. Now text2data and nsf2data can output files in NESASM, CA65, and Asm6 formats. More details about TextExporter usage added into readme.txt, as thefox suggested.

Author:  clueless [ Fri Feb 25, 2011 12:02 pm ]
Post subject: 

Shiru wrote:
I've made a minor update, without changing version number. Now text2data and nsf2data can output files in NESASM, CA65, and Asm6 formats. More details about TextExporter usage added into readme.txt, as thefox suggested.


That's really cool (supporting the syntax of multiple assemblers). If I ever resume work on my FTM -> ca65 converter, it would also target Famitone using the syntax of those three main assemblers.

Page 1 of 6 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/