Requests/Wishlist

Official support for: photosounder.com
Post Reply New Topic
RELATED
PRODUCTS
Photosounder

Post

In fact, i have a follow up comment/question about this memory allocation thing.

There was a time before, when i wanted to render an image over a long timespan, around 40-50 minutes, & ran into this error. So, i divided up the image into smaller bits, in order to render them separately for shorter durations, but they kind of faded in & out, making it impossible to join them together for a seamless result.

Is this a side-effect of the image-to-sound rendering process, or a deliberate mechanism to make the renders "smooth" rather than beginning & ending abruptly? i, for one, would like the renders to start/end abruptly, without fades; fades in/out can easily be added afterwards.

If this was changed, then it would offer a way around the (very annoying) memory allocation problem, as one could simply render smaller images for shorter durations, & then join them up.

Post

Oh, & while i'm on a roll - how about making the output STEREO? Having worked with the similar program Coagula for several years (which uses pixel colour to allocate left/right channels), it would be lovely if Photosounder could perhaps output the result in stereo rather than horrid ol' mono :(

Post

5against4 wrote:Hmm, okay - it was simple enough to alter the config.txt file... but now i'm immediately getting "Cannot Allocate More Memory" errors. i have 3Gb of RAM, & i'm regularly working with massive sound files (typically over a Gb in size) & have never run into memory errors - so how come Photosounder can't cope with this? Is there a way of resolving this easily? HELP!
That's because if you open a sound that's 1 GB, I assume that's a sound about 100 minutes long? Well with a 100 minutes long sound Photosounder will try to generate images of dimensions 600,000 x 571 px (with the default parameters), which is an image about 200 meters wide at screen resolution. Remember, to the core Photosounder really is an image editor that just happens to read sounds and make sounds.

I'm not sure what you'd want to do with an audio file of over an hour loaded in Photosounder, but it's not meant for that. Just checking, you do mean that it's crashing when you load one such sound in Photosounder, right?
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post

5against4 wrote:In fact, i have a follow up comment/question about this memory allocation thing.

There was a time before, when i wanted to render an image over a long timespan, around 40-50 minutes, & ran into this error. So, i divided up the image into smaller bits, in order to render them separately for shorter durations, but they kind of faded in & out, making it impossible to join them together for a seamless result.

Is this a side-effect of the image-to-sound rendering process, or a deliberate mechanism to make the renders "smooth" rather than beginning & ending abruptly? i, for one, would like the renders to start/end abruptly, without fades; fades in/out can easily be added afterwards.

If this was changed, then it would offer a way around the (very annoying) memory allocation problem, as one could simply render smaller images for shorter durations, & then join them up.
The "fading" is actually an interpolation with black. The complete fading would last for 1.5 pixels on either side.

Do you run version 1.7.3? Because in this version I broke up the sound buffer in blocks of 10 MB so that there wouldn't be this problem with extreme time stretching (because then the sound buffer would become by far the biggest buffer (a few hundred MB) and well you'd have a tough time allocating a single such buffer in a 4 GB address space, due to fragmentation).

Can you give more general details about what you're trying to do? You also said you want stereo sound. What kind of 'stereoness' do you want?
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post

A_SN wrote:That's because if you open a sound that's 1 GB, I assume that's a sound about 100 minutes long? Well with a 100 minutes long sound Photosounder will try to generate images of dimensions 600,000 x 571 px (with the default parameters), which is an image about 200 meters wide at screen resolution. Remember, to the core Photosounder really is an image editor that just happens to read sounds and make sounds.

I'm not sure what you'd want to do with an audio file of over an hour loaded in Photosounder, but it's not meant for that. Just checking, you do mean that it's crashing when you load one such sound in Photosounder, right?
Sorry, i wasn't clear. i mean i'm regularly working with very large sound files in other software, & those files are often well over a Gb in size. That's why i was surprised that Photosounder had memory issues when working with larger durations. After all, if it's possible to play the result back, why can't it save it?

In this particular case, i think it was the switch to 96kHz that was causing the problem, as the duration was only around 32 minutes, but a few months back i attempted a 40-minute render of an image (at the standard 44.1kHz) & it generated the result, would happily play it back, but any attempt to save produced the Memory Allocation error & Photosounder promptly closed.

So i guess my question is simply this: if it can both produce the render, & play it back successfully, why can't it then save it?

Post

5against4 wrote:Sorry, i wasn't clear. i mean i'm regularly working with very large sound files in other software, & those files are often well over a Gb in size. That's why i was surprised that Photosounder had memory issues when working with larger durations. After all, if it's possible to play the result back, why can't it save it?

In this particular case, i think it was the switch to 96kHz that was causing the problem, as the duration was only around 32 minutes, but a few months back i attempted a 40-minute render of an image (at the standard 44.1kHz) & it generated the result, would happily play it back, but any attempt to save produced the Memory Allocation error & Photosounder promptly closed.

So i guess my question is simply this: if it can both produce the render, & play it back successfully, why can't it then save it?
Ah, it crashes when saving? The problem you encounter in your case is that when saving it tries to create a copy of the sound buffer with the purpose to normalise it, and then save the whole thing at once. That's actually a pretty dumb way to do it, when I could do the same just with smaller chunks.

