Alexa スキル「ハイスピード除夜の鐘」で使うためのサウンドを生成する Ruby スクリプト
除夜の鐘を180倍の速度で高速に叩き鳴らす Alexa スキル『ハイスピード除夜の鐘』をリリースしました - 迷子ラボ maigolab
速度など試行錯誤して何度も MP3 ファイルを生成し続けていたので、何度でも簡単に再現できるように Ruby スクリプトを書いて使っていた。
require 'fileutils' dir = 'tmp' Dir.mkdir(dir, 0755) if !File.exist?(dir) a = 4 duration = 0 FileUtils.cp('original.mp3', "#{dir}/0.mp3") (1..107).each do |i| a = a * 0.7 #a = 0.05 if a <= 0.05 a = 0.1 if a <= 0.1 duration = duration + a d = format('%2.4f', duration) puts "********** DURATION: #{d}" system "ffmpeg -y -i #{dir}/#{i-1}.mp3 -i original.mp3 -filter_complex \"aevalsrc=0:d=#{d}[s1];[s1][1:a]concat=n=2:v=0:a=1[ac1];[0:a][ac1]amix=2[aout]\" -map [aout] #{dir}/_#{i}.mp3" system "ffmpeg -y -i #{dir}/_#{i}.mp3 -filter:a loudnorm #{dir}/#{i}.mp3" end # 音声ファイルをAlexaに適した形式に変換 # コーデックバージョン: MPEGバージョン2 # ビットレート: 48 kbps system "ffmpeg -y -i #{dir}/107.mp3 -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 #{dir}/output.mp3"
ただ、これだけだと音量が足りなかったので、音量上げるためのシェルスクリプトを後から書いて使った。
ffmpeg -y -i 107.mp3 -af "volume=5.0" 107_x5.mp3 ffmpeg -y -i 107_x5.mp3 -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 vvx5.mp3