#!/usr/bin/env perl use strict; use warnings; open my $sf, '<:raw', $ARGV[0] or die "give me a readable sf2 file\n"; open my $ch, '>', $ARGV[1] or die "give me a writable h file\n"; my $data = do { local $/; <$sf> }; print $ch "const static unsigned char SoundFont[] PROGMEM = {\n"; for my $i ( 0 .. length($data) ) { my $v = substr($data,$i,1); printf $ch "0x%02x,",ord($v); if ($i%16 == 15) { print $ch "\n"; } } print $ch "\n};\n";