Previous Page | Next Page

by CapComMDb at 5:28 PM EDT on March 22, 2008
Has controlling the number of audio loops been implemented yet? I've been running Foobar2000, but the tracks only seem to want to play once, loop, then fade. Haven't seen any settings that might allow this. With in_cube and other VGM plugins you can alter this, but vio2sf will only play what the mini2sf was tagged at. Is this something having to do with the tag, or can it be fixed with an update to the plugin? There are a few tracks I want to play without the loop and it seems to me it would take less time if I didn't have to manually cut out that part of the track when I convert it to wav.
by Mouser X at 6:18 PM EDT on March 22, 2008
Try looking on the site where vio2SF is updated. That would be at http://foobar2000.xrea.jp/up/. Really, we don't know who's making the vio2SF plugin. It just keeps showing up, with updates. The newest version (0.13, I think) allows you to loop the 2SF infinitely, or to set the default time. It still doesn't allow you to display the album tag instead of the artist though. I find that one troublesome to work with.

Also, the reason in_cube allows 2 loops + fade is because it plays streamed files. What that means is that the looping info is stored in the header of the file. It's read by in_cube, and then the file is played based on that. 2SFs, and all other xSF formats, can't support that, because they don't read the header of the data they're playing. They read the xSF header, which doesn't contain loop info. The looping data is contained within the ROM data, and this ROM data is read by the NDS audio driver (also part of the ROM data), and the NDS audio driver runs on NDS hardware, which is emulated by vio2SF. In other words, xSF players never directly interact with the audio data they play.

Anyway, update vio2SF. I'm pretty sure that's your problem. Mouser X over and out.
by CapComMDb at 7:56 PM EDT on March 22, 2008
Thanks Mouser X, that explained it.

Yeah, I've been using 0.13. The problem is, the files I'm trying to play (Metroid Prime Hunters) are set to play, loop, fade when I want them to play then fade. Infinite looping isn't the problem; getting it to single play is (i.e. I don't want an 8 minute track that could instead be 4 minutes long).

Sounds like this means each track is tagged individually by the person who rips the audio. Because it's streaming, there would be no way to automatically fix this so I guess I'll just manually edit the wav file.
by Mouser X at 11:14 PM EDT on March 22, 2008
Too long; didn't read version -> See the last paragraph or so.

I'm not sure I understand what you're saying. There's a 2SF in the MPH set that's timed for 8 minutes (2 loops?), and you'd rather that it play for 4 minutes? That can be fixed, but you'd have to edit the tags. Due to some *very* poorly implemented features, vio2SF looks like it can't change the times. You'd need to get PSFpoint to do that.

Metroid Prime Hunters has only 1 streamed song in it, and it's only 21 seconds. Everything else is a 2SF file. This means that the PSF header has PSF timing information in it. Since the accepted method is loop twice, and then fade, the timing information in the PSF header is supplied (by the ripper) as such.

In other words, either I don't understand you, or you don't understand me. Streamed files contain the loop points within the streamed file, which are read by in_cube. You can change how many loops you want in_cube to play, using in_cube's settings. This can be accessed by pressing CTRL+P in Winamp, and then accessing the input plugins submenu.