I'll make sure to fix that asap and send it to you as soon as it's fixed, probably today.

EDIT : Done. I'll PM you a download link.
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post

A_SN wrote:Ah, it crashes when saving? The problem you encounter in your case is that when saving it tries to create a copy of the sound buffer with the purpose to normalise it, and then save the whole thing at once. That's actually a pretty dumb way to do it, when I could do the same just with smaller chunks.

I'll make sure to fix that asap and send it to you as soon as it's fixed, probably today.

EDIT : Done. I'll PM you a download link.
Wow! That now works absolutely perfectly! i just tried a render of around 43 minutes, at 96kHz, & it saved it without any problems :)

Not only that, it's 32-bit floating point as well!!

You work fast, don't you?! Thank you ever so much, fantastic work!

Post

A_SN wrote:Alternative method of turning knobs
I can add it pretty soon.
+1. Up/down and/or left/right turns the knob from lowest to highest. Would love to have. :)

Post

I have been planning out a project almost identical to Photosounder for a few months now without any knowledge of its existence. I actually just discovered Photosounder today, and I am shocked to find that its implementation is eerily similar to the design I had in mind, both in features and layout.

Now I wonder whether or not mine is even a worthwhile endeavor. I'm really torn, because I am quite passionate about the concept of painting sound in the frequency domain, but I feel like I desire a level of precision and fine-tuning that might not be within the scope of Photosounder's goals. Then again, it would seem such a waste to spend hundreds, possibly thousands of hours of my life writing a program that would ultimately be a slightly different take on a previously existing and quite polished program.

So, I'm just going to throw a couple of ideas that came to me during the planning stages of my own project. If you can find the time, I would really like to hear what you think about these.


1. I would argue that the most integral part of any drawing application is support for pressure-sensitive pointing devices. I don't actually know if there is support for this in Photosounder, but if there is, it was not made immediately obvious. (At least I hope it wasn't, or I am going to feel very silly) I also don't have a tablet on hand, so I can't really test for myself.

2. I haven't had the chance to explore Photosounder as much as I might like, but the harmonic drawing brush modifier doesn't seem to be very customizable. I had planned to solve this in my own version by allowing users to enter mathematical expressions into a text box. These could be evaluated and used to determine the spacings of the harmonics of a sound. In addition, these could be modulated by a decay factor, brush pressure, or any number of factors in order to dynamically modulate the harmonics of the brush during brush strokes.

3. Mathematical evaluators EVERYWHERE. I had planned on making everything from brush decay, to pressure, to harmonic decay customizable via mathematical expressions. This would cut down on the number of fancy GUI boxes I had to design, and it would allow for an incredible level of customizability. I suppose the usefulness of these for some things would be questionable, but it would be neat to be able to make the drawing amplitude a fading sine wave based on tablet pressure, attack and decay. Things like that interest me.

4. I think it would be really helpful to be able to design brushes using bezier curves. Straight, vertical brushes make a whole lot of sense, especially if you're using some sort of amplitude envelope system for drawing. This way you could specify the frequency or note width of a brush, and then you could manually shape how "noisy" it was/is and where those spots are at.


These are just a couple ideas that have come to mind. I would really like to hear your thoughts on these, and if you have/will consider adding any of these as features in the future. A customizable spectral painting application would be an invaluable tool for sound design and experimental music, both things that interest me greatly.

Post

almosthuman wrote:I have been planning out a project almost identical to Photosounder for a few months now without any knowledge of its existence. I actually just discovered Photosounder today, and I am shocked to find that its implementation is eerily similar to the design I had in mind, both in features and layout.

Now I wonder whether or not mine is even a worthwhile endeavor. I'm really torn, because I am quite passionate about the concept of painting sound in the frequency domain, but I feel like I desire a level of precision and fine-tuning that might not be within the scope of Photosounder's goals. Then again, it would seem such a waste to spend hundreds, possibly thousands of hours of my life writing a program that would ultimately be a slightly different take on a previously existing and quite polished program.

So, I'm just going to throw a couple of ideas that came to me during the planning stages of my own project. If you can find the time, I would really like to hear what you think about these.


1. I would argue that the most integral part of any drawing application is support for pressure-sensitive pointing devices. I don't actually know if there is support for this in Photosounder, but if there is, it was not made immediately obvious. (At least I hope it wasn't, or I am going to feel very silly) I also don't have a tablet on hand, so I can't really test for myself.

2. I haven't had the chance to explore Photosounder as much as I might like, but the harmonic drawing brush modifier doesn't seem to be very customizable. I had planned to solve this in my own version by allowing users to enter mathematical expressions into a text box. These could be evaluated and used to determine the spacings of the harmonics of a sound. In addition, these could be modulated by a decay factor, brush pressure, or any number of factors in order to dynamically modulate the harmonics of the brush during brush strokes.

3. Mathematical evaluators EVERYWHERE. I had planned on making everything from brush decay, to pressure, to harmonic decay customizable via mathematical expressions. This would cut down on the number of fancy GUI boxes I had to design, and it would allow for an incredible level of customizability. I suppose the usefulness of these for some things would be questionable, but it would be neat to be able to make the drawing amplitude a fading sine wave based on tablet pressure, attack and decay. Things like that interest me.

