Your mind is brilliant, your code is elegant and tutorial is to the point; easy enough to follow. THANKS!
@ajtheprogrammer65003 жыл бұрын
I just thought and programmed this before 7 days now I got where was my mistake. Thnx for figuring it out bro.
@kyuchumimo2 жыл бұрын
It's incredible how you have managed to do things in pygame that seem impossible, you simply leave me speechless.
@FinFET2 жыл бұрын
Maybe I should make a speech synthesizer then xD
@kyuchumimo2 жыл бұрын
@@FinFET Good idea
@arnielarson18610 ай бұрын
Very cool vidio. I've done a couple quick programs in pygame and am interested in a variety of audio stuff. Great short video!
@SolathPrime3 жыл бұрын
Well normal people play music only OG's programme it
@iandwyer6658 Жыл бұрын
Love this video! Another idea for ideal square waves, maybe try using a unitstep for the period of the tone and have it adjusted by a duty cycle ratio. The general square is u[n]-u[n-N], where the full period is 2x N for a 50% duty cycle where N is the period the signal is high for; easy in MATLAB but Ive never tried python, hence why Im watching this. Im not sure how to make it cyclical without it blocking the program though as you worked around with clipping the high gain sin waves, but you could map the input to a loop where as long as youre pressing the key it keeps increasing the n of the series use a modulus to repeat the series to make it cyclical. Thank you for this great video, I needed it for a school project. Also, you can make a triangle by convolving 2 squares, but you need to watch the length since convolution is length1+length2-1 so you would need to double your frequency... or you could just define your sequences as I suggested with the unitstep
@FinFET Жыл бұрын
interesting, haven't thought about that, thanks for the suggestions!
@GabrielPerboni Жыл бұрын
Hi! I worked for a long time as a musician, but today I don't have the physical ability to do that anymore (I'm going blind), so I spend a lot of time at home. I tried to learn programming through C++ because I wanted to create a synth to suit my needs, but it was too much for my head (: So I'm trying Python and I'm understanding it quite well (for now)... I'm making good progress! I liked your work, but the math part I understood approximately -6%!!! Is this possible? (: Anyway, I was wondering if you could point me to some basic study material, indicate some direction to get to the point where I can program my own synth from scratch. Thank you for your attention and kindness on sharing your work.
@FinFET Жыл бұрын
Hello, I glossed over most details about the physics and math behind it, but there is plenty material available, found this one very helpful: kzbin.info/aero/PLbqhA-NKGP6B6V_AiS-jbvSzdd7nbwwCw
@mlphyzix2 жыл бұрын
fantastic resource, thank you!
@maverickivmoleko28212 жыл бұрын
This is really cool. Is there a way to make it play like a guitar?
@FinFET2 жыл бұрын
You coul try to build a Soundwave similar sounding to a guitar or use samples, which in the future I wanna explore
@ramachandranmn12 жыл бұрын
Really wonderful...thanks dear....
@EvaTruve5 ай бұрын
I like the explanation. Thanks!
@cees5288 Жыл бұрын
Can I use part of this code for an open source synthesizer (will cite ofc)? Also, if you still peruse this comments section can you explain why the pygame mixer cannot interpret 32bit or 64bit arrays to make sin waves? Every time I try to generate a sine wave with a 32 or 64 bit array I get noise. Struggling with the math behind it. Would also welcome some resources to understand this better in a more basic way.
@FinFET Жыл бұрын
No problem, you are free to use it as you may please. I think it is just what is supported by pygame at the moment, wih 8 bit and 16 bit sound www.pygame.org/docs/ref/sndarray.html
@cees5288 Жыл бұрын
@@FinFET Thank you!
@madisyn6745Ай бұрын
thank you for the easy to follow video! just one thing that keeps driving my OCD crazy... it's fourty four thousand one hundredd (44100), not fourty one thousand! but that's just me being nitpicky..... so, great video!
@SkyFly198533 жыл бұрын
Nice... Good for video game development... ✅✅✅✅✅
@TLabsLLC-AI-Development3 жыл бұрын
Thank you bruv.
@tatazinhogame92402 жыл бұрын
1:28 Porquê o seu Audacity esta em português?
@FinFET2 жыл бұрын
Fui descoberto kkkk, geralmente o pessoal pega pelo sotaque heheh tenho um canal em português tbm: kzbin.info/door/NiIkQpZoNUAGHErIrMe9Iw
@supermalavox Жыл бұрын
@@FinFET, vou ter de estudar mais "má temática". Sempre tento entender essa questão de ondas e freqüências de som, mas me atrapalho com tanta multiplicação envolvida! Risos. Pode ser que até 2010 (oops, já passou, né?) eu consiga fazer um audiojogo com sons estilo 8-bits. Quanto ao teu sotaque, lembrei de um amigo meu falando pra não me confundir "2" com "chew" quando eu estava aprendendo Inglês. Acho que o fato de usar leitor de telas (e ter uma voz sintetizada falando no meu ouvido tudo que eu preciso ler o tempo todo) me ajuda nisso! Risos. Enfim, valeu pelo vídeo!
@honeysstar7 ай бұрын
Hey, I'm trying to do this now for my class project since I think it would be really cool to work with, but I keep repeatedly getting an error back. The error says: ValueError: Array depth must match number of mixer channels I've copied your code exactly and it still won't work. Do you have any ideas as to why this may not be working?
@ClauArumihs3 жыл бұрын
I enjoyed the intro, ahahaha
@FinFET3 жыл бұрын
🙈
@michele709 Жыл бұрын
I have a question. What is the RIGHT way to produce a waveform? Also how can you make it so that it doesn’t produce aliasing? If you read from a table you need to “filter” the table to avoid aliasing. How?
@FinFET Жыл бұрын
I think you would need to upsample the data from your table first, to the same sample rate, depends on the type of wave, but you could use some kind of regression or fourier analisys
@michele709 Жыл бұрын
@@FinFET let me see if i’m getting it right. you are suggesting to have a table with few points and to interpolate between them? You have any advide on “how to block only aliased frequencies”?
@FinFET Жыл бұрын
@@michele709 I thought you already had a table, if you are generating the signal from scratch, like in this video, then you could use fourier transform to dampen the frequencies you don't want. there is numpy.fft.fft() and numpy.fft.ifft() yo could use for that
@michele709 Жыл бұрын
@@FinFET i do already have a table. I would like to set some functions or algorithms on the table so that i can control the number of harmonics with a variable (the variable would represent the number of harmonics which are strictly under nyquist frequency). Is there a way to “filter” the table “directly” in the time domain?
@michele709 Жыл бұрын
Eventually I found a way via integration of the band limited impulse train tou can get all of the basic analog shapes withous aliasing. Including the square wave with control over the duty cycle.
@somdasantigas78493 жыл бұрын
👍
@luna134fd3 жыл бұрын
Is very good 👏👏
@fustibal Жыл бұрын
How can we use ChatGPT for sound making, at least in theory?
@FinFET Жыл бұрын
interesting, I asked chatgpt how i could generate sounds that sound similar to an electric guitar and it suggested adding some overtones to the base note, wasn't great but it is something
@JuanGabrielOyolaCardona2 жыл бұрын
Great thanks for sharing 😃🇨🇴
@freewheelburning88342 жыл бұрын
I tried this code in Pycharm with no errors but no sound why?
@FinFET2 жыл бұрын
Any specific Timecode? Does it work outside pycharm? Sorry, it is a bit har to help without seeing your code
@freewheelburning88342 жыл бұрын
@@FinFET well the code is exactly the same as the one you presented thats about as useful as I can be lol
@freewheelburning88342 жыл бұрын
@@FinFET i will try vs code and see if it works there
@FinFET2 жыл бұрын
@@freewheelburning8834 you could try with idle or the command prompt
@freewheelburning88342 жыл бұрын
@@FinFET yes it works in VS, now Im curious why it doesnt work in pch
@SkyFly198533 жыл бұрын
Btw, Jim Carrey is one of my favorite comedians... 😏