The reason you can't specify how many loops vio2SF plays is because vio2SF never sees loop points. vio2SF is an emulator. When a 2SF plays, what you're actually doing is running an NDS application (contained in the 2SF), and this application accesses the sequence data (also contained in the 2SF), and plays it. The sequence data contains loop points (otherwise it wouldn't loop), but since vio2SF is only an emulator, it never sees these loop points. The NDS application doesn't care about the loop points. It's given a file (the sequence data) and runs through that data until it's told to stop. Since it contains loop info, it continually runs through the file. In a manner of speaking, it's caught in an infinite loop (using a programming term). So, what PSF tags do (the times specifically) is they tell vio2SF (the emulator) when to stop emulating the NDS hardware. When the emulation stops, of course the NDS application stops as well, and therefore so does the audio it was outputting.

In other words, vio2SF never directly interacts with the songs it's playing. But using PSF tags, you can tell it (vio2SF the emulator) when to stop emulation. In other words, if you want it to play for 4 minutes, edit the tags. If you want it to play for 76,000 minutes (will that even work? That number might be too high), edit the tags.

Hopefully any confusion that may have been in place (either from me, or from you) has been cleared up. Streamed files *can* be told exactly how many loops to go through, since in_cube interacts with the files directly (it's reading the actual data it plays through). vio2SF cannont, because it never actually "sees" the files it plays. Since MPH has only 1 streamed file in it (which is 21 seconds as I recall), that means you need to edit the PSF tags. Hope that helped. Mouser X over and out.
by CapComMDb at 12:11 AM EDT on March 23, 2008
No, I think I understand what all you're saying here; pretty straightforward. I've just been a bit confused as a lot of other music formats (spc for instance) have the loop function.

Don't think PSFpoint will be much help to me as I've always had trouble getting command line software to work. However, you can edit the track information by opening the files in notepad or a similar program, just is a bit tedious (or most of what you need at least - game title, artist, copyright, year, fade, and length). Unfortunately, length is defined in time, so you have to know how long the song is to input that information. I don't know how they determined the loop points to begin with beyond becoming familiar with the music; you'd think there would be some information in the file to tell you that. As it is, it's a bit easier for me to figure this out by looking at the track's waveform in an editor after it's been converted.

BTW, any idea why the fade for the 2sf files are set at 7 seconds as the standard? I thought 10 was... Just curious.
by unknownfile at 12:27 AM EDT on March 23, 2008
because knurek is an idiot
by Mouser X at 2:26 AM EDT on March 23, 2008
In regards to finding loop points for 2SFs, the NDS sequence format has actually been figured out. NDS sequences can be converted to MIDIs. The reason you don't see a large collection of NDS MIDIs (at least, I haven't seen one), is because the converter software only does the barest job. It doesn't associate instruments properly. If you were take a NDS converted MIDI, and play it in a normal MIDI player, it would sound like crap.

The reason I bring this up is because the converter software is able to read the NDS sequence data. This sequence data contains the loop point, which the converter software understands. When it outputs a MIDI, the loop point is not converted. But, if you set it in advance, the converter software will make the MIDI loop twice, because it "knows" where the loop point is. This is how Knurek (who has done most of the ripping, and I think all of the timing) is able to loop the 2SFs twice.

When Knurek rips a 2SF set, he actually creates a MINI2SF set, and a MIDI set. The MIDIs are deleted eventually, but before they are, he pulls the length data from them, so that he knows how long each 2SF needs to be to loop twice.

I'm pretty sure that Knurek has written up a ripping/timing process, but I don't have a link for it on me. Either he can answer you here (I think he's gone to bed by now, so you'll have to wait for morning), or you can can contact him on IRC (obviously, you'll need to wait a bit for that as well). #usf is the channel, and the server is irc.freenode.net.

Sorry I don't have the name of the converter software. I do know that's how Knurek was able to time the sets though. If you're going to be changing some timing tags, or want to find specific loop points, then that's what I would suggest you do. Convert some SDATs (I think that's where/how the NDS sequence data is stored) to MIDIs, and work from there.

Also, interesting method for finding the times (waveform). It's not the one I would have used. Anyway, I hope that you can find this info. useful. I didn't understand that you were trying to find the exact loop point, and loop the files based on that. Perhaps I'm using an old version of SNESAmp (I use 3.1, which is old), but I've never seen that option.

In regards to SPCs though, I should mention that CaitSith2 created a tool that can find the loop points of SPCs 95% or 98% of the time. It's a variation (adapted for SPCs of course) on the method CaitSith2 devised for timing GSFs. So if SPCs have exact loop points, I would suspect that at least some of the SPC sets have CaitSith2's tool to thank for it. Mouser X over and out.

edited 3:44 AM EDT March 23, 2008
by CapComMDb at 11:12 AM EDT on March 23, 2008
Actually, scratch using Notepad - it screws up the characters it can't read. You can just ALT+3 (File Info) them in Winamp to manually edit the tags, but I'll still have to find the track lengths.

I'll keep my eye open for the sequencing software, but I haven't seen anything yet so it would probably just be quicker to find them manually at this point.

Thanks again!
Mirror? by Ice_Pegasus at 2:58 AM EDT on March 27, 2008
Yo...i notices that the mirror that the 2sf files are hosted on is EXTREAMLY slow.....if you want i could help with the mirroring of the files, and you can use my site.....its hosted on a fast 100mbs server and is Never down....
by hcs at 4:00 AM EDT on March 27, 2008
Feel free to mirror 'em, maybe give Knurek an account over there? The current mirror is powerful enough to withstand the slashdot effect, not designed for raw speed, and we pay nothing for it, and it was trivial to use.

Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source