Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 18 of 18

Thread: voice like a pilot...(

  1. #1
    Junior Member
    Join Date
    May 2020
    Posts
    6

    voice like a pilot...(

    Hello everyone
    I am new to audio.
    I have teensy 3.2 and the audio shield and I would like to change my voice to make it sound like aeronautical pilots, radio sound ...
    Can anyone help me with this mini project?

  2. #2
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Learn the wording, the slang and the tonality.
    That's about it.
    If you want that AM sound, a bandpass filter could do. Or a cascade of highpass and lowpass.
    BTW: The bandwith of the audio signal is between 300Hz and 3kHz
    Also, there is distortion, so the waveshape block may be needed and a bit of pink noise added

  3. #3
    Junior Member
    Join Date
    May 2020
    Posts
    6
    Hello
    Thanks for answering...
    I'm a novice and I have no idea what you are telling me you say ... wording, slang, tonality ....
    Do you have an example from which I can start or follow?

    thanks....

  4. #4
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Pilots and ATC use specific procedure words and follow rules how conversations are established, followed and ended. There is no such thing like Hollywood's "over and out" for instance.
    Also, there is a special way to pronounce words, to make them better understandable over this bandwidth-limited medium, while maintaining a reasonable speed. This may sound a bit like a monotone foreign dialect.
    https://en.wikipedia.org/wiki/Aeronautical_phraseology
    https://www.liveatc.net/

  5. #5
    Junior Member
    Join Date
    May 2020
    Posts
    6
    hi
    Hello
    I know the aeronautical world very well, I have been flying (in real and in virtual) for more than 20 years and I know the procedures and phraseology.

    I have developed several plugins for x-plane. (.net, using teensy and arduino uno/mega)

    my intention is to use teensy 3.2 and the audio shield so that my voice is heard as if it were speaking on the radio

    thanks

  6. #6
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Use the Teensy Audio Library. https://www.pjrc.com/teensy/td_libs_Audio.html
    This as a starting point for the audio tool https://www.pjrc.com/teensy/gui/
    Code:
    #include <Audio.h>
    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    #include <SerialFlash.h>
    
    // GUItool: begin automatically generated code
    AudioInputI2S            i2s1;           //xy=126,160
    AudioSynthNoiseWhite     noise1;         //xy=135,210
    AudioMixer4              mixer1;         //xy=288,201
    AudioFilterStateVariable filter1;        //xy=419,209
    AudioFilterStateVariable filter2;        //xy=551,210
    AudioSynthNoisePink      pink1;          //xy=552,293
    AudioEffectWaveshaper    waveshape1;     //xy=691,210
    AudioMixer4              mixer2;         //xy=710,301
    AudioOutputI2S           i2s2;           //xy=871,299
    AudioConnection          patchCord1(i2s1, 0, mixer1, 0);
    AudioConnection          patchCord2(i2s1, 1, mixer1, 1);
    AudioConnection          patchCord3(noise1, 0, mixer1, 2);
    AudioConnection          patchCord4(mixer1, 0, filter1, 0);
    AudioConnection          patchCord5(filter1, 1, filter2, 0);
    AudioConnection          patchCord6(filter2, 1, waveshape1, 0);
    AudioConnection          patchCord7(pink1, 0, mixer2, 1);
    AudioConnection          patchCord8(waveshape1, 0, mixer2, 0);
    AudioConnection          patchCord9(mixer2, 0, i2s2, 0);
    AudioConnection          patchCord10(mixer2, 0, i2s2, 1);
    AudioControlSGTL5000     sgtl5000_1;     //xy=132,42
    // GUItool: end automatically generated code
    Edit: I've made a workaround so this code can be imported in the buggy tool.
    Editagain: No, the workaround is not stable. So here is the original code and a screenshot to rebuild the connections in the following post
    Last edited by flashburn; 05-13-2020 at 12:05 PM.

  7. #7
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Click image for larger version. 

Name:	clip.png 
Views:	14 
Size:	4.2 KB 
ID:	20094

    This is a screenshot of the adio tool, because the code import will not work due to an error in this tool that persists since 2017.

  8. #8
    Junior Member
    Join Date
    May 2020
    Posts
    6
    thank you..
    i need to make any special config o use any previous code o juste pasting the code in gui ?
    thanks and sorry.... i m newbie...

  9. #9
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Sorry for being a bit ignorant at the beginning. My partner used to chaff with imitating me in his comical way. Now I'd be happy to hear that once more.

    Yes, just read the links I've posted. There is a nice tutorial as well.
    Use the code and the image to rebuild the flow in the audio tool. If you click on the blocks, you get information on how they work. Also, look at the examples given in Teensyduino. I see no point in prefabricating the complete code for you, because then you would not learn.
    If you have a specific question, I'll see if I can help.

  10. #10
    Quote Originally Posted by flashburn View Post
    Use the Teensy Audio Library. https://www.pjrc.com/teensy/td_libs_Audio.html
    This as a starting point for the audio tool https://www.pjrc.com/teensy/gui/
    Code:
    #include <Audio.h>
    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    #include <SerialFlash.h>
    
    // GUItool: begin automatically generated code
    AudioInputI2S            i2s1;           //xy=126,160
    AudioSynthNoiseWhite     noise1;         //xy=135,210
    AudioMixer4              mixer1;         //xy=288,201
    AudioFilterStateVariable filter1;        //xy=419,209
    AudioFilterStateVariable filter2;        //xy=551,210
    AudioSynthNoisePink      pink1;          //xy=552,293
    AudioEffectWaveshaper    waveshape1;     //xy=691,210
    AudioMixer4              mixer2;         //xy=710,301
    AudioOutputI2S           i2s2;           //xy=871,299
    AudioConnection          patchCord1(i2s1, 0, mixer1, 0);
    AudioConnection          patchCord2(i2s1, 1, mixer1, 1);
    AudioConnection          patchCord3(noise1, 0, mixer1, 2);
    AudioConnection          patchCord4(mixer1, 0, filter1, 0);
    AudioConnection          patchCord5(filter1, 1, filter2, 0);
    AudioConnection          patchCord6(filter2, 1, waveshape1, 0);
    AudioConnection          patchCord7(pink1, 0, mixer2, 1);
    AudioConnection          patchCord8(waveshape1, 0, mixer2, 0);
    AudioConnection          patchCord9(mixer2, 0, i2s2, 0);
    AudioConnection          patchCord10(mixer2, 0, i2s2, 1);
    AudioControlSGTL5000     sgtl5000_1;     //xy=132,42
    // GUItool: end automatically generated code
    Edit: I've made a workaround so this code can be imported in the buggy tool.
    Editagain: No, the workaround is not stable. So here is the original code and a screenshot to rebuild the connections in the following post
    flashburn:

    In the early design of my TeensyMIDIPolySynth (https://forum.pjrc.com/threads/60690...l=1#post237404), I ran into the same GUI bug. I found that if you throw in extra mixer(s) (as many as needed) to "sink" the unused low-pass filter outputs (e.g. using your layout, add mixer3_1 in the listing below, with patch cords 5 & 8), then you can bypass the GUI bug. In my final layout for the TeensyMIDIPolySynth, I eventually ended up using all of the filter outputs, so I did not need to make use of this workaround. Give it a try & see if it works for you (& maybe it will give some useful clue(s) to ultimately resolving the GUI bug !!) . . .

    Code:
    #include <Audio.h>
    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    #include <SerialFlash.h>
    
    // GUItool: begin automatically generated code
    AudioInputI2S            i2s1_1;         //xy=145,240
    AudioSynthNoiseWhite     noise1_1;       //xy=145,290
    AudioMixer4              mixer1_1;       //xy=315,240
    AudioFilterStateVariable filter1_1;      //xy=460,240
    AudioSynthNoisePink      pink1_1;        //xy=565,355
    AudioFilterStateVariable filter2_1;      //xy=630,240
    AudioMixer4              mixer2_1;       //xy=770,370
    AudioEffectWaveshaper    waveshape1_1;   //xy=795,240
    AudioMixer4              mixer3_1;       //xy=810,105
    AudioOutputI2S           i2s2_1;         //xy=920,370
    AudioConnection          patchCord1(i2s1_1, 0, mixer1_1, 0);
    AudioConnection          patchCord2(i2s1_1, 1, mixer1_1, 1);
    AudioConnection          patchCord3(noise1_1, 0, mixer1_1, 2);
    AudioConnection          patchCord4(mixer1_1, 0, filter1_1, 0);
    AudioConnection          patchCord5(filter1_1, 0, mixer3_1, 0);
    AudioConnection          patchCord6(filter1_1, 1, filter2_1, 0);
    AudioConnection          patchCord7(pink1_1, 0, mixer2_1, 1);
    AudioConnection          patchCord8(filter2_1, 0, mixer3_1, 1);
    AudioConnection          patchCord9(filter2_1, 1, waveshape1_1, 0);
    AudioConnection          patchCord10(mixer2_1, 0, i2s2_1, 0);
    AudioConnection          patchCord11(mixer2_1, 0, i2s2_1, 1);
    AudioConnection          patchCord12(waveshape1_1, 0, mixer2_1, 0);
    AudioControlSGTL5000     sgtl5000_1_1;   //xy=146,185
    // GUItool: end automatically generated code
    Mark J Culross
    KD5RXT
    Last edited by kd5rxt-mark; 05-13-2020 at 04:13 PM. Reason: clarified to specify that the low-pass fiter output induces the problem

  11. #11
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,812
    Just to confirm, I was able to reproduce the problem with msg #6. If either patchCord5 or patchCord6 are present, it gives an error importing.

    At first it appears nothing happened, but then clicking in the canvas makes the partially imported data appear.

  12. #12
    Member
    Join Date
    Jan 2020
    Location
    Italy
    Posts
    88
    Frank B has found a solution, see 1.52 Beta #4 thread.
    https://github.com/PaulStoffregen/Au...078b88837cfabe

    I've tested it with several projects that were not possible to import before the fix. Now they can be imported, modified and work as expected.
    So even if it does cure the symptom of a bug hidden elsewhere, this fix does work and it makes the tool usable and useful at last.

    @otomas
    Is your project going on?

    In the zip you find a new version of the file nodes.js which is part of the audio gui in the audio library. With this file, the error does not prevent re-import of code.
    Attached Files Attached Files
    Last edited by flashburn; 05-14-2020 at 08:00 PM.

  13. #13
    Senior Member PaulS's Avatar
    Join Date
    Apr 2015
    Location
    Netherlands
    Posts
    136
    Just replied in this thread https://forum.pjrc.com/threads/45216...I-related-bugs:
    ------------------------------------------------
    Copied Paul's new committed nodes.js over the existing C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Audio\ gui\red\nodes.js but still got the "Error: TypeError: Cannot read property 'split' of null" popup when importing the lines from msg #3.
    Using Chrome on Windows 7. I closed the browser completely, cleared the browser cache and opened it again. Same popup.
    Arduino 1.8.12, Teensyduino 1.51.
    ------------------------------------------------

    Not sure whether we should continue the issue in this thread or in #45216...

    Regards,
    Paul

  14. #14
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,812
    I merged Frank's fix and put it on the main website.

  15. #15
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,874
    Hm the website still delivers the old version.
    Maybe wait some time (caching somewhere)

    Edit:In Firefox it helped to press STRG+F5 (forced local cache to reload)
    Edit: On English keyboards it might be CTRL+F5

  16. #16
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,812
    Holding the shift key while clicking the refresh button also causes a complete refresh.

  17. #17
    Junior Member
    Join Date
    May 2020
    Posts
    6
    hi yes...
    i m try to make a voice changer to listen my voice like "radio"...
    i m very frustrated....

  18. #18
    Junior Member
    Join Date
    May 2020
    Posts
    6
    I have attached an audio example of what I would like to achieve, but I don't know how or where to start, I have read and understand how to achieve the result.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •