World: r3wp
[Sound] discussion about sound and audio implementation in REBOL
older newer | first last |
amacleod 16-Mar-2009 [160x2] | You can no longer save in .wav |
wma only | |
Maxim 16-Mar-2009 [162] | oh, for the little mic recorder? |
amacleod 16-Mar-2009 [163] | yes |
Maxim 16-Mar-2009 [164x2] | such a bunch of idiots. I removed Vista... after it corrupted itself on bootup. |
last month... after more than a year of using it. | |
amacleod 16-Mar-2009 [166] | I read that you could start it from teh command line and get it save in .wav but I could not get it to work.. THere are a lot of annyoing things about vista...but I have it on my wife's laptop and I'm forced to use it now and again.. |
Maxim 16-Mar-2009 [167] | did you try using audigy? |
amacleod 16-Mar-2009 [168] | no I'll have a look.. |
Maxim 16-Mar-2009 [169x2] | its the best freeware multi platform recording/editing software |
doesn't even need an install :-) and it works the same on mac and linux. | |
amacleod 16-Mar-2009 [171x3] | thanks |
I do not see it..keep getting references to a sound blaster card.. | |
Is there a web site? or an other name? | |
Maxim 16-Mar-2009 [174] | doh... its audacity... stupid me. |
amacleod 16-Mar-2009 [175x4] | got it thanks |
Maxim, It works...Thank you very much! | |
How can you test if the sound port is already open? | |
Never mind just used an "if error? try [" statement.. | |
Anton 19-Apr-2009 [179] | ICarii, I just quickly tried your synth2.r. It plays the song here on Linux, and matches the score. I wonder, though, how you are going to scale the program. Rebol's sound port is currently underpowered, and Rebol isn't fast at number crunching which is necessary for audio work. I don't like the idea of waiting for hours for a full song to render.. I would be looking for an audio processing system to hook into rebol. |
ICarii 19-Apr-2009 [180x2] | im going to port it to R3 tomorrow and rely on Call to play sounds |
but yes it is horribly slow. | |
Anton 19-Apr-2009 [182] | Well, I've been fiddling with Tiny C Compiler - maybe it can eventually be used for fast crunching. |
ICarii 19-Apr-2009 [183x5] | R3 build-song speed (without optimization) plus write to disk is 1810ms vs R2 of 2862ms. So even without optimizing in R3 there is a large difference in performance. |
added an interpolate function for dual channel sound and works fine :) still slow on initial build though :( interpolate: func [series1 series2 chunksize /local ts1 ts2 c][ ts1: copy series1 ts2: copy series2 c: copy #{} forall ts1 [ insert tail c copy/part ts1 chunksize insert tail c copy/part at ts2 index? ts1 chunksize take/part ts1 chunksize - 1 ] c ] | |
hmm that works with the take/part in the forall but: loop chunksize - 1 [next ts1] may be safer? | |
ahh.. i should have used forskip .. never used that before | |
interpolate: func [series1 series2 chunksize /local ts1 ts2 c][ ts1: copy series1 ts2: copy series2 c: copy #{} forskip ts1 chunksize [ insert tail c copy/part ts1 chunksize insert tail c copy/part at ts2 index? ts1 chunksize ] ] | |
Dockimbel 19-Apr-2009 [188] | Try with : interpolate: func [series1 series2 chunksize /local ts1 ts2 c][ ts1: copy series1 ts2: copy series2 c: copy #{} forskip ts1 chunksize [ insert/part tail c ts1 chunksize insert/part tail c at ts2 index? ts1 chunksize ] ] Why do you copy the 2 series? It's not required here, you're not modifying them. You should also pre-allocate the 'c buffer : c: make binary! <max-size>. |
ICarii 19-Apr-2009 [189x2] | ahh thx - re copy - that was an artifact from the first iteration of the function where i was using take in a loop. |
next on the list of todo's is to separate top and bottom notes and timings and add in rests. | |
Dockimbel 20-Apr-2009 [191] | Just tried synth2.r, nice work by the way. |
ICarii 20-Apr-2009 [192] | :) its getting there slowly - i really need to look at ADSR envelopes so 16bit samples dont sound so horrid :) |
Rebolek 20-Apr-2009 [193x2] | ICarii, have a look at my PM-101 http://www.rebol.org/view-script.r?script=pm-101.r |
I use 8-point free envelope there (ADSR can be easily emulated using just 3 points), maybe it will be of some use for you | |
ICarii 20-Apr-2009 [195] | will do :) ive been looking at using piano waveforms but they require too much number crunching for rebol :( |
Rebolek 20-Apr-2009 [196] | I was compiling the math functions to C and the result was about 5-10x faster (not optimalized), but I cannot find that code right now. |
ICarii 20-Apr-2009 [197] | pm-101 reminds me of an aircraft console ;) once it stops scaring me ill look more closely :) |
Rebolek 20-Apr-2009 [198] | hehe :) |
ICarii 20-Apr-2009 [199] | i was thinking of prebuilding and saving envelope shapes and modifying the tone like a mask |
Rebolek 20-Apr-2009 [200x3] | I was also working on tracker-like program (not published). I had a simple format for notes there that was similar to sequencers - I was using tuple! for timing information, it may be better than having two blocks, one for notes and one for timing. |
so it looked like 1.1.1.1 C1 0.0.1.0 1.1.2.1 D1 0.0.1.0 etc | |
I think it was used in my demo pitch.green for Rebol demo contest | |
ICarii 20-Apr-2009 [203x2] | i intend to fully reproduce sheet music so the format is still a little in teh air at the moment |
the next version of synth is using a top/bottom stave block with separate timings | |
Rebolek 20-Apr-2009 [205] | Ah, OK |
ICarii 20-Apr-2009 [206x2] | i am also trying to make the R3 conversion as simple as possible by keeping most of it generic |
its taking me a little longer than i thought as im having to learn acoustic physics :P | |
Rebolek 20-Apr-2009 [208] | Yes it's better to have the generator totally separated from the UI. |
ICarii 20-Apr-2009 [209] | yes - i have an R3 synth version now that can build the wav files in the same manner as R2 |
older newer | first last |