def testFloatingPointSampleRateInvalid(self):
   with self.cached_session():
     with self.assertRaises(TypeError):
       ffmpeg.encode_audio(
           [[0.0], [1.0]],
           file_format='wav',
           samples_per_second=12345.678)
 def testZeroSampleRateInvalid(self):
   with self.cached_session() as sess:
     encode_op = ffmpeg.encode_audio(
         [[0.0], [1.0]],
         file_format='wav',
         samples_per_second=0)
     with six.assertRaisesRegex(self, Exception, 'must be positive'):
       sess.run(encode_op)
 def testRoundTripWithPlaceholderSampleRate(self):
   with self.cached_session():
     placeholder = array_ops.placeholder(dtypes.int32)
     audio_op = ffmpeg.decode_audio(
         self._contents,
         file_format='wav',
         samples_per_second=placeholder,
         channel_count=1)
     encode_op = ffmpeg.encode_audio(
         audio_op, file_format='wav', samples_per_second=placeholder)
     encoded_contents = encode_op.eval(feed_dict={placeholder: 10000})
     self._compareWavFiles(self._contents, encoded_contents)
Exemple #4
0
 def testRoundTripWithPlaceholderSampleRate(self):
     with self.cached_session():
         placeholder = array_ops.placeholder(dtypes.int32)
         audio_op = ffmpeg.decode_audio(self._contents,
                                        file_format='wav',
                                        samples_per_second=placeholder,
                                        channel_count=1)
         encode_op = ffmpeg.encode_audio(audio_op,
                                         file_format='wav',
                                         samples_per_second=placeholder)
         encoded_contents = encode_op.eval(feed_dict={placeholder: 10000})
         self._compareWavFiles(self._contents, encoded_contents)
 def testRoundTrip(self):
   """Reads a wav file, writes it, and compares them."""
   with self.cached_session():
     audio_op = ffmpeg.decode_audio(
         self._contents,
         file_format='wav',
         samples_per_second=10000,
         channel_count=1)
     encode_op = ffmpeg.encode_audio(
         audio_op, file_format='wav', samples_per_second=10000)
     encoded_contents = encode_op.eval()
     self._compareWavFiles(self._contents, encoded_contents)
 def testRoundTrip(self):
     """Reads a wav file, writes it, and compares them."""
     with self.test_session():
         audio_op = ffmpeg.decode_audio(self._contents,
                                        file_format='wav',
                                        samples_per_second=10000,
                                        channel_count=1)
         encode_op = ffmpeg.encode_audio(audio_op,
                                         file_format='wav',
                                         samples_per_second=10000)
         encoded_contents = encode_op.eval()
         self._compareWavFiles(self._contents, encoded_contents)
