high pitched audio issues

purplehexagon

New Member
on obs studio while recording a youtube video/stream, when the recording is finished, in some part it's getting a high pitched audio in some part it does not.
I record the youtube video/stream from a browser source with the control audio via obs enabled.
any way to fix this issue?
 

AaronD

Active Member
You don't have a CRT monitor or TV that's getting into a mic, do you? Or a hearing aid that's feeding back on itself? As a live sound engineer, I've had people in the audience who are completely oblivious to their own hearing aids singing away, and I just have to ignore that.

To get rid of that, you need a notch filter, which is something that OBS doesn't have. Better, of course, would be to not have it in the first place.
 

ph4ntom_

New Member
I have the same issue as you. When I use the latest version of OBS on two different computers and recording YouTube stream using a browser source, the audio suddenly turn to a high pitched audio . It then goes back to normal after a while.
 

purplehexagon

New Member
You don't have a CRT monitor or TV that's getting into a mic, do you? Or a hearing aid that's feeding back on itself? As a live sound engineer, I've had people in the audience who are completely oblivious to their own hearing aids singing away, and I just have to ignore that.

To get rid of that, you need a notch filter, which is something that OBS doesn't have. Better, of course, would be to not have it in the first place.
nope.
 

AaronD

Active Member
Since the first guess from my own experience didn't work, I think I'll need a recording. And a log from the session that produced that recording would be good too.
 

AaronD

Active Member
on obs studio while recording a youtube video/stream...
I record the youtube video/stream from a browser source with the control audio via obs enabled.
Recording from Youtube with OBS is a waste of time. 4k Video Downloader is free app, give that a try.
Oh! THAT'S what you're doing! I thought the OP was a bad-English version of, "I'm recording what *my own* YT stream was for later use," which is far more common here.

If I'd understood then what I do now, I might not have answered at all. Legal problems all over it.
 

purplehexagon

New Member
Oh! THAT'S what you're doing! I thought the OP was a bad-English version of, "I'm recording what *my own* YT stream was for later use," which is far more common here.

If I'd understood then what I do now, I might not have answered at all. Legal problems all over it.
I just wanted to record clips
 

AaronD

Active Member
I just wanted to record clips
It doesn't matter what you "just want to do". The rules still are what they are. In this case, those clips are owned by someone else, so unless you have their explicit permission, you're effectively stealing from them. If you do get permission, there's a pretty good chance they'll send you the file too if you ask for it, in which case you don't need to rip it from a streaming service anyway.
 

Suslik V

Active Member
...stealing from them
rights to... (I mean: not "goods", not "exclusive rights", as long as original source wasn't destroyed or harmed in other way, it is close to fraud)

Anyway, try to record some "open sourced" media (creative commons).

Or make test recordings of local audio files.
Here is example of .html file that loops any .wav sound in browser source of OBS (you should Interact with it to select the media file and start looped playback):
HTML:
<!doctype html>
<html>
    <head>
        <title>Audio</title>
    </head>
    <body>

    <input type="file" id="input">
    <input type="button" id="control_button" value="STOP" onclick="play_it()" disabled="true">

    <script type="text/javascript">
        var play_button = document.getElementById("control_button");

        var actx = new (AudioContext || webkitAudioContext)();
        var audioData, srcNode;  // global so we can access them from handlers

        // Load some audio (CORS need to be allowed or we won't be able to decode the data)
        //fetch(src, {mode: "cors"}).then(function(resp) {return resp.arrayBuffer()}).then(decode);

        // Get local audio file
        const reader = new FileReader();
        const selectedFile = document.getElementById("input");

        selectedFile.addEventListener("change", handleFiles, false);
        function handleFiles() {
            // Read the file now!
            reader.readAsArrayBuffer(selectedFile.files[0]);
        }

        var buffer;

        reader.addEventListener("loadend", filesReady, false);
        function filesReady() {
            // Load ended - fill the buffer
            buffer = reader.result;
            play_button.disabled = false;
            decode(buffer);
        }

        // Decode the audio file, then start the show
        function decode(buffer) {
            actx.decodeAudioData(buffer, playLoop);
        }

        // Sets up a new source node as needed as stopping will render current invalid
        function playLoop(abuffer) {
            if (!audioData) {
                audioData = abuffer;  // create a reference for control buttons
            }
            srcNode = actx.createBufferSource();  // create audio source
            srcNode.buffer = abuffer;             // use decoded buffer
            srcNode.connect(actx.destination);    // create output
            srcNode.loop = true;                  // takes care of perfect looping
            srcNode.start();                      // play...
        }

        // Playback control
        function play_it() {
            if (srcNode) {
                srcNode.stop();
                srcNode = null;   
                play_button.value = "PLAY";
            } else {
                actx.resume();
                playLoop(audioData);
                play_button.value = "STOP";
            }
        };
    </script>

    </body>
</html>

And if you will use special sound (where is no gaps and it ends where it starts) and play it back via this .html file in OBS then you can test the behavior of the application. If in about 2 hours of recording of this test sample you unable to find oddities inside the recorded file then OBS developers or support volunteers wouldn't help you.

Attached "obs-test-localfile-browser-playback.7z", 7-zip archive, ~78,6 KiB to download, CRC of the archive MD5:8F07F65A1E138C8BC627FFE0561AD630

inside:
  • "obs-test-localfile-seamless-looped-audio-playback.html" - file to be added into OBS Browser source to be able to playback the .wav file;
  • "1000-250Hz-06a_48000sr_32bit_float_10sec.wav" - looped test audio (test signals of 1kHz and 250Hz) that should be played by OBS Browser source.
 

Attachments

  • obs-test-localfile-browser-playback.7z
    78.7 KB · Views: 10
Top