% Render a woodblock strike with default parameters and print diagnostics. % Run with: numbl run woodblock_demo.m P = woodblock_defaults(); tic; [y, basis, dinfo] = woodblock_render(P); elapsed = toc; fprintf('modes kept : %d\n', basis.n); fprintf('partials Hz: '); fprintf('%.0f ', basis.f); fprintf('\nratios : '); fprintf('%.2f ', basis.f / basis.f(1)); fprintf('\nhelmholtz : %.0f Hz\n', dinfo.helmholtzHz); fprintf('contact : %.3f ms, peak %.0f N\n', dinfo.contactMs, dinfo.peakForceN); fprintf('peak press.: %.3f Pa (%.1f dB SPL)\n', dinfo.peakPa, dinfo.peakSplDb); fprintf('length : %.3f s @ %d Hz\n', length(y) / P.sample_rate, P.sample_rate); fprintf('render time: %.2f s\n', elapsed); if dinfo.spacingNeed > 0 fprintf('WARNING : element spacing is coarse; consider %d radiating elements\n', dinfo.spacingNeed); end if dinfo.listenerInside fprintf('WARNING : listener is inside the source region\n'); end