Jump to content

Search the Community

Showing results for tags 'music programming'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Atari VCS
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion

Blogs

There are no results to display.

There are no results to display.

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 2 results

  1. Merry Christmas & Happy New Year, everyone! I've been working on a little project for the past several months and it is finally ready to be shared. Introducing the new and improved Intellivision Music Tracker v1.5. Just what is an "Intellivision Music Tracker"? It's a software library that allows you to play specially crafted music files in your own Intellivision games. These files are similar in nature to the classic tracker module (MOD) format employed in many old school platforms. Originally written by Arnauld Chevallier and released to the public domain many years ago, this new version includes many changes, enhancements, bug fixes, and fully comprehensive documentation. This entire project started as part of the demo Voyage: An Intv Journey. The original idea was to take Arnauld's tracker and enhance it to support the additional sound processor in the ECS, and fix a few latent bugs. I then took it upon myself to reverse-engineer the entire tracker and document in exhaustive detail the data format in order to add new features to it. The result is not only a comprehensive user manual and technical guide, but an improved and highly-optimized version of the tracker. Plus it plays some of the best kick-ass drums you've ever heard on an 8-bit sound chip. Below is a list of the most important features of the Intellivision Music Tracker: Pattern-based song sequencing, with support for an unlimited number of patterns. Supports up to six independent sound channels, updated and playing simultaneously. Full 6-note polyphony; 5-note polyphony, with one drum channel; or 4-note polyphony, with two drum channels. 64-point user-defined software envelopes. 4-step pitch effects (e.g., arpeggios). Vibrato effects configurable with 3 levels of depth. Simple programmable drum sound synthesizer. Supports up to 85 individual instrument definitions with independent envelopes, and pitch and amplitude modulation effects. Supports over 40 individual drum instrument definitions per song. Global master volume control. Dynamic active channel selection. (New!) And if all of that wasn't enough, in a fantastic twist of fate, this new version includes support for IntyBASIC integration, making it dead-simple to incorporate the tracker in your own IntyBASIC games! The standard distribution includes everything you need: Tracker v1.5 User Manual & Technical Guide. Tracker library and dependency modules. Interface modules for both Assembly Language and IntyBASIC programs. A global music definition file with useful predefined envelopes, effects, and drum sounds. Eight sample songs, including a cool drums solo showcasing the new drum sounds. Along with the standard distribution, I include below an "IntyBASIC SDK" project with an example program illustrating how to use the tracker from IntyBASIC. Current Revision #3 (2021-02-03) Tracker v1.5 User Manual & Technical Guide.pdf - User Manual trk-distro-rev4.zip - Standard Distribution trk-demo (IntyBASIC).zip - IntyBASIC SDK Project And for those who do not want to build or compile the project to check it out, below are some MP3s exported from the emulator playing the sample songs: butterfly-remix.mp3 - Flight Of The Butterfly - By @carlsson demo-remix.mp3 - Demo Song (Remix) - By @Arnauld drums-demo-808.mp3 - Drums Demo (Funk My Drum Machine) - By @DZ-Jay space-music.mp3 - Journey Through The Stars (Space Music) - By @carlsson voyage-remix.mp3 - Voyage Theme - By @carlsson beatit-remix.mp3 - Beat It (Remix) - By Michael Jackson (originally tracked by @Nyuundere, remixed by @DZ-Jay) One of my goals in documenting the data format so thoroughly was to enable the creation of MOD-to-Inty or MIDI-to-Inty programs to convert standard music files to the Intellivision Music Tracker format. I hope others will take inspiration of this project and contribute to this effort. Let us enrich the musical library of the Intellivision and expand the pool of musicians working on it. Many thanks to Arnauld Chevallier for the original software and for his many contributions to this community. Now, go make some cool music! Cheers! -dZ. Latest Version Release Notes: NEW: Instrument envelopes now recycle indefinitely, by backtracking a number of sample points from the end. The backtracking offset is configurable with a global constant. FIXED: Optimized the code for size and speed to compensate for additional code brought in by recent enhancements. FIXED: Changed the behaviour of "NULL" events that include instrument changes, to reset the channel counter. The old behaviour is believed to be a bug. FIXED: Included the latest version of IBN-to-IMT conversion tool. UPDATES: 2021-01-10: Updated attachments of library distribution to revision #1. 2021-01-22: Updated attachments of library distribution to revision #2. 2021-02-03: Updated attachments of library distribution to revision #3. 2021-03-07: Updated attachments of library distribution to revision #4.
  2. Hello, In my aim to make the Intellivision Music Tracker useful and increasing its appeal to IntyBASIC programmers, I want to make sure it at least offers at a minimum any critical features that the IntyBASIC music player has. One thing that was missing, and that some have already asked me about, is the ability to disable channels in the tracker so that you can use them for sound effects. Unfortunately, the Intellivision Music Tracker messes with all PSG channels during playback, even if it's just to re-assert silence. I added a simple enhancement that allows the programmer to configure the tracker at runtime to leave some PSG channels untouched. It works by organizing the channels into a prioritized list, and only using the number of channels requested, starting from the one with the highest priority. In order to emulate something like "PLAY SIMPLE" in IntyBASIC, I chose to assign the lowest priority to the third channel of each PSG. The priority list then looks like this: A (Main PSG) - Highest priority B (Main PSG) D (ECS PSG) E (ECS PSG) F (ECS PSG) C (Main PSG) - Lowest priority +-----------+-----------+ | MAIN PSG | ECS PSG | +---+---+---+---+---+---+ | A | B | C | D | E | F | +---+---+---+---+---+---+ | 1 | 2 | 6 | 3 | 4 | 5 | +---+---+---+---+---+---+ So, for example, if you are only using the main PSG without the ECS, and you request 2 active channels, the tracker will use "A" and "B" and leave "C" untouched. Likewise, if you plan to take advantage of the ECS extra PSG to play additional music channels, you can request 5 active channels and the tracker will use "A", "B", and the three ECS channels, and still leave "C" untouched. That allows you to predictably reserve "C" for sound effects, and still take advantage of the extra sound channels of the ECS for the tracker, just like when using "PLAY SIMPLE" in IntyBASIC. However, in contrast to "PLAY SIMPLE," you are not constrained to just reserving one or two channels; you can configure the tracker to use anywhere from 1 to 5 channels, disabling the rest and reserving them for external use. All you need to do is use the macro "SET_ACTIVE_CHANNELS(n)" where "n" is the number of channels to use. The default is 6, letting the tracker use them all. ' Enable 5 channels for tracker use. ' This reserves channel "C" for other things. SET_ACTIVE_CHANNELS(5) ' The song will start playing immediately. CALL TRKLOADSONG(VARPTR MYSONG(0)) (Obviously the feature is available using the native Assembly Language interface of the Intellivision Music Tracker as well.) The full set of channel priority configurations are as follows: +------------------------+-----------+-----------+ | | MAIN PSG | ECS PSG | +------------------------+---+---+---+---+---+---+ | SET_ACTIVE_CHANNELS(n) | A | B | C | D | E | F | +------------------------+---+---+---+---+---+---+ | 1 | X | - | - | - | - | - | +------------------------+---+---+---+---+---+---+ | 2 | X | X | - | - | - | - | +------------------------+---+---+---+---+---+---+ | 3 | X | X | - | X | - | - | +------------------------+---+---+---+---+---+---+ | 4 | X | X | - | X | X | - | +------------------------+---+---+---+---+---+---+ | 5 | X | X | - | X | X | X | +------------------------+---+---+---+---+---+---+ | 6 | X | X | X | X | X | X | +------------------------+---+---+---+---+---+---+ LEGEND: [ - ] => Inactive [ X ] => Active One important thing to note is that, because channels "A" and "D" are the only ones in which the tracker supports drums, we may want to keep those at a higher priority, or else you lose the ability to use drums when using less than the full set of channels. What do you guys think? I know it is a useful feature to be able to reserve some channels for non-tracker use, but is this a good interface? Would it be helpful, or is it too confusing? Is the priority order too wonky? Any feedback will be welcomed! -dZ.
×
×
  • Create New...