def save_to_wav(audio_arr_ch1, audio_arr_ch2, sample_rate, original_song_ch1, original_song_ch2, idty, folder, sess):
	audio_arr_ch1 = irfft(np.hstack(np.hstack(audio_arr_ch1)))
	audio_arr_ch2 = irfft(np.hstack(np.hstack(audio_arr_ch2)))

	original_song_ch1 = irfft(np.hstack(np.hstack(original_song_ch1)))
	original_song_ch2 = irfft(np.hstack(np.hstack(original_song_ch2)))
	
	original_song = np.hstack(np.array((original_song_ch1, original_song_ch2)).T)
	audio_arr = np.hstack(np.array((audio_arr_ch1, audio_arr_ch2)).T)

	print(original_song)
	w = np.linspace(0, sample_rate, len(audio_arr))
	w = w[0:len(audio_arr)]
	plt.figure(1)

	plt.plot(w, original_song)
	plt.savefig(str(folder) + '/original.png')
	plt.plot(w, audio_arr)
	plt.xlabel('sample')
	plt.ylabel('amplitude')
	plt.savefig(str(folder) + '/compressed' + str(idty) + '.png')
	plt.clf()	

	cols = 2
	rows = math.floor(len(audio_arr)/2)
	audio_arr = audio_arr.reshape(rows, cols)
	original_song = original_song.reshape(rows, cols)

	wav_encoder = ffmpeg.encode_audio(
		audio_arr, file_format='wav', samples_per_second=sample_rate)
	wav_encoder_orig = ffmpeg.encode_audio(
		original_song, file_format='wav', samples_per_second=sample_rate)

	wav_file = sess.run(wav_encoder)
	wav_orig = sess.run(wav_encoder_orig)
	open(str(folder)+'/out.wav', 'wb').write(wav_file)
	open(str(folder)+'/wav_orig.wav', 'wb').write(wav_orig)
  def testRoundTrip(self):
    """Reads a wav file, writes it, and compares them."""
    with self.test_session():
      path = os.path.join(
          resource_loader.get_data_files_path(), 'testdata/mono_10khz.wav')
      with open(path, 'rb') as f:
        original_contents = f.read()

      audio_op = ffmpeg.decode_audio(
          original_contents, file_format='wav', samples_per_second=10000,
          channel_count=1)
      encode_op = ffmpeg.encode_audio(
          audio_op, file_format='wav', samples_per_second=10000)
      encoded_contents = encode_op.eval()
      self._compareWavFiles(original_contents, encoded_contents)
  def testRoundTrip(self):
    """Fabricates some audio, creates a wav file, reverses it, and compares."""
    with self.test_session():
      path = os.path.join(
          resource_loader.get_data_files_path(), 'testdata/mono_10khz.wav')
      with open(path, 'r') as f:
        original_contents = f.read()

      audio_op = ffmpeg.decode_audio(
          original_contents, file_format='wav', samples_per_second=10000,
          channel_count=1)
      encode_op = ffmpeg.encode_audio(
          audio_op, file_format='wav', samples_per_second=10000)
      encoded_contents = encode_op.eval()
      self.assertEqual(original_contents, encoded_contents)
    def testRoundTrip(self):
        """Fabricates some audio, creates a wav file, reverses it, and compares."""
        with self.test_session():
            path = os.path.join(resource_loader.get_data_files_path(),
                                'testdata/mono_10khz.wav')
            with open(path, 'r') as f:
                original_contents = f.read()

            audio_op = ffmpeg.decode_audio(original_contents,
                                           file_format='wav',
                                           samples_per_second=10000,
                                           channel_count=1)
            encode_op = ffmpeg.encode_audio(audio_op,
                                            file_format='wav',
                                            samples_per_second=10000)
            encoded_contents = encode_op.eval()
            self.assertEqual(original_contents, encoded_contents)
 def testFloatingPointSampleRateInvalid(self):
     with self.test_session():
         with self.assertRaises(TypeError):
             ffmpeg.encode_audio([[0.0], [1.0]],
                                 file_format='wav',
                                 samples_per_second=12345.678)
Exemple #12
0
            ch2_song[i:i + section_size]
            for i in range(0, len(ch2_song), section_size)
        ]
        ch1_song = add_overlap(
            ch1_song,
            params.overlap_section_size)  # [[..], [..], ...] -> [...]
        ch2_song = add_overlap(ch2_song, params.overlap_section_size)

    # maps sigmoid [0,1] output to [-1,1] for .wav
    ch1_song = ((ch1_song * 2) - 1)
    ch2_song = ((ch2_song * 2) - 1)

    audio_arr = np.hstack(np.array((ch1_song, ch2_song)).T)
    cols = 2
    rows = math.floor(len(audio_arr) / 2)
    audio_arr = audio_arr.reshape(rows, cols)

    wav_encoder = ffmpeg.encode_audio(audio_arr,
                                      file_format='wav',
                                      samples_per_second=sample_rate)

    wav_file = sess.run(wav_encoder)

    with open(f"{params.save_test_output_path_start}{file_number}.wav",
              'wb') as f:
        f.write(wav_file)

    file_number += 1

print('all done')
Exemple #13
0
#https://www.tensorflow.org/api_guides/python/contrib.ffmpeg
import tensorflow as tf
from tensorflow.contrib import ffmpeg

audio_binary = tf.read_file('shibuya.mp3')
waveform = ffmpeg.decode_audio(audio_binary,
                               file_format='mp3',
                               samples_per_second=44100,
                               channel_count=2)
uncompressed_binary = ffmpeg.encode_audio(waveform,
                                          file_format='wav',
                                          samples_per_second=44100)

print(waveform)
print(uncompressed_binary)