Archive for the 'mma' Category

recording

1 March 2008

recorded 8 notes (a scale starting on c = 262 Hz), three times each, on the trumpet, plus three times each note both of the toy instruments (piano toy “ptoy” and alligator toy “atoy”). uploaded the recorded sounds to euclid. now i am running a ff network on the recorded trumpet samples.

two notes

28 January 2008

here are results from the same network as the previous post on a recording of two notes being played at the same time.

twonotes.png

training with multiple samples of each note

28 January 2008

i recorded two more samples of each note on the glockenspiel-like instrument, then changed the network so it randomly selects one of the three for each note when generating training patterns. after training on 20000 patterns here are the results for the same scale as before:

better3pat.png

results are much better than before. there don’t seem to be any major “gray areas”. the only problem is that every single note seems to pick up something when just one note is played.

recording real instruments

28 January 2008

i started testing how the network does with recordings that i did of real instruments today. i’m using goldwave to record with a apple pc microphone hooked up to an “iMic” usb sound interface. i did recordings for a glockenspiel-like instrument with four notes. it’s lower-pitched than the old samples i was using, so i brought the inputs back down from 72 to 64. there is some noise in the recording’s background, and i’m using goldwave’s noise reduction function to get rid of most of it. i trained the network for 20000 training patterns, and here is the output of a scale i constructed out of the training pattern notes:

trainersounds.png

here is the same scale, but re-recorded when played on the instrument:

nottrainedsounds.png

it seems to hit the notes, but it also hits a bunch of other stuff that wasn’t being played. (i think the long duration of the second note might actually be correct, since that note was played quite a bit harder than the others.) a way to solve this problem might be recording multiple training patterns for each note, then the network might be able to generalize better.

linear outputs again

25 January 2008

here are the results of training with linear outputs and the same targets values as previously. note that to produce the output i had to adjust the plotrange from {0,-1} to {-1,2}.

betterlinear.png

now seeing the missing note

25 January 2008

when i used the multiplier of 100 (twice the usual 50) i still couldn’t see the missing note. with the multiplier of 1000 it is very clear. the notes do seem to “cut off” faster than when i was using rms, though.

missingno.png

missing note + training length

25 January 2008

did some overnight training using sigmoid outputs with the four-note glockenspiel samples again, and it still is missing that first note… i think the problem might come from training using intensity rather than rms value for the sounds. when i switched seems to be when that first note went missing. i’m currently briefly training the network again with a larger multiplier, so maybe that first note will get noticed this time.

also, i made the training work so that after every 1000 training patterns are applied the network checks its “error” and adds the value to a list. this way i can make a listplot to see how the error evolves over time and at what point further training doesn’t have a significant effect. here are the results from last night’s overnight training:

errorplot.png

linear outputs with trainer limits

24 January 2008

did an overnight test of the network with linear output activation functions and limits on the targets (they were created with the exact same multiplier and limits as the previous working tests with sigmoid outputs) and it still failed to detect that first note, and it seemed to do even worse than some of the other linear output tests i’ve done. here is the output for the scale pattern:

linearlimits.png

note intensity over time

23 January 2008

here are the intensities over time for the four-note glockenspiel samples i’ve been using. the first one is much lower than the others, which could explain why it was not showing up on the linear output node tests.

noteint.png

more slope tests…

23 January 2008

tested slopes of 0.5, 0.05, 0.005, and 0.0005 for the linear output function. 0.05 seems to have done the best this time, reaching the lowest error and not having any problems other than the missing first note. all three other slopes had big problems on the scale (at least one note being “grayed out” in addition to the missing first note) and higher errors.