CAE_Jones, actually that's what I'm working on now. In the process of breaking up the scene, it would have the background as a series of individual shapes, but I'm in the process of making it realize they are all a part of the same larger thing. Once I get that working, it would then reconnect those background pieces. Letting the user adjust contrast is a good idea, but I don't think I explained what I'm doing well enough. What I'm attempting to do isn't the same as the edge enhancement, or even contrast settings, on the seeingwithsound program. On both of those examples, the seeingwithsound program simply adjusts the contrast of the image or brightens any lines it believes are edge lines. In the end, however, it is still up to the user to identify the scene. That extra contrast, or brighter edges, is hopefully a help to the user, but it is still just trying to help them find the important objects themselves.
What I'm trying to do is make the software smart enough to do that whole step for the person. This example might help. If I turn myself to look at my sofa, the fabric has its own pattern to it. There is wood trim around the front arm rests, a white wall behind it, and a piece of paper resting on one of the cushions. If the program were only to separate shapes, it would have several shapes just on the sofa alone, probably 1 for the paper, a few for the wood trim, and 1 or 2 for the wall. Lets just assume we have 12 different shapes in the scene, where only 1 is the paper, and most are the sofa itself. Normal contrast adjustments or edge detection would only help me identify all 12 shapes, that's all it can do, so I'm still left wondering which are important to me. If I can get it to work as I plan, my program would first connect the few wall pieces since it understands they are actually the same thing. Out of the several sofa pieces, some could connect, but most won't because the pattern appears different depending on where you're looking and there's no easy way for a computer to realize they are all the same object. Instead, my program realizes that the patterned sofa pieces contrast with each other, but not as much as they contrast with the wall, wooden trim, or the piece of white paper on the cushion. Because of that, those pieces are given a lower score. The highest score goes to the piece of paper, since white paper on a generally dark blue sofa really contrasts. The wall gets a good score as well, since it clearly contrasts well with the sofa, but it also loses some points because the wall was composed of 2 pieces, and the more similar pieces exist, the lower the score. This is why the sofa gets an even lower score. If the wall differs greatly from the sofa, you'd expect the sofa to differ just as greatly from the wall, but the sofa is composed of more "like" pieces and gets a lower score. The wood trim stands out a little, but brown on dark blue isn't super different. In the end, the program throws out many of those original 12 pieces. You'd be left with 5 pieces ranked in order of score. As the sounds are quickly cycled through, first you'd be presented with the paper, second you'd hear the wall, then the wood trim, and finally 1 or 2 pieces that were both in fact the sofa. Odds are, those 2 sofa pieces would represent each half, or perhaps they'd represent the top of the sofa verses the bottom. Either way, you'd be left with very few things to hear, and they would already be ordered from most important, to least important. There would be some problems, like your intention could have been to focus on the wood trim which seemed less important to the computer. Even when that happens, the trim is still there, it just isn't what should jump out at you when you first turn to look at the sofa. Just like with a sighted person, the very first thing that should grab your attention is the white piece of paper on the dark blue sofa. Most things in this world are designed so that sighted people will notice the important things fast and easily. By attempting to recreate that order of importance, I'm hoping it will make this program perform better in real life.
I assumed you were using a synth, but I wasn't sure. I started to wonder if you were coding up your own seeing with sound type program, and I was going to say I was Very! impressed! You seemed to be making huge amounts of progress in almost no time, haha! The synth is a great way to test sound combination, and its good knowing I'm not the only person trying to figure out which sounds will work best.
- Aprone
Please try out my games and programs:
Aprone's software