You are not logged in -
nap
CSDb User Forums
Forums
>
C64 Coding
>
Semi-OT: Help with SID emulator in general audio library
2011-02-12
02:19
jssr67
Account closed
Registered: Jan 2011
Posts: 33
Semi-OT: Help with SID emulator in general audio library
Hello fellow SID fans,
although yet only loosely related through my personal history, I would like to connect my current audio generator project with its ancient roots.
More specific, that would be adapting a SID emulator to the audio library
https://sourceforge.net/projects/soundcomp/
to easily allow creating realistic C64 sounds within soundcomp programs.
Since at the moment, this does not even include realtime considerations, it should be fairly easy for someone that knows the heart of an existing OS emulator. Limiting factor would be that soundcomp is LGPL, so the license of the SID emulation needs to be LGPL compatible. More specifically, pure GPL code is out of discussion then.
I would really like to take the challenge myself, but my spare time is already occupied with the soundcomp framework itself and leaves too little resources for deeply reading into existing emulators' codes, less for writing an own at the moment. So if any coder feels interested in helping out on the emulator, I would be glad if he contacts me, here or on sourceforge.
Happy sidding,
Jan
2011-02-12
08:42
kenchis
Registered: Jan 2008
Posts: 65
Hi jssr67,
i am not that sure what the purpose of your project is,
but if you re looking for a SID emulation, that is open source and LGPL and if java is ok for you,
maybe you should check jsidplay2.
It has a small Test class to demonstrate how easy it can be embedded in other software.
Regards,
Ken
Searching for a SID player, that fits your needs?
http://jsidplay2.sourceforge.net/jsidplay2.jnlp
2011-02-12
14:44
jssr67
Account closed
Registered: Jan 2011
Posts: 33
OK, I will try to look into it, although it is quite a lot of stuff in their CVS repository.
Of course, jsidplay2 does many things that I do not need, so a lot of code would have to be stripped. But maybe, there is a chance to just get a "sample-by-sample" access to the player core in it - that is all that would help.
To give you a better image of what I would like to have: a software black box that has a lot of inputs (maybe the SID register equivalents, or something on a more abstract level, but still representing the sound parameters), a kind of "step one sample forward" clock input and one (or 3?) output(s) for the audio signal.
That is the essence of the interface all SoundComp process elements have, and the only interface SoundComp is currently able to make use of, so any third party library needs to be written an adapter for to get just such a simple interface.
So if anyone knows some SID code that is easily adaptable to that, or feels able and would like to do it, is welcome aboard.
Edit: As far as I can see from looking into the code, the main SIDding code in there is reSID, which is GPL, not LGPL. So I cannot use that in an LGPL environment (and I wonder how jsidplay2 can live with that licensing situation, when it uses reSID code).
2011-02-26
12:09
jssr67
Account closed
Registered: Jan 2011
Posts: 33
Since I see the license problems indicated when using reSID related code in LGPL environment, I started doing it on my own.
Actually, since I do not want to emulate the complete CBM machine, but only the chip itself, I think that a large portion of the existing code is overhead and the chip emulation alone should be fairly simple.
My development version is under
http://soundcomp.svn.sourceforge.net/viewvc/soundcomp/csrc/misc..
but is yet completely untested, since I will write the test when the module is expected to have some more or less useable output. So expect some bugs there still.
There are still some structural improvements to be done, but the signal handling code is only half of this lengthy code - most of it is making it fulfill the interface of the surrounding project.
Two points that I am lost a bit about are:
- waveform "mixing". I implemented something that I would expect to be similar to what happens inside the chip, but I am no NMOS chip specialist. The current "hardware constant" is just a guessed number without any practical relevance, so this will be have to be replaced.
- filter. I can write state variable filters (there are some in the project already) but have no idea on how to map the SID parameters, and less on how the internal distortion would have to be modeled precisely. To be able to do so, I would probably need some measurements on real hardware to compare to.
I read through the describing parts of Antti Lankila's pages and already found out a bit, but I do not want to read into reSID code or his tables not to be lured to copy from GPLed code to my non-GPL-compliant project.
Is there anyone that can supply useful data for this, either because he already has it and can give it under a liberal license (the project is LGPL, with public domain binaries as an escape for platforms that explicitly prohibit open source), or is located very near to Stuttgart/Germany and is willing to let me measure on his gear, or is more remote and willing to measure to my requirements?
Also, Co-Developers welcome (not only for the SID6581 part), should anyone be interested.
Edit: now there is a running JUnit test case that already produces a SID .wav file with emulated SID content. So it is time to complete the algorithms and fix flaws.
Refresh
Subscribe to this thread:
You need to be logged in to post in the forum.
Search the forum:
Search
All forums
C64 Coding
C64 Composing
C64 Pixeling
C64 Productions
CSDb Bug Reports
CSDb Development
CSDb Discussions
CSDb Entries
CSDb Feedback
CSDb Info
CSDb moderators
CSDb Questions
Messages to moderators
Requests
for
in
Writer & text
Text
Writer
All times are CET.
Search CSDb
All
Releases
Groups
Sceners
Events
BBS
SIDs
-------
Forum
Comments
Advanced
Users Online
Brush/Elysium
zscs
ΛΛdZ
Guests online: 95
Top Demos
1
Next Level
(9.7)
2
13:37
(9.7)
3
Mojo
(9.7)
4
Coma Light 13
(9.6)
5
Edge of Disgrace
(9.6)
6
What Is The Matrix 2
(9.6)
7
The Demo Coder
(9.6)
8
Uncensored
(9.6)
9
Comaland 100%
(9.6)
10
Wonderland XIV
(9.6)
Top onefile Demos
1
No Listen
(9.6)
2
Layers
(9.6)
3
Cubic Dream
(9.6)
4
Party Elk 2
(9.6)
5
Copper Booze
(9.6)
6
Dawnfall V1.1
(9.5)
7
Rainbow Connection
(9.5)
8
Onscreen 5k
(9.5)
9
Morph
(9.5)
10
Libertongo
(9.5)
Top Groups
1
Performers
(9.3)
2
Booze Design
(9.3)
3
Oxyron
(9.3)
4
Triad
(9.3)
5
Censor Design
(9.3)
Top Fullscreen Graphicians
1
Joe
(9.7)
2
Sulevi
(9.6)
3
The Sarge
(9.6)
4
Veto
(9.6)
5
Facet
(9.6)
Home
-
Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.044 sec.