4. I think it would be really helpful to be able to design brushes using bezier curves. Straight, vertical brushes make a whole lot of sense, especially if you're using some sort of amplitude envelope system for drawing. This way you could specify the frequency or note width of a brush, and then you could manually shape how "noisy" it was/is and where those spots are at.


These are just a couple ideas that have come to mind. I would really like to hear your thoughts on these, and if you have/will consider adding any of these as features in the future. A customizable spectral painting application would be an invaluable tool for sound design and experimental music.
1. Someone asked me this, and it wouldn't be hard to do as SDL (which Photosounder uses for input) supports this, however I don't have a tablet myself so I can't try it. However I know someone who has a tablet and told me using Photosounder with a tablet is absolutely great, so I might look into that.

2. That doesn't really make sense to try other mathematical expressions for the spacing of overtones if that's what you mean. Besides, I don't like the idea of incorporating something too heavily mathematical on the user end. I'm sure that as a programmer you wouldn't mind but I think that for something designed for artists it's better to use something that makes more sense. So here's it's gonna work: I was planning to implement that in the last release but ran out of time to do it right, but essentially you'll have new "blending modes" that will allow you to convolve a layer with another, either a 2D convolution, or a vertical or horizontal only convolution (for example each row of a layer would be convolved with the matching row of the other layer).

This way using convolution you could on a layer create your harmonics by making each point wherever you'd like them to be and so on, and on your other layer(s) you'd draw single lines, and the result of the convolution would be the same lines with the harmonics propagated according to the harmonics layer. When you think about it it's a great idea, and there's no maths involved on the user's end. And I like to keep things visual.

3. Well.. you've still got layers. You can do an awful lot with the various blending modes (which are all simple mathematical operations) and operations such as horizontal or vertical averaging.

4. It's in my plans to eventually make a curve editor (based on cubic b-splines and plain straight lines) to create a 'gradient' according to the curve either horizontally or vertically. Combine that with the convolution things as described in point number 2 and you've got yourself your brushes. However it might take me some time to get that done, but in the meantime I do the equivalent of that by drawing things on a layer and using either vertical or horizontal averaging on the layer.

For example, let's say I made some noise on Layer 0, but I don't like its envelope. So I duplicate Layer 0, vertical average it and set the blending mode to Division as to flatten the envelope. Then I create a new layer and draw some kind of triangle. Now that doesn't necessarily make sense why I'd draw a triangle, but when I do a vertical average on it you can see what the waveform or it looks like, and so I set its blending mode to Multiply as to make it be the new envelope of the sound on Layer 0.

Also since apparently you're more interested in trying slightly different things with my program rather than doing something radically different, you'll be probably interested in hearing the following. I'm working on a plain text protocol for Photosounder that could be used both as an archive format and as a scripting format, and ultimately you'll be able to connect through TCP/IP to Photosounder and send commands and order data to be sent. What it means is that basically you'll be able to make your own program that will talk to Photosounder and you could feed it things to do and transmit data back and forth. That would mean that you could do anything Photosounder can't do on your side with your own program and leave the rest (i.e. the processing and perhaps some functions you wouldn't need to reimplement) to Photosounder.

Edit: Also, it would be interesting if you've got anything from your idea from before you learnt about Photosounder, like any interface sketches or whatever, to see how it compares ;).
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post

A_SN wrote:I'm working on a plain text protocol for Photosounder that could be used both as an archive format and as a scripting format, and ultimately you'll be able to connect through TCP/IP to Photosounder and send commands and order data to be sent. What it means is that basically you'll be able to make your own program that will talk to Photosounder and you could feed it things to do and transmit data back and forth. That would mean that you could do anything Photosounder can't do on your side with your own program and leave the rest (i.e. the processing and perhaps some functions you wouldn't need to reimplement) to Photosounder.
:-o :-o
This would be perfect locally also!!
Please do :D
Image
stay juicy!

Post

a magic wand lasso tpye selector for selecting certain frequencey ranges or harmonica related ranges

Post

VariKusBrainZ wrote:a magic wand lasso tpye selector for selecting certain frequencey ranges or harmonica related ranges
How would a magic wand or a lasso work there? Automatically detect what in the image belongs with what you just clicked? I doubt it would sound satisfactory though..

Also, harmonica? Like the instrument?
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post

A_SN wrote: Also, harmonica? Like the instrument?
The gentleman was probably looking for the word 'harmonically'?

/Joachim
If it were easy, anybody could do it!

Post

Spitfire31 wrote:
A_SN wrote: Also, harmonica? Like the instrument?
The gentleman was probably looking for the word 'harmonically'?

/Joachim
Ah now that makes more sense. Well, probably the best way to do something like this with the program as it is is to use the dark spray with the harmonics modifier on, darken all that needs to be "selected" and to do a Mask Invert.
Developer of Photosounder (a spectral editor/synth), SplineEQ and Spiral

Post Reply

Return to “Photosounder”