Well, I thought I might as well upload it now. I had to do the
documentation and I wanted to more exhaustively test and add a few
features but it functions so I put it up.
You'll find it at: https://github.com/M3wP/XSID
At the moment, you will need to use the SID Convert tool to convert
the SID files into XSID files. Once I have refactored everything into libraries, I will include this functionality in the XSID To MIDI
application.
At the moment, pulse width and effect changes are not output as
controller information in the MIDI files. I will get to that shortly
but its only for reference anyway.
Please let me know about your experience with using the tools and if
you find any problems. Any other contributions would also be greatly appreciated.
I always like coding for vintage pleasure. But for MIDI... This is
probably mainly for folks who want to play SID files on their MIDI
capable keyboard synthesizers.
I myself was collecting MIDI files but that stopped in the end of the 90s already. Suppose it's kind of not used much anymore unless you are professional musician.
I always like coding for vintage pleasure. But for MIDI... This is
probably mainly for folks who want to play SID files on their MIDI
capable keyboard synthesizers.
I myself was collecting MIDI files but that stopped in the end of the 90s already. Suppose it's kind of not used much anymore unless you are professional musician.
But MIDI is sound-independent: it's the score, the receipt, not the
sound itself.
On 2017-08-08 20:26:06 +0000, Andreas Kohlbach <ank@spamfence.net> said:
I always like coding for vintage pleasure. But for MIDI... This is
probably mainly for folks who want to play SID files on their MIDI
capable keyboard synthesizers.
I myself was collecting MIDI files but that stopped in the end of the 90s
already. Suppose it's kind of not used much anymore unless you are
professional musician.
It is -massively- used.
What you're describing is playing via the cheap sound card General
MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
with a wavetable synth built in) or similar. But MIDI is
sound-independent: it's the score, the receipt, not the sound itself.
I would -love- to have a modern, up to date SID2MIDI. I work in Logic
on the Mac, run various SID emulation instruments like QuadraSID (now discontinued sadly). If you're starting a remix, you can do a lot
worse than start from the original MIDI. Feed the original MIDI into a
modern emulation and start playing with the sounds - excellent.
What about MIDI to SID? Should be even easier. You might have like 128
midi instruments defined in GM and could try to create sounds similar to
that with the SID. You could put the parameters for these sounds in a table with other characteristics, like attack/decay/sustain/release. Then if
say instrument #1 (piano IIRC) is played in a MIDI look up the piano
sound for the SID from that table.
I've been looking into how do to a Linux and MacOS port but I just don't ha ve the ability to port the C/C++ code library wrapper at the moment. Also,
there seems to be an issue in the LZMA units when compiled with FPC/Lazaru s. Any help would be greatly appreciated.
On Mon, 14 Aug 2017 13:58:14 +0100, Ian McCall wrote:
What you're describing is playing via the cheap sound card General
MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
with a wavetable synth built in) or similar. But MIDI is
sound-independent: it's the score, the <recipe>, not the sound itself.
No, I just mentioned that also casual users - like me - used MIDI back in
the 90s, before MP3 and higher bandwidth (and Napster ;-) kicked in. I
say MIDI used by the casual user was quickly abandoned in the very late 90s.
I would -love- to have a modern, up to date SID2MIDI. I work in Logic
on the Mac, run various SID emulation instruments like QuadraSID (now
discontinued sadly). If you're starting a remix, you can do a lot
worse than start from the original MIDI. Feed the original MIDI into a
modern emulation and start playing with the sounds - excellent.
What about MIDI to SID? Should be even easier. You might have like 128
midi instruments defined in GM and could try to create sounds similar to
that with the SID. You could put the parameters for these sounds in a table with other characteristics, like attack/decay/sustain/release. Then if
say instrument #1 (piano IIRC) is played in a MIDI look up the piano
sound for the SID from that table.
Well - in ye olden days I was also a C/C++ coder though haven't been actively coding in that language for some time now. Is it straight compilation error or bugged functionality that results?
MIDI has replaced sheet music in a way.
I need the wrappers to compile .so libraries for Linux and MacOS. So, I ne ed to port the code to GCC. I don't really know how to do that. I'm inves tigating so I'll learn eventually but it would be nice if someone could hel
p me.
Well - absolutely no promises because the last time I was a commercial
C++ programmer is around 15 years ago now, but have downloaded to take
a look.
I've also found this tool:
https://code.google.com/archive/p/make-it-so/. I have some Windows VM somewhere so might be able to give it a shot.
On 2017-08-14 21:04:00 +0000, Andreas Kohlbach <ank@spamfence.net> said:
On Mon, 14 Aug 2017 13:58:14 +0100, Ian McCall wrote:
What you're describing is playing via the cheap sound card General
MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
with a wavetable synth built in) or similar. But MIDI is
sound-independent: it's the score, the <recipe>, not the sound itself.
No, I just mentioned that also casual users - like me - used MIDI back in
the 90s, before MP3 and higher bandwidth (and Napster ;-) kicked in. I
say MIDI used by the casual user was quickly abandoned in the very late 90s.
That's fair enough - you would have used wavetable synths built into
the sound cards in the mid-90s, not "MIDI" as such. MIDI would have
fed those sound cards, but its the sound cards you're describing. It's
more true to say that listening to the built-in sound card synths were abandoned, than it's true to say MIDI was abandoned, but really we're splitting the thinnest of hairs here.
I'll try LibSIDPlay.dll next.
I'll try porting the code to FPC/Lazarus again and see if I still have issueswith the LZMA units. This may take some time.
Okay, you're right. May be I was under the impression the SID2MIDI was
mainly thought to be used for playing MIDI one's PC. Like we did in the
90s. :-)
I haven't got it all working on Linux yet so I'm not certain of what is really needed there. I'm working on it.
However, my problem is that only the dump writer output is working. It
seems that there is a problem playing audio with my VM host. I'm looking into it now.
However, my problem is that only the dump writer output is working. It
seems that there is a problem playing audio with my VM host. I'm looking
into it now.
*Whew* Yes, it was a problem with the host and the XSID Player is now
working on Linux. But only in 32 bits... I'm sure that there would be
a problem trying 64 bit so I'm not going to at this point.
The next step is getting the SID Convert program running. It is going
to require a bit of reworking because it does drag-drop at the moment
for adding files and I'm pretty certain that it won't work.
Daniel.
On 2017-08-15 20:52:41 +0000, Andreas Kohlbach <ank@spamfence.net> said:
Okay, you're right. May be I was under the impression the SID2MIDI was
mainly thought to be used for playing MIDI one's PC. Like we did in the
90s. :-)
Soundblasters were built for playing the music from Doom. And if you
splurged for the Soundblaster 64, you got better music from Doom.
I'm sure I used my PC for -something- else in the 90s, but what it
might have been escapes me right now.
However, my problem is that only the dump writer output is working. It
seems that there is a problem playing audio with my VM host. I'm looking
into it now.
*Whew* Yes, it was a problem with the host and the XSID Player is now
working on Linux. But only in 32 bits... I'm sure that there would
be a problem trying 64 bit so I'm not going to at this point.
I have a 32bit Linux (PAE, but shouldn't matter) running here. If all is sorted out please point me to source files and I could try to compile it.
As for MMX I wouldn't worry and just exclude it. Processors should be
fast enough today to not really need that, no? And how long can a
conversion take anyway?
The 32 bit version doesn't seem to work on 64 bit Linux.
I have a 32bit Linux (PAE, but shouldn't matter) running here. If all is
sorted out please point me to source files and I could try to compile it.
I have 32 bit versions working on Linux now. I will upload once we
sort out the last few issues on MacOS. I'd like to refactor and
consolidate the source files into something a little less of a mess,
too.
As for MMX I wouldn't worry and just exclude it. Processors should be
fast enough today to not really need that, no? And how long can a
conversion take anyway?
I'm having to exclude it on Linux and MacOS. The worry is the loss of
some quality in the ReSID resampler affecting playback and WAV dumps.
I personally can't really notice, though.
No need that I do it then. You likely have more experience with compilersproblems.
and coding than I have. Still I offer to have a look into it if there are >
Umm. MMX is - viewed from a distance - something like a
math-co-processor, no? So it just speeds things up. It might just take
[very little time] longer without MMX. But the end product (the MIDI made from a SID) should be the same otherwise.
I'll be attempting to port to 64 bit (x64) shortly.
I'll be attempting to port to 64 bit (x64) shortly.
I'll update the repository shortly. I need a few hours break, first.
On the other hand, it bugs me that it could be a problem, so I'll probably fix it and remove the support for OpenAL on Windows.
Done.
| Sysop: | Winzlo |
|---|---|
| Location: | Minnesota, USA |
| Users: | 11 |
| Nodes: | 16 (0 / 16) |
| Uptime: | 495941:32:36 |
| Calls: | 82 |
| Files: | 1,070 |
| D/L today: |
27 files (11,920K bytes) |
| Messages: | 286,986 |