TinyFM8
_________ _ ________ ____ ____ ____ | _ _ |(_) |_ __ ||_ \ / _| .' __ '. |_/ | | \_|__ _ .--. _ __ | |_ \_| | \/ | | (__) | | | [ | [ `.-. | [ \ [ ]| _| | |\ /| | .`____'. _| |_ | | | | | | \ '/ /_| |_ _| |_\/_| |_ | (____) | |_____| [___][___||__][\_: /|_____| |_____||_____|`.______.' \__.' TinyFM8 Overview ================ What is TinyFM8? TinyFM8 is an FM synthesizer that is a result of reverse engineering of the commercial Native Instruments FM8. This basically means that you get to enjoy FM8 instrument library that contains 800+ instruments. Is it legal? Probably not! FM8 is a commercial tool that was engineered for long time. TinyFM8 comes with source code and pretty much revels FM8 secrets. We have actually reversed engineered BOTH file formats and actual synth algorithms. It is important that you DO NOT DO ANY COMMERCIAL USE WITH THIS! What's Included? ================ > Binaries Package - http://bit.ly/TinyFM8_binary * TinyFM8.dll - The main FM synthesizer VST. The VST can be loaded into Renoise (or any other software). Once loaded, you can open TinyFM8 user interface, load/test and adjust instruments using the standard FM8 user interface! (See the VST-IN-VST section below). * CompressorFX.dll - A compression effect VST. This effect can be used in individual tracks or on master channel. Apply with care :) * ReverbFX.dll - A reverb effect that VST. Same as the CompressorFX, effect can be applied to a track or to the master channel. * RenoiseLoader.exe - An application that loads Renoise 2.5.1 songs that are based on TinyFM8 VST chain, play them and export header file (MusicData.h). The header file then needs to be included in the executable build. > Sources Package - http://bit.ly/TinyFM8_source * ExeMusic (C++, VS2008) Sample executable music project that (C++, VS2010) allows you to create tiny executable that plays music. This code is based on IQ's 64kb framework, but it can easily ported to other frameworks. * SoundRenderer (C++, VS2010) Sources for SoundRenderer.dll. This library is used by all the different VSTs. It actually contains all the synth sound rendering code as well as the effects code. * VST Projects (C#, VS2010) All VST projects. This includes TinyFM8, ReverbFX and CompressorFX. There are some supporting libraries such as zlib.net, VST.net and NRenoiseTools. * RenoiseLoader (C#, VS2010) Sources for RenoiseLoader.exe "VST-IN-VST" - The concept ========================== To save some time on user interface development we have used a VST-IN-VST tactic. This basically means that TinyFM8 VST is both a VST client that can be used by any standard sound studio application that supports VSTs. However, it is also a VST host of FM8.dll VST. This allows us to slave FM8 user interface to our needs. So, yes, you actually need FM8 installed in your system but since we're just using FM8 user interface it is NO LONGER NEEDED once composing stage is done. FM8 vs. TinyFM8 =============== The main difference between FM8 and TinyFM8 (sound wise) is that TinyFM8 has sizing coding Considerations in mind, this means that we have chosen to ignore some FM8 features for the sake of smaller code size. Features that we have chosen to ignore are: * Arpeggiator * XY-Pad and Morphing * Effects (some will be implemented externally with an additional VST) * Expert->Mod (Modulation Matrix) * Z filter implementation is a little different. The bottom line is that not all instruments sound the same in FM8 and TinyFM8, some are worst and some are actually better. You actually get compare between FM8 and TinyFM8 by playing with the <SCROLL LOCK> key. SCROLL LOCK key allows you to select between the sound sources (that is Original FM8 vs. TinyFM8 sources). In general use FM8 just for reference. Renoise 2.5.1 - Is it a must? ============================= No, you can you use the VST(s) with any sound application that support VST. However, if you wish to eventually create an executable music, you should: 1. Use Renoise 2.5.1 2. Compose music (Avoid using: effects, tempo changes, automation) 3. Load your song using RenoiseLoader and export it to MusicData.h file. 4. Open and Build the ExeMusic.sln project. Can I use TinyFM8 in my demo? ============================= Absolutely! TinyFM8 has everything you need to incorporate in you demo/intro. The main features are: * Small size footprint about few kb. * Interleaved music and instrument data (for better compression) * Deep and configurable buffering * Syncing, events and triggers are provided * Application-Abstraction-Layer that allows you to mount sound renderer into your existing framework (current it's connected to a modified version of IQ 64k Framework). See FM8_AppAbstractionLayer.h for details. Requirements and installation ============================= * Unless you have VS2010 installed - You MUST install the both the following: .NET4 http://msdn.microsoft.com/en-us/netframework/aa569263.aspx VC Redist http://www.microsoft.com/en-us/download/details.aspx?id=5555 * Install FM8. Please mind that not all FM8 versions use the same file format. * Install Renoise 2.5.1 Again, it is best if download the torrent. * Install VSTs Just unpack TinyFM8-bin.rar to some random folder and make sure Renoise is directed to it. When TinyFM8 VST starts the first time it will ask you to locate FM8.DLL. Assuming FM8 a standard next-next-next FM8 installation, file will be located in "c:\Program Files (x86)\Native Instruments\FM8\VSTPlugins". Thanks To: ========== * AtomDelta - For help all along they way --- THANKS! * bacter/spd^apx - For help with testing and the awesome sample songs * knl - For help with pre-release testing * Razior - For help with pre-release testing * IQ/RGBA - For releasing his 64kb framework * @lx/requency - For his great project: NRenoiseTools Final words =========== This project has been a baby of mine for some time now. I decided to release it to the public as part of recent demoscene source bombs that keep dropping. In general, I have future plans for this synth to make it into a 4kb friendly version. this will probably happened only after I'll release a demo I have been working for some time now. Couple of requests: First, any suggestions, bugs fixes, improvements, ideas or whatever are really really welcomed. Second, I'm always interested in adding sample songs to the package. so, please share your songs if manage to produce something nice. Love you all, JohnD.demoscene@gmail.com
[ back to the prod ]