pitch-shift | Variable speed pitch shifter written in JavaScript | Audio Utils library

 by   mikolalysenko JavaScript Version: 0.0.0 License: MIT

kandi X-RAY | pitch-shift Summary

kandi X-RAY | pitch-shift Summary

pitch-shift is a JavaScript library typically used in Audio, Audio Utils applications. pitch-shift has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can install using 'npm i pitch-shift' or download it from GitHub, npm.

Variable speed pitch shifter written in JavaScript
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              pitch-shift has a low active ecosystem.
              It has 76 star(s) with 14 fork(s). There are 5 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 1 open issues and 0 have been closed. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of pitch-shift is 0.0.0

            kandi-Quality Quality

              pitch-shift has 0 bugs and 0 code smells.

            kandi-Security Security

              pitch-shift has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              pitch-shift code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              pitch-shift is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              pitch-shift releases are not available. You will need to build from source code and install.
              Deployable package is available in npm.
              Installation instructions, examples and code snippets are available.
              pitch-shift saves you 25 person hours of effort in developing the same functionality from scratch.
              It has 68 lines of code, 0 functions and 4 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of pitch-shift
            Get all kandi verified functions for this library.

            pitch-shift Key Features

            No Key Features are available at this moment for pitch-shift.

            pitch-shift Examples and Code Snippets

            No Code Snippets are available at this moment for pitch-shift.

            Community Discussions

            QUESTION

            How to transpose part of sound by librosa
            Asked 2020-Dec-13 at 09:35

            For example,

            ...

            ANSWER

            Answered 2020-Dec-13 at 09:35

            This is not possible with a pitch shifter. A pitch shifter simply changes the frequencies by slowing the sound up or down (as a varispeed) then cutting some small slices if the resulting sound is longer or, at the contrary, duplicating some small slices while it is shorter. As you can imagine, this process handles the whole wave as a single thing meaning that the spectrum is completely transposed.

            Doing what you want requires a much more sophisticated technique called resynthesis which first converts the wave in a synthetic sound using FFT and additive synthesis (or other techniques more appropriate when the sound is noisy), then allows some manipulation on independent parts of the spectrum, and finally reconverts the synthetic sound to an audio wave. There is a standalone software doing that quite well which is called Spear. You could also investigate Loris which seems to have a python module.

            Source https://stackoverflow.com/questions/65273998

            QUESTION

            Lots of noise after repitching recorded file using raw audio data and simpleaudio
            Asked 2020-Dec-01 at 11:53

            I have written a very basic script to repitch an audio file, which I import using simpleaudio. I am not worried about preserving audio speed; all I need is a simple pitch-shift.

            What I am doing is resampling the audio using linear interpolation, and from what I've read, this should be enough. For example, you can see here that the pitch of the audio is shifted, but it retains a very similar shape:

            The blue line is the initial waveform, the orange is the pitch-shifted waveform. It all looks exactly how I would expect.

            So far so good. However, when playing it back through simpleaudio's interface, the shifted wave is really really noisy. Interestingly though, this doesn't happen if I shift by an integer ratio.

            See the code below for my implementation (there's not much, I promise):

            ...

            ANSWER

            Answered 2020-Dec-01 at 11:53

            wav files are little-endian, not big-endian.

            struct should be using ", not ">h".

            This wasn't a problem when using integer pitch-shift ratios, because there wasn't actually any interpolation happening in that case - it was just selecting every nth sample. And since each conversion function was the reverse of the other, it was like nothing had every changed.

            But as soon as you start to interpolate, you get problems, because you're now working with 'reversed' data in a non-reversed way.

            Anyway, my algorithm now works perfectly.

            Source https://stackoverflow.com/questions/63092252

            QUESTION

            Data Augmentation: What proportion of training dataset needs to be augmented?
            Asked 2019-Dec-06 at 11:31

            I am currently working on a speech classification problem. I have 1000 audio files in each class and have 7 such classes. I need to augment data to achieve better accuracy. I am using librosa library for data augmentation. For every audio file, I am using the below code.

            ...

            ANSWER

            Answered 2019-Dec-06 at 11:31

            The most common way of performing augmentation is doing it to the whole dataset with a random chance for each sample to be augmented or not.

            Also in most cases, the augmentation is done during runtime.

            For example a pseudocode for your case could look like:

            Source https://stackoverflow.com/questions/59212077

            QUESTION

            How to do time streching audio playback using javascript in 2019?
            Asked 2019-Aug-06 at 12:34

            I'm looking for a up-to-date solution to slow down / speed up the audio playback without changing the pitch (so-called "time-stretch"). The processing should be as fast as possible (audio is speech recording). Using Web Workers would be good, too.

            I'm using Web Audio API. Native HTML5 is not an option for my application.

            I found some solutions for time-stretching, but these are partly very old and not maintained anymore or there are no examples to use them. The list of solutions I found is from here. This post on StackOverflow is old and probably not the best solution by this time.

            Is there any solution that is well implemented, stable and usable in Typescript?

            ...

            ANSWER

            Answered 2019-Aug-06 at 12:33

            The easiest way without any third-party library is to use HTML5 Audio and its Audio class. It allows to change the playbackSpeed while preserving the pitch.

            More Information:

            https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate

            Source https://stackoverflow.com/questions/53791472

            QUESTION

            Pass options to command in function in Bash
            Asked 2019-Jun-13 at 00:22

            I want to pass command options to a command in function.

            For example,

            I have a following script, which works with youtube-dl, stream youtube video URL with vlc media player.

            ...

            ANSWER

            Answered 2019-Jun-13 at 00:22

            Save the first argument in a variable, shift it out of the argument list, then you can pass all the remaining arguments to vlc.exe with "$@".

            Source https://stackoverflow.com/questions/56571622

            QUESTION

            iOS Audio how can I make tremolo or vibrato effects
            Asked 2018-Oct-31 at 05:50

            How can I make tremolo or vibrato audio effects in APP on iOS 8+?

            I am working on making audio effects in an APP on iOS 8+ by AVFoundation provided by Apple. And I have built up some effects by AVAudioEngine, such as pitch-shift, delay(echo), distortion. But I did not find AVAudioUnit related to tremolo or vibrato effects.

            The only document I have found is Audio Unit Programming Guide, but this document is no longer being updated, and the Core Audio SDK mentioned in that document disappeared.

            I don't care about using high level APIs belonged to AVFoundation or low level APIs even written in c/c++, I just want some method to make tremolo or vibrato effects, or generally speaking, if there is no capsulated APIs, find out one method to make customized audio effects.

            By the way, here is my sample code to make delay(echo) effects (iOS 8+, Xcode 10.0):

            ...

            ANSWER

            Answered 2018-Oct-31 at 05:41

            QUESTION

            Is it possible to do voice pitch shifting in Twilio group video?
            Asked 2018-Sep-27 at 14:10

            We have built a web application. The application's core is to arrange the meetings/sessions on the web. So User A(Meeting co-ordinator) will arrange a meeting/session and all other participants B, C, D and etc will be joining in the meeting/session. So I have used Twilio group video call to achieve it.

            I have the below use case. We want to do the voice pitch shifting of the User A's(Meeting co-ordinator) voice. So all other participants will be receiving the pitch-shifted voice in group video. We have analyzed the AWS Polly in Twilio but it doesn’t match with our use case.

            So please advice is there any services in Twilio to achieve this scenario.
            (or) will it be possible to interrupt Twilio group call and pass the pitch-shifted voice to other participants?

            Sample Code Used

            ...

            ANSWER

            Answered 2018-Sep-27 at 05:50

            Twilio developer evangelist here.

            There is nothing within Twilio itself that pitch shifts voices.

            If you are building this in a browser, then you could use the Web Audio API to take the input from the user's microphone and pitch shift it, then provide the resultant audio stream to the Video API instead of the original mic stream.

            Source https://stackoverflow.com/questions/52512823

            QUESTION

            Incrementally / gradually change pitch of signal over time using octave / matlab code
            Asked 2017-Jul-01 at 06:58

            I can pitch shift an entire signal using resample and I have tried the phase vocoder code here.

            I've also tried repmat and interpolation and I looked into fft and interp1

            How can I incrementally / gradually change the pitch of a signal over time? I've included an example of the Original Signal and what I'm trying to get the Processed Signal to sound like (I created the processed signal using Audacity and using their effect Sliding time scale / pitch shift) But would like to create this signal in Octave 4.0. If you listen to the Processed Signal you can hear the pitch of the file gradually increasing but the file is the same length in (seconds) as the Original Signal file.

            I'm using Octave 4.0 which is like Matlab

            Here's The code which can change the pitch of the entire signal and keep the same length of the original signal in seconds, but I'm not sure how to have it gradually change the pitch of a signal over time. Thanks goes to rayryeng for getting me this far.

            ...

            ANSWER

            Answered 2017-Jul-01 at 06:58

            My answer doesn't give exactly the same result as the one you posted, but I think it's interesting and simple enough to give you the important concepts behind pitch stretching. I haven't found the method I'm proposing elsewhere on the web, but I can't imagine no one has thought of this before, so it might have a name.

            The first thing to realise is that if you want to apply transformations to the pitch over time, and not just offset it over the entire timecourse, you need to work with pitch "features" that are defined at each time-point (eg time-frequency transforms), as opposed to ones that summarise the entire signal contents (eg Fourier).

            It's important to realise this, because it becomes evident that we need to involve things like the instantaneous frequency of your signal, which is defined as the derivative of the Hilbert phase (typically taken as (1/2Pi) * dPhi/ dt to work in Hz instead of rad/s).

            Assuming that we can transform the instantaneous frequency of a signal, we can then translate the idea of "increasing the pitch incrementally" formally into "adding a linearly increasing offset to the instantaneous frequency". And the good news is, that we can transform the instantaneous frequency of a signal quite easily using an analytic transform. Here is how:

            Source https://stackoverflow.com/questions/44698489

            QUESTION

            How to decrease pitch of audio file in nodejs server side?
            Asked 2017-Jan-25 at 18:54

            I have a .MP3 file stored on my server, and I'd like to modify it to be a bit lower in pitch. I know this can be achieved by increasing the length of the audio, however, I don't know of any libraries in node that can do this.

            I've tried using the node web audio api, and soundbank-pitch-shift, but the former doesn't seem to have the capabilities of pitch shifting (AFAIK), and the latter seems designed toward client

            I need the solution within the realm of node ONLY- that means no external programs, etc., and it needs to be automated as well, so I can't manually pitch shift.

            An ideal solution would be a function that takes a file/filepath as an input, and then creates (or overwrites) another MP3 file but with the pitch shifted by x amount, but really, any solution that produces something with a lower pitch than the original, works.

            I'm totally lost here. Please help.

            ...

            ANSWER

            Answered 2017-Jan-25 at 00:29

            An audio file is basically a list of numbers. Those numbers are read one at a time at a particular speed called the 'sample rate'. The sample rate is otherwise defined as the number of audio samples read every second e.g. if an audio files sample rate is 44100, then there are 44100 samples (or numbers) read every second.

            If you are with me so far, the simplest way to lower the pitch of an audio file is to play the file back at a lower sample rate (which is normally fixed in place). In most cases you wont be able to do this, so you need to achieve the same effect by resampling the file i.e adding new samples to the file in between the old samples to make it literally longer. For this you would need to understand interpolation.

            The drawback to this technique in either case is that the sound will also play back at a slower speed, as well as at a lower pitch. If it is a problem that the sound has slowed down as well as lowered in pitch as a result of your processing, then you will also have to use a timestretching algorithm to fix the playback speed.

            You may also have problems doing this using MP3 files. In this case you may have to uncompress the data in the MP3 file before you can operate on it in such a way that changes the pitch of the file. WAV files are more ideal in audio processing. In any case, you essentially need to turn the file into a list of floating point numbers, and change those numbers to be effectively read back at a slower rate.

            Other methods of pitch shifting would probably need to involve the use of ffts, and would be a more complicated affair to say the least.

            I am not familiar with nodejs I'm afraid.

            Source https://stackoverflow.com/questions/41841055

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install pitch-shift

            Creates a pitch shifting function. Returns A function that you call with a frame of data.
            onData(frame) Called when a pitch shifted frame is ready.
            onTune(t, pitch) Called when a frame of audio needs to be processed.
            options An object full of options to pass to the pitch shifter + `frameSize` size of frame to process (default `2048`) + `hopSize` the distance between frames in samples. Must divide frame size. (default `frameSize/4`) + `dataSize` maximal allowable size of a data frame (default `frame_size`) + `sampleRate` Conversion factor from samples to seconds. (default `44100`) + `analysiWindow` analysis window. must be a typed array with length equl to frame size (defaults to Hann window) + `synthesisWindow` synthesis window. must be a typed array with length equal to frame size (defaults to Hann window) + `threshold` peak detection threshold. Set to 1.0 to always take maximum, otherwise set lower to detect half tones. (default `0.9`) + `minPeriod` Minimal resolvable period. (default `sampleRate/400`)

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • npm

            npm i pitch-shift

          • CLONE
          • HTTPS

            https://github.com/mikolalysenko/pitch-shift.git

          • CLI

            gh repo clone mikolalysenko/pitch-shift

          • sshUrl

            git@github.com:mikolalysenko/pitch-shift.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Audio Utils Libraries

            howler.js

            by goldfire

            fingerprintjs

            by fingerprintjs

            Tone.js

            by Tonejs

            AudioKit

            by AudioKit

            sonic-pi

            by sonic-pi-net

            Try Top Libraries by mikolalysenko

            l1-path-finder

            by mikolalysenkoJavaScript

            functional-red-black-tree

            by mikolalysenkoJavaScript

            vectorize-text

            by mikolalysenkoJavaScript

            static-kdtree

            by mikolalysenkoJavaScript

            orthogami

            by mikolalysenkoJavaScript