Code Monkey home page Code Monkey logo

tarp's Introduction

The Alan Randoms Project (TARP)

Author: mvac7

Architecture: MSX

Format: ROM 16K (h4000)

Programming language: C and Z80 Assembler

Compiler: SDCC

mail: [email protected]

Sorry!: This text is pending correction of the English translation.

Description:

TARP is an application for MSX computers to make music with functions for random generation of rhythm and melody patterns.

It is only used for playing live, so it does not contain tools for editing sequences of various patterns, or for loading and save them.

Use it in your Jam sessions, add effect generators and enjoy!

The first version (0.9b) was presented in the Karoshi MSX Community eXperimental Sound Minicompo 2012 contest.

http://web.archive.org/web/20191116233848/http://karoshi.auic.es/index.php/topic,2294.0.html

TARPv1_screenshot_main_x2

TARPv1_screenshot_title_TMS TARPv1_screenshot_help

Requirements:

To compile:

Note: The project includes a script for Win but it is possible to compile on Linux computers.

To run:

A standard MSX computer with 64K RAM (or 16K if running from a FlashROM).

On second-generation or higher MSX computers, an enhanced palette is used.

  • You can record it to a FlashROM and you can execute in a standard MSX computer with 16K RAM.
  • From disk, using tools like ODO, loadrom, execrom, etc.
  • From cassette, using WAVeR or a similar tool.

Acknowledgments

  • Kun/Paxanga Soft - Participant in the Experimental Sound Minicompo with his application Noise Raiser. http://paxangasoft.retroinvaders.com/
  • Hap - Participant in the Experimental Sound Minicompo with his application VDP Music.
  • Fubukimaru for betatesting
  • Karoshi MSX Community (RIP 2007-2020)

User Guide

To start, press TAB to make it generate a random pattern and then press Return.

On the main screen, you will see on the left the control area. There you can change the settings using the cursor keys or any of the joystick and activate some functions.

On the right, there is a rotary vumeter for the drum and melody channels, and the pattern data is shown below.

The control area is divided into three parts:

Song:

  • If you click on the title "Song", it will generate a random pattern, it will activate the Rhythm and Melody channels and if it is not, it will go into Play mode.
  • Random button, generates Rhythm and Melody patterns.
  • Play/Stop button, for change play mode.
  • A/B radio button, swap patterns A and B.
  • Copy option, copy the current pattern over the opposite.
  • Speed controller. It is based on VBLANK cycles. [1 = very fast; 9 = quite slow]

Rhythm:

  • When you press the title, the status of the rhythm channel changes.
  • Random button, generates a Rhythm pattern.
  • Drum Kit switcher. Change between two percussion kits: Standard or similar to the Casio PT series.

The drums kit is composed of three instruments: Kick (green), Snare (red) and Hi Hat (cyan).

Melody:

Tone generator control based on two square wave oscillators.

Both are enabled by default, but you can disable generator B and modify the frequency offset.

It contains a software envelope generator with 8 different waveforms, which can modify the parameters of speed or whether cyclical. It also includes a control for changing octave, and a control to increase or reduce notes of the pattern.

List of controls:

  • When you press the title, the status of the Melody channel changes.

  • Random button, generates a Melody pattern.

  • A+B switcher, enables/disables square wave generator B.

  • OFFS value entry, frequency offset [0-255]

  • ENV selector, choose from 8 types of wave envelopes. [0 \, 1 /, 2 \/, 3 /\, 4 ¯|_, 5 ~, 6 ¯\_, 7 \-\]

  • Loop switcher, changes the state of the wave envelope loop.

  • Octave value entry, increase or reduce octave of the pattern. [1-6]

  • Transpose pattern UP or Down, increase or reduce notes of the pattern.

List of shortcuts keys:

Main Screen:

Using keyboard shortcuts you can operate many of the controls in the control area, except those related to the wave envelope, but add controls that affect playback, such as those that limit the size of the pattern.

Cursor keys and Joystick A or B:

  • [Up] Menu cursor up
  • [Down] Menu cursor down
  • [Left] Switch left or decrease value
  • [Right] Switch right or increase value
  • [SPACE] or Joystick Button - Actuate the random buttons or the switchers

Keyboard:

  • [RETURN] It goes into Play mode and moves to the first step of the sequence
  • [STOP] Stop pattern playback
  • [F1] Rhythm channel On/Off
  • [F2] Melody channel On/Off
  • [TAB] Generate random Rhythm and Melody patterns
  • [CTRL] Generate random Rhythm pattern
  • [SHIFT] Generate random Melody pattern
  • [1] Loop first 2 steps
  • [2] Loop first 4 steps
  • [3] Loop first 8 steps
  • [4] Restore pattern length to 16 steps
  • [BS] Swap patterns A and B
  • [GRAPH] Copy the current pattern over the opposite
  • [SELECT] Drums kit: Standard/Casio
  • [Ins] Octave Up
  • [Del] Octave Down
  • [,] Transpose pattern Down
  • [.] Transpose pattern Up
  • [HOME] Show Help screen

Help Screen:

  • Cursor/Joystick [Up] Up scroll text
  • Cursor/Joystick [Down] Down scroll text
  • [ESC] Return to main screen

Users feelings

"For me TARP is like having a great tool in the hands of a 3 year old kid. I have a lot of fun and, eventually, I get really cool sounds even though I have no idea about music. I just mash buttons." @PresidentFubu

Songs and Jams

tarp's People

Contributors

fubukimaru avatar mvac7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tarp's Issues

program the PlaySomething function

In the new version of the interface, you can click on the Song title. When this is done, the PlaySomething function will be executed, which will have the following behavior:

  • will activate rhythm or melody channels
  • It will generate rhythm and melody patterns
  • If it is stopped, it will go into Play mode.

version for two AY-3-8910

It is not to generate a stereo effect.
The idea is to play the tone and melody on separate PSGs, to take advantage of the hardware sound envelope for the melody.
It also allows you to connect each channel to separate external effects generators.

Player control

The application starts stopped.
The Return key activates song playback and starts the sequencer to the first step.
The Stop key, interrupts the song playback.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.