houtson
Reaction score
17

Latest activity Postings About

    • houtson
      If you want to load a new sample just use vocoder.setSample(newBuffer, newNumSamples); Sorry I don't know what you mean
    • houtson
      @charnjit I'm glad you got it running. It looks like you have modified the code to preload 16 samples into PSRAM? I have no idea how large the files are or the speed of your SD card but I can only imagine that is what is taking the time in...
    • houtson
      @charnjit if using the audio board you need to update the example ino.---- do what you did above and also remove the comments from the codec in setup() // codec.enable(); // codec.volume(0.5f);
    • houtson
      Read post #39 again
    • houtson
      Hi @charnjit - I take it you are using the Arduino IDE? I'm using PlatformIO so it will not work directly with Arduino IDE or the library manager. For it to work in the Arduino IDE try this: - create a new directory called timestretch_example in...
    • houtson
      Hi @Rezo - have a listen to it, it works better with some material than others but it’s great fun change both the pitch and speed. It uses about 18% of teensy 4.1 available interrupt time, the WSOLA version was much less <5% but the phase vocoder...
    • houtson
      I forked and did a rehash of the Stefan Bernsee/Duff2013 phase vocoder implementation. This can now do time stretching and pitch shifting independently - both can run simultaneously - using a phase vocoder approach. I also added configurable...
    • houtson
      @charnjit - if you want the full sample to play and loop you need to make the buffer larger - I'm limited to 2 second as I'm using a teensy3.6 - something like : EXTMEM int16_t sampleBuffer[44100 * 5]; // space for 5s at 44100 Hz will create 5...
    • houtson
      It needs a mono, 44.1khz with no additional (meta) data in the header WAV file. If you use FFMPEG, # ffmpeg -i original.wav -ac 1 -ar 44100 -c:a pcm_s16le -map_metadata -1 clean.wav should clean up an original.
    • houtson
      Also should have asked, are you using a teensy 4 ? I've only tested on a 3.6 so far. Also, at the moment it will only work with 128 sample per block.
    • houtson
      Thats's weird - plays at normal speed for me at 100%. I'm using this wav from the OP
    • houtson
      @DD4WH really interesting work on the BirdSongPitchShifter and a thanks for the pointer to the phase vocoder implementation @charnjit I had a play about with a new object which I've attached with and example sketch. It is using a basic WSOLA...
    • houtson
      houtson reacted to DD4WH's post in the thread May i contact to "Bleep Labs."??? with Like Like.
      @charnjit Good that you have Granular effect running now. I have been following your various threads in the last week. Your goal, to pitch shift/time stretch in professional audio quality, is one of the most complicated tasks in digital signal...
    • houtson
      Apologies for the slow reply – I’ve been away over Easter. I think there’s a misunderstanding of what the granular object is doing. It’s not a true time-stretch algorithm, it’s replaying short grains at different speeds, so pitch change with...
    • houtson
      Hi the accumulator was overflowing- I've update the files which should fix it. Let me know it it works for longer than 1.4s samples. The effect_granular effect is not set up for working directly from a SD file or an array. Confirm that it...
    • houtson
      It is difficult to help when I can't see your code or test anything - small extracts of code are not helpful. How are you selecting .wav files? The granular effects starts sampling when you run .beginFreeze - how are you aligning that with the...
    • houtson
      You need to replace that and also the other indexes, I've attached two replacement files that I haven't tested. Did you test it at maximum length (#define GRANULAR_BUFFER_SIZE 32000) to see if you actually like how it sounds? Cheers Paul
    • houtson
      @charnjit Please don't open any more thread on this topic, try to keep all the discussion in one place I've put a response in the previous thread https://forum.pjrc.com/index.php?threads/may-i-contact-to-bleep-labs.77791/#post-366863 cheers Paul
    • houtson
      I had a look at the library object and it uses int16_t to store the buffer size and various pointers. The max number a int16_t can hold is 32,767 for the max time that the current object is just under 0.75s. When you pass it a size of 2800000 it...
    • houtson
      In your example snippets of code above... #define GRANULAR_BUFFER_SIZE 12800 and granular1.begin(grainBuffer, GRANULAR_BUFFER_SIZE); sets up an array of samples. Since we sample at 44100Hz a buffer of 12800 will allow for about 290ms of...
    • houtson
      Did you check out https://github.com/newdigate/teensy-variable-playback which is referenced in the video you linked to? cheers, Paul
    • houtson
      Bench Prototype And Integration Before final enclosure work, several modules were developed as separate table-top units so I could validate LCD workflows, data flow and cross-module behavior in parallel. That made it easier to test real operator...
    • houtson
      On mux'd pots - I use responsive analogue read which is great at smoothing out jitter. Also, I find it better to leave out the caps on individual pots when reading quickly through a mux. Cheers, Paul
    • houtson
      houtson replied to the thread 3-Band EQ help.
      lots of different way to do it, with your code, something like this would be the most basic: float lastF = -1.0f; void loop() { int knob = analogRead(A5); int knob1 = analogRead(A0); int knob2 = analogRead(A1); float F = (float(knob) *...
    • houtson
      houtson replied to the thread 3-Band EQ help.
      The low frequency performance issue at #5 is the first things I'd suspect. You're also reading the pots and updating coefficients every loop which will result in coefficients being reset millions of times a second and could be adding...
    • houtson
      Hey everyone, I've been working on an open-source hardware platform called T-DSP built around the Teensy 4.1, and this community has been a huge resource along the way. Building serious desktop or rack-mounted audio gear from scratch is hard...
    • houtson
      Have a look at noteFreqs[note + octave1] - there are quite a few instances where I think you could go out of bounds i.e. >127 which would have unpredictable results. You need to constrain the note+octave to keep it in bounds. I do it with...
    • houtson
      houtson replied to the thread Updated 8x8 and 16x16 audio.
      The board outline with connectors loaded for me (using Shapr3d) - I've attached an stl file, if another format is more useful let me know and I'll try to convert it. cheers Paul
    • houtson
      Here are the photos of the micro drum sampler. Since the setup needed to be as small as possible and also work on the street, I mounted a moving-coil (exciter) directly onto the guitar instead of using a speaker (with a counter magnet attached...
    • houtson
      nice teensy compatible library by midilab that might suit your needs - https://github.com/midilab/uClock
    • houtson
      Interesting subject that I haven't come across before - thanks for the link to the basics it is really helpful. Sounds like you're no stranger to using the accumulated knowledge of all humanity to help on coding problems and that you understand...
    • houtson
      Hey everyone, I've been working with this chip family for a while now. In fact, I've been designing an ecosystem that I hope will bring creativity and joy to musicians and tinkerers alike. It started as a digital audio mixer, and it's grown from...
    • houtson
      Quick update. The first backplane is now up as well: https://github.com/t-dsp/t-dsp_desktop_pro This is the development platform I mentioned. It's an all-out development platform for pro audio with everything you need to get started with...
    • houtson
      Hi Jay, looks great, I'll definitely check that out. Cheers Paul
    • houtson
      I wanted to use the Pico 2 for music, when there isn't need for as much power as Teensy 4 can provide. So after some minor edits to the Audio lib classes that I needed, here it is: In this video I am sending MIDI over USB, and the sketch is...
    • houtson
      Hi @MrCanvas, I'm getting on okay with it. I've been spending time interfacing it to a pi pico for something that doesn't need the power of a teensy, that's where most of my effort has been lately. One difference to the WM8731 is that the TAC...
  • Loading…
  • Loading…
Back
Top