/** * {@inheritDoc} * * @see org.openimaj.audio.samples.SampleBuffer#getSampleChunk() */ @Override public SampleChunk getSampleChunk() { final SampleChunk sc = new SampleChunk(this.byteBuffer, this.format); sc.setStartTimecode(this.timecode); return sc; }
/** * {@inheritDoc} * * @see org.openimaj.audio.samples.SampleBuffer#getSampleChunk() */ @Override public SampleChunk getSampleChunk() { final SampleChunk sc = new SampleChunk(this.samples, this.format); sc.setStartTimecode(this.timecode); return sc; }
/** * {@inheritDoc} * * @see org.openimaj.audio.samples.SampleBuffer#getSampleChunk() */ @Override public SampleChunk getSampleChunk() { final SampleChunk sc = new SampleChunk(this.byteBuffer, this.format); sc.setStartTimecode(this.timecode); return sc; }
/** * {@inheritDoc} * * @see org.openimaj.audio.samples.SampleBuffer#getSampleChunk() */ @Override public SampleChunk getSampleChunk() { final SampleChunk sc = new SampleChunk(this.samples, this.format); sc.setStartTimecode(this.timecode); return sc; }
/** * Prepends the given samples to the front of this sample chunk. It is * expected that the given samples are in the same format as this sample * chunk; if they are not an exception is thrown. Side-affects this sample * chunk and will return a reference to this sample chunk. * * @param sample * the samples to add * @return This sample chunk with the bytes prepended */ public SampleChunk prepend(final SampleChunk sample) { // Check the sample formats are the same if (!sample.getFormat().equals(this.format)) throw new IllegalArgumentException("Sample types are not equivalent"); // Get the samples from the given chunk final byte[] x1 = sample.getSamplesAsByteBuffer().array(); // Create an array for the concatenated pair final byte[] newSamples = new byte[this.samples.length + x1.length]; // Loop through adding the new samples System.arraycopy(x1, 0, newSamples, 0, x1.length); synchronized (this.samples) { System.arraycopy(this.samples, 0, newSamples, x1.length, this.samples.length); } // Update this object this.samples = newSamples; this.setStartTimecode(sample.getStartTimecode().clone()); return this; }
/** * Prepends the given samples to the front of this sample chunk. It is * expected that the given samples are in the same format as this sample * chunk; if they are not an exception is thrown. Side-affects this sample * chunk and will return a reference to this sample chunk. * * @param sample * the samples to add * @return This sample chunk with the bytes prepended */ public SampleChunk prepend(final SampleChunk sample) { // Check the sample formats are the same if (!sample.getFormat().equals(this.format)) throw new IllegalArgumentException("Sample types are not equivalent"); // Get the samples from the given chunk final byte[] x1 = sample.getSamplesAsByteBuffer().array(); // Create an array for the concatenated pair final byte[] newSamples = new byte[this.samples.length + x1.length]; // Loop through adding the new samples System.arraycopy(x1, 0, newSamples, 0, x1.length); synchronized (this.samples) { System.arraycopy(this.samples, 0, newSamples, x1.length, this.samples.length); } // Update this object this.samples = newSamples; this.setStartTimecode(sample.getStartTimecode().clone()); return this; }
sc.setStartTimecode(this.timecode);
sc.setStartTimecode(this.timecode);
s.setStartTimecode(new AudioTimecode( this.getStartTimecode().getTimecodeInMilliseconds() + (long) (start / samplesPerChannelPerMillisec)));
/** * {@inheritDoc} * @see org.openimaj.audio.processor.AudioProcessor#process(org.openimaj.audio.SampleChunk) */ @Override public SampleChunk process( final SampleChunk sample ) throws Exception { if( sample.getFormat().getNBits() != this.outputFormat.getNBits() ) throw new IllegalArgumentException( "The number of bits in the " + "output format is not the same as the sample chunk. Use a " + "resampling conversion first before using the sample-rate " + "converter." ); if( sample.getFormat().getNumChannels() != this.outputFormat.getNumChannels() ) throw new IllegalArgumentException( "The number of channels in the " + "output format is not the same as the sample chunk. Use a " + "channel converter first before using the sample-rate " + "converter." ); if( sample.getFormat().getSampleRateKHz() == this.outputFormat.getSampleRateKHz() ) return sample; final SampleChunk sc = this.sampleConverter.process( sample, this.outputFormat ); sc.setStartTimecode( sample.getStartTimecode() ); return sc; } }
/** * {@inheritDoc} * @see org.openimaj.audio.processor.AudioProcessor#process(org.openimaj.audio.SampleChunk) */ @Override public SampleChunk process( final SampleChunk sample ) throws Exception { if( sample.getFormat().getNBits() != this.outputFormat.getNBits() ) throw new IllegalArgumentException( "The number of bits in the " + "output format is not the same as the sample chunk. Use a " + "resampling conversion first before using the sample-rate " + "converter." ); if( sample.getFormat().getNumChannels() != this.outputFormat.getNumChannels() ) throw new IllegalArgumentException( "The number of channels in the " + "output format is not the same as the sample chunk. Use a " + "channel converter first before using the sample-rate " + "converter." ); if( sample.getFormat().getSampleRateKHz() == this.outputFormat.getSampleRateKHz() ) return sample; final SampleChunk sc = this.sampleConverter.process( sample, this.outputFormat ); sc.setStartTimecode( sample.getStartTimecode() ); return sc; } }
/** * {@inheritDoc} * @see org.openimaj.audio.processor.AudioProcessor#process(org.openimaj.audio.SampleChunk) */ @Override public SampleChunk process( final SampleChunk sample ) throws Exception { if( sample.getFormat().getSampleRateKHz() != this.outputFormat.getSampleRateKHz() ) throw new IllegalArgumentException( "The sample rate of the " + "output format is not the same as the sample chunk. Use a " + "sample rate converter first before using the bit depth" + "converter." ); if( sample.getFormat().getNumChannels() != this.outputFormat.getNumChannels() ) throw new IllegalArgumentException( "The number of channels in the " + "output format is not the same as the sample chunk. Use a " + "channel converter first before using the bit-depth " + "converter." ); if( sample.getFormat().getNBits() == this.outputFormat.getNBits() ) return sample; final SampleChunk sc = this.bitDepthConverter.process( sample, this.outputFormat ); sc.setStartTimecode( sample.getStartTimecode() ); return sc; } }
s.setStartTimecode(new AudioTimecode( this.getStartTimecode().getTimecodeInMilliseconds() + (long) (start / samplesPerChannelPerMillisec)));
/** * {@inheritDoc} * @see org.openimaj.audio.processor.AudioProcessor#process(org.openimaj.audio.SampleChunk) */ @Override public SampleChunk process( final SampleChunk sample ) throws Exception { if( sample.getFormat().getSampleRateKHz() != this.outputFormat.getSampleRateKHz() ) throw new IllegalArgumentException( "The sample rate of the " + "output format is not the same as the sample chunk. Use a " + "sample rate converter first before using the bit depth" + "converter." ); if( sample.getFormat().getNumChannels() != this.outputFormat.getNumChannels() ) throw new IllegalArgumentException( "The number of channels in the " + "output format is not the same as the sample chunk. Use a " + "channel converter first before using the bit-depth " + "converter." ); if( sample.getFormat().getNBits() == this.outputFormat.getNBits() ) return sample; final SampleChunk sc = this.bitDepthConverter.process( sample, this.outputFormat ); sc.setStartTimecode( sample.getStartTimecode() ); return sc; } }
timestampMillisecs); XuggleAudio.this.currentSamples.setStartTimecode( XuggleAudio.this.currentTimecode);
timestampMillisecs); XuggleAudio.this.currentSamples.setStartTimecode( XuggleAudio.this.currentTimecode);