.shred (Supreme Heavy Riffage and Effect Description file format specification)

.shred files are a replacement for .psarc files.

They are simple and load fast as fuck because they are just .zip archives with the extension renamed. Check out some example files here.

Their main advantage over .psarc is that they can store arbitrary signal chain tone settings for build-in effects and external VST-plugins.

Right now they are converted from .psarc files using ShredRipper. You usually don't have to worry much about the details if you are not creating .shred files from scratch.


General:


album.png:


song.ini:

[Song] # song.ini always starts with the [Song] section.
Song=Never Gonna Give You Up # required.
Artist=Rick Astley # required.
Album=Whenever You Need Somebody # required.
Length=201.810997 # required. All time information is using the [seconds].[decimalsOfSecond] format. Nanoseconds precision (1e-9). Trailing zeros of decimal should be omitted (201.8100000->201.81, 201.000000->201).
Year=1987 # required. Year the album was released.
DelayBegin=3.0 # optional. A common practice on .psarc is to add a few seconds of silence at the beginning of the song. Use this instead of re-encoding your ogg.
DelayEnd=1.337 # optional. works the same as DelayBegin but on the end of a song. Negative numbers will end the song ealier, positive will delay the end.
Version=0.7.2 # required. The Shr3D version the song was made for. Does not do anything currently. ShredRipper will set it.

[Lead] # Lead Guitar
CapoFret=3 # optional. Capo on third fret.
Tuning=-1,-1,-1,-1,-1,-1,-3 # optional. This would be 7-string E♭ Drop D♭ tuning. Fist value is High-E string. You should only use 7 strings, if the song actually requires 7 strings. Default is 6-string E-Standard.

[Bass] # Bass Guitar
BassPick=0 # optional. 0->fingered, 1->picked. (unused in 0.7.2)
Tuning=-2,-2,-2,-2 # optional. This would be D Standard tuning.

song.ogg:


preview.ogg:


Lead.ini / Rhythm.ini / Bass.ini / Lead2.ini / ... :

[Beats] # Shr3D
0=1 # key is the time, value is either 1 for the On-Beat or 0 for the Off-Beat
8.246=1
8.956=0
9.667=0
10.377=1

[ChordNotes]
0= # key is auto incremened
0=0palmMute,1palmMute

[ChordTemplates]
0=name:C#5,fret3:0,fret4:0,fret5:0 # key is auto incremened
1=name:E5,finger3:3,finger4:2,finger5:1,fret3:3,fret4:3,fret5:3
2=name:D#5,finger3:3,finger4:2,finger5:1,fret3:2,fret4:2,fret5:2

[Phrases] # Shr3D
0=name:COUNT,maxLevel:0 # key is auto incremened
1=name:p1,maxLevel:1
2=name:END,maxLevel:0

[LeveledSections] # songs are made up of parts. You see them in the timeline.
0.0-16.270=2 # the max level (difficulty) of the section
16.270-32.541=5 # load Level5Anchors/Notes/Chords in this section on max level
32.541-48.813=2 # in the application the suer can select level 0,1,2 on this section, lower levels feature less notes to play

[Level0Anchors] # Shr3D 
8.246=fret:5,width:4 # key is the begin and end time of the anchor
16.059=fret:1,width:4

[Level0Notes] # Shr3D the notes that are shown in Shr3D depend on the current level of the phrase.
8.246=fret:5,string:1,sustain:0.706 # sustain duration in seconds.
12.508=fret:5,string:2
16.764=fret:19,string:4,sustain:0.331999987,bend:2.0,bend0time:319.178009033,bend0step:2.0

[Level1Anchors]
8.246=fret:5,width:4

[Level1Notes]
8.246=fret:5,string:1,sustain:0.706

[Level1Chords]
16.059=chordId:1
17.469999=chordId:2

[Level1Sustains]
11.270-13.414=name:D5
13.843-14.215=1finger:2,name:Am

[Tones] timepoints of tone switches in song. A song always starts on with tone index 0
17.359=1 # switch 0->1, key is the time, value is the tone index
40.567=2 # switch 1->2
67.519=0 # switch 2->0

lyrics.ini:

[Lyrics]
54.671001434,0.180000007=С # key is time and duration
54.88299942,0.30399999=крыш # current font texture includes latin and cyrillic characters. You will get tofu on others.
55.266998291,0.642000019=наших
55.986000061,0.479000002=домов
56.497001647,1.361999988=начинается
58.014999389,0.456999987=день+ # '+' adds a newline
69.510002136,0.386000007=E- # '-' will skip space
70.126998901,0.231000006=lec-
70.589996337,0.231000006=tric
71.053001403,0.847999989=eye+
Lyrics example

tones.ini:

[Tones]
Bass,0=Large Echo # The name of the first bass guitar tone
Bass,0,0=Echotron,1,63,20,20,8,0,61,0,64,3,32,4,64,1,1,1,1 # Effect settings for 'Large Echo'.
Lead,0=Mega Distortion # The name of the first lead guitar tone
Lead,0,0=Expander,1,-55,37,24,46,8050,76,1 # 'Mega Distortion' is made up of two effects.
Lead,0,1=StompBox,1,32,-44,0,0,110,2 # Here are the second effect settings of 'Mega Distortion'.
Lead,1=Ambient Flange # Second Lead guitar tone name.
Lead,1,0=Neural Amp Modeler,1,67,-800,50,50,50,-46,1,1,0,1,1,Orange Crush 100.nam,Mesa_OS_4x12_57_m160.wav
Lead,1,1=Reverb,1,100,30,20,24,0,4002,27,83,1,64

Changelog:

v0.9.1:

v0.9.0:

v0.8.1:

v0.8.0:

v0.7.2: