Floris Lamers

Pianist | Composer | Arranger

About Me

Hello! I’m a Netherlands-based pianist and composer with a deep appreciation for jazz and classical music. After graduating from conservatory, I embraced every musical opportunity that came my way. I spent years playing countless gigs, backing jazz singers, composing for string quartets and big bands, teaching piano, and producing music for online content.

A few years before the global pandemic, I decided to switch gears and pursue a professional career in a different field. Music, once the core of my existence, became a cherished hobby. The demands of my new career and the arrival of my two wonderful children shifted my focus away from the piano.

That focus has now returned. I’ve reopened this creative outlet and am diving back into the world of music. Join me as I explore new compositions, record them late in the evening, and share the stories behind my music.

How I approach music

At the moment I’m writing and recording the music that keeps pulling me back to the piano: original pieces, jazz transcriptions, classical works, small experiments with accordion and strings, and the occasional bit of piano tinkering.

In my music, I take an academic approach, challenging myself to always incorporate something musically interesting. It should please the ear while offering something for the mind, if you feel like diving in. At times, my compositions lean more toward classical music, at other times toward jazz, and occasionally lands somewhere in between. Join me on my music creating journey, as I capture and share it here.

Subscribe!

And stay updated on my latest activities

var rm_pre_data = {"ajax_url":"https://florislamers.com/wp-admin/admin-ajax.php", "rm_nonce_field":"7a28323c16"};jQuery.fn.bindFirst = function(name, fn) { // bind as you normally would // don't want to miss out on any jQuery magic this.on(name, fn); var events = this.data('events') || jQuery._data(this[0], 'events'); var handlers = events[name]; // take out the handler we just inserted from the end var handler = handlers.splice(handlers.length - 1)[0]; // move it at the beginning handlers.splice(0, 0, handler); }; //Rainmaker var Rainmaker = function() {} Rainmaker.prototype = { init : function(form){ // var that = form; if(jQuery(form).closest('.rainmaker_form').length < 1) return; if(jQuery(form).closest('.rainmaker_form').hasClass('rm_init_done') ) return; if(jQuery(form).find('.rm_required_field, .ig_form_required_field').length < 1){ jQuery(form).append('
'); } jQuery(form).closest('.rainmaker_form').addClass(jQuery(form).closest('.rainmaker_form').data('type') || ''); jQuery(form).bindFirst('submit', function(e){ window.rainmaker.addLead(e, jQuery(e.target)); }); // submit Event jQuery(form).closest('.rainmaker_form').addClass('rm_init_done'); }, addLead : function(e, form, icg_msg){ var form = form || undefined; if(typeof(form) !== 'undefined'){ if(jQuery(form).closest('.rainmaker_form').length 0; if(!jQuery(fm_parent).hasClass('rm_custom') || (!jQuery(form).attr('action') && !mc4wpform) ){ e.preventDefault(); } if(jQuery(form).find('.rm_required_field').val() || jQuery(form).find('.ig_form_required_field').val()){ jQuery(fm_parent).find('.rm-loader').hide(); form.slideUp("slow"); jQuery(fm_parent).find('div.rm_form_message').show(); return; } var formData = {}; var formData = window.rainmaker.prepareFormData(e, form, icg_msg, formData); action = rm_pre_data.ajax_url + '?action=rm_rainmaker_add_lead'; jQuery(form).trigger( 'add_lead.rm', [formData] ); jQuery.ajax({ type: 'POST', url: action, data: formData, dataType: 'json', success: function(response){ if(response && typeof response.error !== 'undefined' && response.error !== ""){ jQuery(fm_parent).find('.rm-loader').hide(); jQuery(fm_parent).find('div.rm_form_error_message').text(response.error).show(); jQuery(window).trigger('error.rm', [form, response]); } else if(response && typeof response.success !== 'undefined'){ jQuery(form)[0].reset(); jQuery(form).trigger('success.rm', [form, response]); jQuery(fm_parent).find('.rm-loader').hide(); //TODO :: Later Move this in success callback form_message = jQuery(fm_parent).next('div.rm_form_message').html(); if( typeof form_message !== 'undefined' && form_message.trim() !== ''){ jQuery(fm_parent).slideUp("slow"); jQuery(fm_parent).next('div.rm_form_message').show(); // jQuery(fm_parent).next().next('div.rm_form_error_message').hide(); } //TODO :: Later Move this in success callback var redirection_url = response.redirection_url || ''; redirection_url = redirection_url.trim(); if (typeof(redirection_url) === 'string' && redirection_url != '') { if (!/^https?:\/\//i.test(redirection_url) ) { redirection_url = "http://"+redirection_url; } setTimeout(function(){ window.location.href = redirection_url; }, 200); } }else{ jQuery(fm_parent).find('.rm-loader').hide(); } }, error: function(err){ jQuery(fm_parent).find('.rm-loader').hide(); console.log(err); }, }); } }, prepareFormData: function (e, form, icg_msg, formData){ jQuery.each((jQuery(form).serializeArray() || {}), function(i, field){ formData['rmfpx_'+ field.name] = field.value; }); formData['rmfpx_added'] = true; formData['rmfpx_rm_nonce_field'] = rm_pre_data.rm_nonce_field; formData['rmfpx_rm_form-id'] = jQuery(form.closest('.rainmaker_form')).data('form-id'); // Send Icegram Data To Rainmaker if(typeof icegram !== 'undefined'){ formData['rmfpx_ig_mode'] = icegram.mode; formData['rmfpx_ig_remote_url'] = window.location.href; if(typeof icg_msg === 'undefined'){ var msg_id = (jQuery(form.closest('[id^=icegram_message_]') || {}).attr('id') || '').split('_').pop() || 0 ; icg_msg = icegram.get_message_by_id(msg_id) || {}; } if(typeof icg_msg.data !== 'undefined'){ formData['rmfpx_ig_message_id'] = icg_msg.data.id; formData['rmfpx_ig_campaign_id'] = icg_msg.data.campaign_id; } } return formData; }, }; if(typeof window.rainmaker === 'undefined'){ window.rainmaker = new Rainmaker(); } jQuery(document).ready(function(){ jQuery('.rainmaker_form form').each(function(i, v){ window.rainmaker.init(v); }); }); // Start : For Icegram Compatibility jQuery( window ).on( "init.icegram", function(e, ig) { // Find and init all RM forms within Icegram messages/divs if(typeof ig !== 'undefined' && typeof ig.messages !== 'undefined' ){ jQuery.each(ig.messages, function(i, msg){ var forms = jQuery(msg.el).find('.rainmaker_form form'); forms.each(function(i, form){ if(!jQuery(form).hasClass('rm_init_done')){ window.rainmaker.init(form); jQuery(form).addClass('rm_init_done'); } }); }); } }); // init.icegram //Handle CTA function(s) after successful submission of form jQuery( window ).off('success.rm'); jQuery( window ).on('success.rm', function(e, form, response) { if( typeof icegram !== 'undefined'){ var msg_id = ((jQuery(e.target).closest('[id^=icegram_message_]') || {}).attr('id') || '').split('_').pop() || 0 ; var msg = icegram.get_message_by_id(msg_id) || undefined; if(typeof msg !== 'undefined'){ //TODO:: test this for contact form. // if(msg.data.cta === 'form_via_ajax' && msg.el.find('.rm_subscription').length > 0){ if(msg.data.cta === 'form_via_ajax' && msg.el.find('.rm_subscription, .rm_contact').length > 0){ // TODO::test this , causing duplicate messages msg.el.trigger('form_success.ig_cta', [msg]); } else if(msg.data.cta === 'form' || !msg.data.cta){ if(msg.data.use_form == undefined){ msg.data.response_text = ''; } response_text = '
'+ (msg.data.response_text || msg.el.find('.rm_form_message').html() || '') +'
'; msg.el.find('.ig_form_container, .ig_message, .ig_headline').hide(); var appendTo = msg.el.filter('.ig_container'); if(jQuery.inArray(msg.data.type, ['interstitial', 'messenger']) !== -1){ appendTo = msg.el.find('.ig_message'); appendTo.show(); msg.el.find('.ig_headline').text('').show(); }else if(msg.data.type === 'tab'){ //TODO :: hide is not working appendTo = msg.el.find('.ig_data'); msg.el.find('.ig_headline').show(); } try{ appendTo.append(response_text); }catch(err){ console.log(err); } } } } }); //success.rm // addLead on IG-CTA form submit event jQuery(window).off('form_submit.ig_cta'); jQuery(window).on('form_submit.ig_cta', window.rainmaker.addLead);

Occasional piano notes, recordings, and behind-the-scenes updates — no more than 4 emails a year.

My recent stories

What have I been up to lately?
  • All
  • Blog
  • Classical
  • Jazz
  • Neoclassical
  • Original work
  • Piano Tech
  • Pop
  • Published
  • Unpublished
Artwork for Scarlatti Sonata L.33 K.87 piano post

Classical Appreciation Post! This time Scarlatti’s Sonata in B minor (L.33) — a jewel of four-part counterpoint. I still remember...

Load More

End of Content.

What's here?

On this website you will find the following:
typewriter, blog, my music, musical blog

My Music

Follow along with my current projects. Learn the stories behind my pieces, or explore music that I will not release.

sheet music, spotify playlists

Playlists

Immerse yourself in the music I love by listening directly to my curated playlists on Spotify.

contact me

Contact me

Drop me a line to connect! Whether you have a question, want sheet music, or just want to share a thought, I’d love to hear from you.

Floris in recording studio on grand piano