]> git.parisson.com Git - timeside.git/commitdiff
apply a gain=0.97 to sweep and sine test samples, try native http streaming on encode...
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 9 Mar 2015 14:55:40 +0000 (15:55 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 9 Mar 2015 14:55:40 +0000 (15:55 +0100)
timeside/core/tools/test_samples.py
timeside/server/views.py

index c486481e52d940089fff38d5573bc151fdce53f5..e7234af03f5c7ca7bb7c8e728b27f3b069eae4fc 100644 (file)
@@ -79,11 +79,10 @@ class NumpySrc:
 class SampleArray(object):
     """Base Class for generating a data sample array"""
 
-    def __init__(self, duration=10, samplerate=44100, gain=0.97):
+    def __init__(self, duration=10, samplerate=44100):
         self.samplerate = int(samplerate)
         self.num_samples = int(numpy.ceil(duration * self.samplerate))
         self.array = NotImplemented
-        self.gain = gain
 
     @property
     def time_samples(self):
@@ -117,11 +116,11 @@ class SampleArray(object):
 class SineArray(SampleArray):
     """Class for generating a Sine array"""
     def __init__(self, frequency=440, duration=10, samplerate=44100,
-                 channels=1):
+                 channels=1, gain=0.97):
         super(SineArray, self).__init__(duration=duration,
                                         samplerate=samplerate)
         self.frequency = frequency
-        self.array = numpy.sin((2 * numpy.pi * self.frequency *
+        self.array = gain*numpy.sin((2 * numpy.pi * self.frequency *
                                self.time_samples / self.samplerate))
         self.array.resize(self.num_samples, 1)
 
@@ -129,7 +128,7 @@ class SineArray(SampleArray):
 class SweepArray(SampleArray):
     """Class for generating a Sweep array"""
     def __init__(self, f0=20, f1=None, duration=10, samplerate=44100,
-                 method='logarithmic'):
+                 method='logarithmic', gain=0.97):
         super(SweepArray, self).__init__(duration=duration,
                                          samplerate=samplerate)
 
@@ -139,7 +138,7 @@ class SweepArray(SampleArray):
         else:
             self.f1 = f1 / samplerate
         self.method = method
-        self.array = scipy.signal.waveforms.chirp(t=self.time_samples,
+        self.array = gain*scipy.signal.waveforms.chirp(t=self.time_samples,
                                                   f0=self.f0,
                                                   t1=self.time_samples[-1],
                                                   f1=self.f1,
index 2387fe1285933b4c0df59df9af9bccf578d5f893..baf88523d2a9d2c14e71175054b7b64538706730 100644 (file)
@@ -158,7 +158,7 @@ class ResultEncoderView(View):
 
     def get(self, request, *args, **kwargs):
         result = Result.objects.get(pk=kwargs['pk'])
-        return HttpResponse(stream_from_file(result.file.path),
+        return StreamingHttpResponse(stream_from_file(result.file.path),
                             content_type=result.mime_type)