01:13
Ad0 has quit [Ping timeout: 252 seconds]
01:31
Ad0 has joined ##raspberrypi-internals
01:37
angerisagift has joined ##raspberrypi-internals
04:50
Stromeko has quit [Quit: Going… gone.]
04:52
Stromeko has joined ##raspberrypi-internals
12:40
f_[xmpp] has joined ##raspberrypi-internals
15:53
Stromeko has quit [Quit: Going… gone.]
15:54
Stromeko has joined ##raspberrypi-internals
17:27
ungeskriptet5 has joined ##raspberrypi-internals
17:29
ungeskriptet has quit [Ping timeout: 246 seconds]
17:29
ungeskriptet5 is now known as ungeskriptet
18:16
ungeskriptet has quit [Ping timeout: 256 seconds]
18:17
ungeskriptet has joined ##raspberrypi-internals
22:39
<
f_ridge >
<x2x6_/D> Yo!
22:39
<
f_ridge >
<clever___/D> yo!
22:40
<
f_ridge >
<x2x6_/D> I am still in the process of relocating, so I only have small portions of time to solve my issues. Today have some time , so I plan to continue where left off
22:40
<
f_ridge >
<x2x6_/D> What about here? Any news ?)
22:41
<
f_ridge >
<x2x6_/D> On the other projects I mean
22:41
<
f_ridge >
<clever___/D> havent had much time to focus on things here, other then some progress i made with analog audio out
22:42
<
f_ridge >
<clever___/D> the fix i found makes no sense, but does resolve the issue
22:42
<
f_ridge >
<clever___/D> the goal, was to play a sine wave from 60hz to 2khz, but all of the other lines are noise that is occuring
23:06
<
f_ridge >
<x2x6_/D> interesting
23:11
<
f_ridge >
<x2x6_/D> Last week I also had to look into sine wave generation to transfer it over i2s
23:11
<
f_ridge >
<x2x6_/D> But I don't understand whats on your picture
23:11
<
f_ridge >
<clever___/D> i should get an i2s dac, i expect far fewer problems with that
23:12
<
f_ridge >
<clever___/D> in my case, i convert the 16bit audio from a .wav file into 7bit audio
23:12
<
f_ridge >
<clever___/D> then i just feed that 7bit value to the PWM peripheral, configured for a PWM rate of 48khz
23:12
<
f_ridge >
<x2x6_/D> yeah, you should
23:12
<
f_ridge >
<clever___/D> that PWM runs thru a low-pass filter, turning into an analog value, in proportion to the duty cycle (the 7bit int)
23:12
<
f_ridge >
<clever___/D> and then i just blast every sample from the .wav into the pwm like that
23:13
<
f_ridge >
<clever___/D> i then created a simple sweep file
23:14
<
f_ridge >
<clever___/D> this audio file sweeps from 60hz to 2khz
23:14
<
f_ridge >
<clever___/D> and its creating the main line you can see in the above screenshot
23:15
<
f_ridge >
<x2x6_/D> and what's the other things around?
23:15
<
f_ridge >
<clever___/D> thats what i cant figure out
23:15
<
f_ridge >
<x2x6_/D> That's a pretty cool sweep to listen to at night time)
23:15
<
f_ridge >
<clever___/D> but, if i increase the size of the buffer, that cross-hatching pattern gets tigheter
23:15
<
f_ridge >
<x2x6_/D> I like the first 1/4th of it)
23:16
<
f_ridge >
<clever___/D> and at around 64kb of buffer, the lines are close enough together that you cant see them anymore
23:16
<
f_ridge >
<clever___/D> and it just becomes part of the noise floor
23:16
<
f_ridge >
<clever___/D> i just created it with audacity, the chirp function
23:17
<
f_ridge >
<x2x6_/D> Ok, I've got it.
23:18
<
f_ridge >
<x2x6_/D> Can you show more pictures to see how this changes in dynamics?
23:19
<
f_ridge >
<x2x6_/D> Ok
23:21
<
f_ridge >
<x2x6_/D> And the low pass filter is just a simple circuit hand soldered?
23:21
<
f_ridge >
<clever___/D> its the one built into the rpi
23:22
<
f_ridge >
<clever___/D> this is how the headphone port on the rpi is wired up
23:22
<
f_ridge >
<clever___/D> and this is the rpi4 variant
23:29
<
f_ridge >
<x2x6_/D> Ok, what's the final result you want to get?
23:34
<
f_ridge >
<clever___/D> in an ideal perfect world:
23:37
<
f_ridge >
<clever___/D> a less perfect example, but still without that weird noise
23:44
<
f_ridge >
<x2x6_/D> Btw, do you only work with rpi?
23:44
<
f_ridge >
<clever___/D> mainly just the rpi, but i did get nerd-sniped into doing some risc-v stuff recently, lol