Mx.Samples

Looks good! I have a few others ready to share, and a couple that need to be converted from mono to stereo.

I’m also fiddling with a version of convert.py to handle arbitrary batches of samples, which has me wondering about the dynamics. If it were possible to give a specific velocity value (or range), would that be preferable? Or does the current setup have a particular benefit?

1 Like

there isnt a way to give a specific velocity range in the sample naming. this would be a simple thing to add to the script though - basically two parameters, one for “min vel” and one for “max vel”. current the dynamics work by just splitting the velocity into zones based on dynamics which is the number that specifies how many dynamics there are. I’m open to other ideas for how this could work though!

This has been a whole lot of fun today when used with the version of Awake which uses MX.Samples - really gets into some interesting percussion patterns!

2 Likes

I think I’m going to do something simpler/rougher to start, but am I right to think that velocity and dB level are related? If so, I could try that if something fancier seems useful in the future. I know that changing the filename convention would require other changes in the script, so I’m going to try to avoid that sort of thing for now.

1 Like

This is amazing- especially with recent scripts like o-o-o; thank you so much!
One thing, it took me a while to figure out where to get the samples and where to put them. Maybe something to put in the opening post? :slight_smile:

3 Likes

v1.4.1

  • ux: updated the internal reverb to be a less pitch shifty

note: this requires a restart

yeah thats a good idea!

yes, but at the sample level. there is a setting to also change the dB based on velocity during the playback but if its already set in the sample it gets redundant and could cause overly loud or too soft playback. I guess the best thing to do might be to have a check to see if there are different dynamics available and if so, resort to the sample playback, and if not, scale based on the velocity.

edit…right on the heels of 1.4.1:

v1.4.2 - more samples!

  • bug fix: fixed engine calls for spirals
  • @stvnrlly added more instruments, lots of guitars

new instruments:

  • asat classic clean
  • clarinet (short and sustained)
  • fender strat (excellent with delay+reverb!)
  • hohner guitaret
  • marimba
  • banjo
  • raindrop c40 guitar
  • trembling radiator (w/ and w/o ebow)

thank you @stvnrlly!!

14 Likes

Hi Everyone,

I am just about to update my old installation of Mx.Samples from earlier this year. What is the approximate size of the included instruments now, if I decide to install them all? In addition, what would be the easiest way to do this - delete and reinstall the app entirely?

Thanks!

1 Like

if you download them all it will be a few gigabytes I think…

to delete and reinstall -

os.execute("cd ~/dust/code; rm -rf mx.samples")
;install https://github.com/schollz/mx.samples
1 Like

Excellent - thank you!

1 Like

is there a way to do a “download all” samples? Or download missing in case I already have some.

5 Likes

Hey hey! Surprise! new samples added again :slight_smile:

2 Likes

really appreciate you adding more sounds to this

3 Likes

v1.4.3 - more samples!

  • bug fix: sustain pedal
  • ux: add velocity sensitivity
  • new instruments!

thanks to @stvnrlly there are a host of new instruments:

  • 12 string piano
  • harmonium
  • guitars (blackhole, ebow, epiphone, steel string, telecaster)
  • glockenspiel
  • melodica
  • organ

sorry, there is not…but you can use the script to download them one by one. there is a “get?” next to the ones that haven’t been downloaded.

15 Likes

Such bounty (in 20 characters, no less!)

1 Like

Not to be confused with the 88 string guitar?! :rofl:

11 Likes

Thanks for all the new instruments! Some great sounding ones.

I’m getting some stuck note issues but I haven’t troubleshooted at all, will post anything I learn here. Might just be human error / my midi controller

spent the afternoon digging into this and tmi and I have to thank you for such wonderful creations!! I found a few intriguing packs on pianobook that I am dying to try out!

https://www.pianobook.co.uk/packs/cs-700-brass/
https://www.pianobook.co.uk/packs/modular-fm-bell/

3 Likes

I was able to convert the FM bell one, but unfortunately the CS-700 one looks like one of the packs with encrypted samples. (@infinitedigits the .zip is in the same folder as before)

Relatedly, for those comfortable on the command line, I put together a little script that can convert a good chunk of Pianobook sample packs automatically. If anybody wants to try the script and/or help make it less hacky, it’s in a pull request here.

3 Likes

mx.samples turned 1 year old last week. I’ve been reflecting on it and realized that it can be kinda “improved” in a way - so v1 might soon become v2.

currently, in v1, when a sample has multiple dynamics, mx.samples will choose one sample based on the current velocity and use that. I realized an “improved” way (in upcoming v2) would be to choose two samples at different dynamics and interpolate between them based on on the current velocity. obviously, the amount of “improvement” depends on how you think of velocity sensitivity…but I started prototyping it and I like it. at least it gives the ability to have more options. (this “two-sample” interpolation maybe a standard thing but I naively just started playing with it a few months ago and implemented in newer engines like lorenzo’s drums).

at the same time I realized that in v2 I can do more code in supercollider instead of lua - which doesn’t matter much from a user perspective - except that it will compartmentalize each instrument so multiple instruments can have their own sustain pedals (which wasn’t an option before).

so this new version will be v2 because v1 might still sound “better” to some people and I’d like to keep it available. the v2 definitely will change the sound (subtly) and it might also have the drawback of fewer simultaneous voices (since each voice is now playing back two samples). thought that might not be so drastic after putting in some optimizations.

anyways - I am putting this out there to gauge: does anyone has some interest in features they’d like in mx.samples that maybe couldn’t fit into the current version? since v2 is essentially built from scratch it might be easier to add things in now as it gets off the ground.

(if your curious and daring, here is the v2 repo: GitHub - schollz/mx.samples2)

25 Likes

The ability to adjust the stereo width

1 Like