This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
ThinkInvisible's profile picture

Ctracker - Minecraft Music Maker

Started by ThinkInvisible, 19 August 2013 - 12:15 PM
ThinkInvisible #1
Posted 19 August 2013 - 02:15 PM
CTracker
About
CTracker is a program that can be used to create chiptune songs in Minecraft with ease, designed to feel like the Windows program OpenMPT.
Instead of using note blocks, the program uses the Speaker block in Immibis Peripherals, which will allow for more features as the program develops.

Dependencies
CTracker requires the following mods to work:
-ComputerCraft 1.56
-Immibis Peripherals 56.0.1
To use the program, you MUST have an Advanced Computer with two Speaker blocks on the front and back, or left and right, sides.
Optionally, you can add an Advanced Monitor with at least two blocks horizontally to show a visualizer.
The HTML API will be required in later versions, but it isn't yet.

Usage
SpoilerOn starting the program, you will see a help screen over most of the program. Find the white text labeled 'HELP' and click it to close the help window. There will be a list of cells - one cell is three dashes, '—'. Every fourth column of cells is highlighted. These columns are steps, chords, ticks, etc. The rows are channels. There are 64 chords and 8 channels - for each module, or measure, you can have 64 groups of 8 notes play in series. There are 16 modules in total, shown by the letters A-P on the white bar. Left-click one of these letters to load its contents, right-click to save. There is also a selection option that can be used to, say, repeat a few notes.To change a cell, click on it (or use the arrow keys to move to it). Once you've made a song, click the Play button to start the song. Click the Save or Load buttons and type a file name to save or load to, well, save and load the song. If you have attatched a monitor, dots will appear on it in time to the music.

The following keys do the following things to the cell or selection:

CELL OPERATIONS
[A] through ['] (home row) - Set a note, [A] being C, being C#, etc. [\] is B for the middle octave.
[Q] through []] (qwerty row excluding backslash) - Set a note one octave below home row.
[Z] through [/] (zxc row) - Set a note one octave above home row. There is no A# for this row.
[=] - Set a stop note. Once the song reaches a stop note, that channel will stop playing any previous notes.
[-] - Set a blank (default) note. Once the song reaches a blank note, it will continue playing any previous notes.

SELECTION OPERATIONS
[indent=1]Note: The CTRL key must be pressed, NOT HELD, for CTRL combinations. The CTRL key acts like a toggle in CTracker, and it will be turned off when any other key is pressed.[/indent]
[9] - Set selection upper left corner.
[0] - Set selection lower right corner.
[CTRL][C] - Copy selection.
[CTRL][X] - Copy and delete (cut) selection.
[CTRL][V] - Paste selection at selected cell (green highlighted).

OTHER OPERATIONS
[RSHIFT] - Transpose selection 1 note down (C becomes B, D becomes C#)
[ENTER] - Transpose selection 1 note up (C becomes C#, D becomes D)
[1][2] - Decrease and increase the module to start playing at.
[3][4] - Decrease and increase the module to stop playing and loop back to the start at.
[5][6] - Decrease and increase the octave to make notes at. Ie: Pressing [5] will make home row do what qwerty row did previously.
[7][8] - Decrease and increase Tempo, respectively.
[~] - Close the program. WARNING: THERE IS NO SAVE CONFIRMATION.


Demonstration
Please excuse the horse at 2:30.
[media]http://youtu.be/S_ufJRGLpuM[/media]

Code
To retrieve the code for the program, type:
pastebin get 24qazMnb CTracker
or go to http://pastebin.com/24qazMnb to download it manually.
There is also an example song file:
pastebin get zvzt5tZ5 EvasiveAction
http://pastebin.com/zvzt5tZ5
Zambonie #2
Posted 30 August 2013 - 06:22 PM
Really Nice, Good Job. I think it crashed the server I was playing on though :P/>
Geforce Fan #3
Posted 07 September 2013 - 09:44 PM
This sounds really low and makes weird noices on my computer. I'm running MacOSX 10.6.8 if it makes any difference.
Mitchfizz05 #4
Posted 08 September 2013 - 12:11 AM
You should probably report those bugs to immbis, I could imagine those are Immbis Peripherals bugs.
Otherwise, great job! Can't check it out right now as I am on my iPod though.
reububble #5
Posted 08 September 2013 - 06:33 AM
Hi hi

Curious, how many different timbres does it do? Please say more than one!
I could implement some of this mod into my music composition software.
Currently it only has a range of 2 octaves, because that's minecraft's range of noteblock sounds.
keyosuke #6
Posted 25 March 2014 - 09:11 AM
Do you think you would ever release a tutorial on the CTracker save format so someone could make a song converter? Or do you think you might make a song converter yourself? There is an Iron NoteBlock Music Player program that uses MiscPeripherals Iron Noteblocks, but I like your CTracker much better as a player, for how it uses Speakers rather than Iron Noteblocks. The biggest downside is there is no converter application so this is only useful as a player if you want to track your own songs. I was also wondering if there might be a way to track drums, but I guess that would only work if you had something like Iron Noteblocks to make use of the drum sounds.

Regardless, this is an excellent example of using Immibis Peripherals, and thanks for that.
p.s. I've been having a trouble getting CTracker to save files. I edit a blank music sheet and give it a name with Save, but then when I go to load, it has created no file on the drive. Can you give me any tips? I'll gladly list my versions of everything, if that helps. Also, when I press a key to add a note to the music sheet, it plays that tone, but is there any key to get it to stop playing that sound? I've been having to cycle the Play button to stop it.
Edited on 26 March 2014 - 01:34 AM
Farfalonous #7
Posted 29 July 2014 - 03:49 PM
HELP!!! I'm getting an error that says Error Incorrect Computer Setup! How Do I fix This
secret6timb1 #8
Posted 30 July 2014 - 10:23 PM
Immibis says you need computer 1.58 but I did with 1.63 and it worked :D/>,I was so worried I was going to have to revert my mod pack back to 1.58
secret6timb1 #9
Posted 30 July 2014 - 10:24 PM
Never mind… incorrect computer set up

EDIT

Never mind again

I erased 2 if's and it worked

Here is one that works for 1.63

pastebin get cZpvxCWF CT
Edited on 30 July 2014 - 09:44 PM