Home
Experimental Multimedia Channel

Wiki Updates

Sox

3 weeks 4 days ago

Created page with "= SoX − Sound eXchange, the Swiss Army knife of audio manipulation = == SYNOPSIS == sox [global-options] [ format-options] infile1 [[format-options] infile2] . .. [format-op..."

New page

= SoX − Sound eXchange, the Swiss Army knife of audio manipulation =
== SYNOPSIS ==
sox [global-options] [ format-options] infile1
[[format-options] infile2] . .. [format-options] outfile
[effect [effect-options]] ...
play [global-options] [ format-options] infile1
[[format-options] infile2] . .. [format-options]
[effect [effect-options]] ...
rec [global-options] [ format-options] outfile
[effect [effect-options]] ...
== DESCRIPTION ==
=== Introduction ===
SoX reads and writes audio files in most popular formats and can optionally apply effects to them. It can
combine multiple input sources, synthesise audio, and, on many s ystems, act as a general purpose audio
player or a multi-track audio recorder. It a lso has limited ability to split the input into multiple output files.
All SoX functionality is available using just the sox command. To s implify playing and recording audio, if
SoX is invoked a s play, t he output file is automatically set to be the default sound device, and if invoked a s
rec, t he default sound device is used as an input source. Additionally, t he soxi(1) command provides a con-
venient way to just query audio file header information.
The heart of SoX is a library called libSoX. Those interested in extending SoX or using it in other pro-
grams should refer to the libSoX manual page: libsox(3).
SoX is a command-line audio processing tool, particularly suited to making quick, simple edits and to batch
processing. If you need an interactive, g raphical audio editor, u se audacity(1).

=== File Format Types ===
SoX can work with ‘self-describing’ and ‘raw’ audio files. ‘self-describing’ formats (e.g. WAV , FLAC,
MP3) have a header that completely describes the signal and encoding attributes of the audio data that fol-
lows. ‘raw’ or ‘headerless’ formats do not contain this information, so the audio characteristics of these
must be described on the SoX command line or inferred from those of the input file.
The following four characteristics are used to describe the format of audio data such that it can be pro-
cessed with SoX:
==== sample rate ====
The sample rate in samples per second (‘Hertz’ or ‘Hz’). Digital telephony t raditionally uses a
sample rate of 8000 Hz (8 kHz), though these days, 16 and even 3 2 k Hz are becoming more com-
mon. Audio Compact Discs use 44100 Hz (44.1 k Hz). Digital Audio Tape and many c omputer
systems use 48 kHz. Professional audio systems often use 96 kHz.
==== sample size ====
The number of bits used to store each sample. To day, 1 6-bit is commonly used. 8-bit was popular
in the early days of computer audio. 24-bit is used in the professional audio arena. Other sizes are
also used.
==== data encoding ====
The way in which each audio sample is represented (or ‘encoded’). Some encodings have variants
with different byte-orderings or bit-orderings. Some compress the audio data so that the stored
audio data takes up less space (i.e. disk space or transmission bandwidth) than the other format
parameters and the number of samples would imply. C ommonly-used encoding types include
floating-point, μ-law, ADPCM, signed-integer PCM, MP3, and FLAC.
==== channels ====
The number of audio channels contained in the file. One (‘mono’) and two ( ‘stereo’) are widely
used. ‘Surround sound’ audio typically contains six or more channels.
The term ‘bit-rate’ is a measure of the amount of storage occupied by an encoded audio signal over a u nit
of time. It can depend on all of the above and is typically denoted as a number of kilo-bits per second
(kbps). An A-law t elephony s ignal has a bit-rate of 64 kbps. MP3-encoded stereo music typically has a bit-
rate of 128−196 kbps. FLAC-encoded stereo music typically has a bit-rate of 550−760 kbps
Techbot

RTL-SDR

3 weeks 4 days ago

← Older revision Revision as of 08:48, 2 September 2021 Line 117: Line 117:   rtl_fm -f 96.3e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE  rtl_fm -f 96.3e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

On a Mac, a similar command that works is as follows. This assumes that the sox package is installed, 'port install sox':On a PC or  Mac, a similar command that works is as follows. This assumes that the [[sox]] package is installed

  rtl_fm -f 90100000 -M wbfm -s 200000 -r 48000 - | play -r 48000 -t s16 -L -c 1  -  rtl_fm -f 90100000 -M wbfm -s 200000 -r 48000 - | play -r 48000 -t s16 -L -c 1  -
Techbot

C++

3 weeks 4 days ago

IDEs & Tools

← Older revision Revision as of 22:51, 1 September 2021 (2 intermediate revisions by the same user not shown)Line 39: Line 39: == IDEs & Tools ==== IDEs & Tools ==

* Windows: === Windows === ** [[Visual Code]]** [[Visual Code]] - Plugin Based IDE Works well with MingGW64 & GCC. Similat to PhpStorm and otheri intellisense based IDEsWorks well with MingGW64 & GCC. Similar to PhpStorm and other intellisense based IDEs

** Mingw-w64 ==== MSYS2 - Windows Package Manager ==== Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software.

** CmakeIt consists of a command line terminal called mintty, bash, version control systems like git and subversion, tools like tar and awk and even build systems like autotools, all based on a modified version of Cygwin. Despite some of these central parts being based on Cygwin, the main focus of MSYS2 is to provide a build environment for native Windows software and the Cygwin-using parts are kept at a minimum. MSYS2 provides up-to-date native builds for GCC, mingw-w64, CPython, CMake, Meson, OpenSSL, FFmpeg, Rust, Ruby, just to name a few.   To provide easy installation of packages and a way to keep them updated it features a package management system called Pacman, which should be familiar to Arch Linux users. It brings many powerful features such as dependency resolution and simple complete system upgrades, as well as straight-forward and reproducible package building. Our package repository contains more than 2000 pre-built packages ready to install.   For more details see 'What is MSYS2?' which also compares MSYS2 to other software distributions and development environments like Cygwin, WSL, Chocolatey, Scoop, ... and 'Who Is Using MSYS2?' to see which projects are using MSYS2 and what for.   ==== Mingw-w64 - GCC runtime environment ==== The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems. Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.   ==== Cmake - Cross Platform compiler-independant builder ==== Make is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.Make is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. Allows for the configuration of multiple build environments across different platforms, especially useful for teams that use different OSAllows for the configuration of multiple build environments across different platforms, especially useful for teams that use different OS

** GCC==== GCC ==== The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.

** [[Code Blocks]](open source)==== [[Code Blocks]](open source)==== ** [[Visual Studio]] (Closed Source).==== [[Visual Studio]] (Closed Source)====

* MAC=== MAC ===

* Linux=== Linux ===

== Hardware ==== Hardware ==
Techbot

Python

3 weeks 4 days ago

← Older revision Revision as of 21:54, 1 September 2021 Line 1: Line 1: Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

The standard prrogramming language for data science and for us especially:The standard programming language for data science and for us especially:

* [[Machine Learning]], [[Deep  Learning]] using [[tensorflow]] or [[pytorch]])* [[Machine Learning]], [[Deep  Learning]] using [[tensorflow]] or [[pytorch]]) Line 8: Line 8:

Also used to interface with 3d software such as poser 3d/blender and audacity and Libre Office.Also used to interface with 3d software such as poser 3d/blender and audacity and Libre Office. = Package Manager = * Miniconda is a minimal installer of conda * Conda is an open-source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs, and updates packages and their dependencies. Conda easily creates, saves, loads, and switches between environments on your local computer. It was created for Python programs but it can package and distribute software for any language.

===Statements and control flow====Statements and control flow= Python's Statement include (among others):Python's Statement include (among others): * The Assignment (computer science)|assignment statement, using a single equals sign <code>=</code>.* The Assignment (computer science)|assignment statement, using a single equals sign <code>=</code>.
Techbot

C++

3 weeks 4 days ago

IDEs & Tools

← Older revision Revision as of 21:46, 1 September 2021 (4 intermediate revisions by the same user not shown)Line 4: Line 4: Uses include [[Vst]] and [[VCVRack]] plugin development.Uses include [[Vst]] and [[VCVRack]] plugin development.

== Tutorials ==== Essential Tutorials == * https://cmake.org/cmake/help/latest/guide/tutorial/index.html     == Audio Tutorials == * [https://exercism.org/tracks/cpp Exercism.org] Massive Computer Language Tutorial System* [https://exercism.org/tracks/cpp Exercism.org] Massive Computer Language Tutorial System * VCVRack* VCVRack Line 33: Line 37: JUCE has hundreds of classes covering a vast range of tasks from high-level user-interface handling right down to low-level collections, networking, strings, etc. Supported platforms are OSX, Windows, Linux, iOS and Android, and the Introjucer project management tool makes it a breeze to create and maintain cross-platform projects.JUCE has hundreds of classes covering a vast range of tasks from high-level user-interface handling right down to low-level collections, networking, strings, etc. Supported platforms are OSX, Windows, Linux, iOS and Android, and the Introjucer project management tool makes it a breeze to create and maintain cross-platform projects.

== IDEs ==== IDEs & Tools ==

* Windows:  * Windows:   ** [[Visual Code]]** [[Visual Code]] Works well with MingGW64 & GCCWorks well with MingGW64 & GCC. Similat to PhpStorm and otheri intellisense based IDEs   ** Mingw-w64 Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.   ** Cmake Make is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. Allows for the configuration of multiple build environments across different platforms, especially useful for teams that use different OS   ** GCC The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.   ** [[Code Blocks]](open source)** [[Code Blocks]](open source) ** [[Visual Studio]] (Closed Source).** [[Visual Studio]] (Closed Source).
Techbot

C++

3 weeks 4 days ago

← Older revision Revision as of 20:25, 1 September 2021 Line 4: Line 4: Uses include [[Vst]] and [[VCVRack]] plugin development.Uses include [[Vst]] and [[VCVRack]] plugin development.

== Tutorials ==== Essential Tutorials == * https://cmake.org/cmake/help/latest/guide/tutorial/index.html     == Audio Tutorials == * [https://exercism.org/tracks/cpp Exercism.org] Massive Computer Language Tutorial System* [https://exercism.org/tracks/cpp Exercism.org] Massive Computer Language Tutorial System * VCVRack* VCVRack
Techbot

Coding

3 weeks 4 days ago

Tutorials

← Older revision Revision as of 19:47, 1 September 2021 (One intermediate revision by the same user not shown)Line 6: Line 6: * [[C++]]* [[C++]] ** [[JUCE]]** [[JUCE]] ** [[VULT]] * [[Javascript]]* [[Javascript]]

** [[Node.js]]** [[Node.js]] ** [[Web Audio]]

* [[Python]]* [[Python]]
Techbot

Build a synth in VCVRack

3 weeks 4 days ago

← Older revision Revision as of 19:46, 1 September 2021 Line 1: Line 1: [http://cdm.link/2017/12/step-one-wire-vcv-rack-free-modular-software/ cdm primer]Several Beginner Web and Video tutorials for [[VCVRack]] the Open Source [[Eurorack]] Emulator

[https://www.youtube.com/watch?list=PLxqsxQTxhCD-C7Y7BwA1svEXxtPI8tKz_&v=jXQNhpu_vJw modular curiosity series]* [http://cdm.link/2017/12/step-one-wire-vcv-rack-free-modular-software/ cdm primer]   * [https://www.youtube.com/watch?list=PLxqsxQTxhCD-C7Y7BwA1svEXxtPI8tKz_&v=jXQNhpu_vJw modular curiosity series]
Techbot

VCVrack

3 weeks 4 days ago

Techbot deleted page VCVrack content before blanking was: "An open-source virtual modular synth featuring software versions of some of the most popular Eurorack modules on the market is available to download for free. VCV Rack isn't the only software modular available: Native Instruments' Reaktor Blocks and Softube's Modular offer users their own virtual Eurorack system, but these come with a hefty price tag. VCV Rack can be downloaded for free on Linux, Mac and Windows platform, with the source code available at Githu..."

Techbot

C++

3 weeks 4 days ago

IDEs

← Older revision Revision as of 19:37, 1 September 2021 (One intermediate revision by the same user not shown)Line 10: Line 10: * Pulse Audio* Pulse Audio

== Frameworks & Libraries Supported by EMC ==  == Frameworks & Libraries Supported by EMC23 ==   * [[PortAudio]]* [[PortAudio]] PortAudio is a free, cross-platform, open-source, audio I/O library.  It lets you write audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. It provides a very simple API for recording and/or playing sound using a simple callback function.PortAudio is a free, cross-platform, open-source, audio I/O library.  It lets you write audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. It provides a very simple API for recording and/or playing sound using a simple callback function. Line 37: Line 37: * Windows:  * Windows:   ** [[Visual Code]]** [[Visual Code]] Works well with MingGW64 & GCC ** [[Code Blocks]](open source)** [[Code Blocks]](open source) ** [[Visual Studio]] (Closed Source).** [[Visual Studio]] (Closed Source). I find [[Visual Studio]] has more support from [[Juce]].

* MAC* MAC
Techbot

Coding

3 weeks 4 days ago

Hardware

← Older revision Revision as of 19:34, 1 September 2021 (One intermediate revision by the same user not shown)Line 1: Line 1:

* https://github.com/olilarkin/awesome-musicdsp* https://github.com/olilarkin/awesome-musicdsp

== Tutorials ==== Tutorials == Line 15: Line 11:

* [[Python]]* [[Python]] == Hardware == * [[Bela]] * [[Arduino]] * [[Raspberry Pi]] * [[RTL-SDR]]

== Learning Platform ==== Learning Platform == [//:exercism.io exercism.io][//:exercism.io exercism.io]

= Live Coding =  == Live Coding ==  

==== DJs of the Future Don't Spin Records—They Write Code ======== DJs of the Future Don't Spin Records—They Write Code ==== Line 25: Line 27: https://www.wired.com/story/algoraves-live-coding-djs/https://www.wired.com/story/algoraves-live-coding-djs/

=== Platforms ====== LiveCoding Platforms === * [[Squeek]]* [[Squeek]] * [[P5live.js]]* [[P5live.js]]

=Creative Coding === Creative Coding == * https://www.meetup.com/Creative-Coding-amsterdam/* https://www.meetup.com/Creative-Coding-amsterdam/

Techbot

Main Page

3 weeks 4 days ago

Cost

← Older revision Revision as of 19:30, 1 September 2021 (One intermediate revision by the same user not shown)Line 142: Line 142: === Cost ====== Cost ===

* Evening sessions : 300 Euro per Quarter* Membership : 300 Euro per Quarter * Cost is dependant on particpation (with reductions for mentors etc)* Cost is reduced for volunteers * Free for mentors </div></div>
Techbot

RTL-SDR

3 weeks 4 days ago

Created page with "RTL-SDR is a very cheap ~$25 USB dongle that can be used as a computer based radio scanner for receiving live radio signals in your area (no internet required). Depending on t..."

New page

RTL-SDR is a very cheap ~$25 USB dongle that can be used as a computer based radio scanner for receiving live radio signals in your area (no internet required). Depending on the particular model it could receive frequencies from 500 kHz up to 1.75 GHz. Most software for the RTL-SDR is also community developed, and provided free of charge.

What is Software Defined Radio?

Radio components such as modulators, demodulators and tuners are traditionally implemented in analogue hardware components. The advent of modern computing and analogue to digital converters allows most of these traditionally hardware based components to be implemented in software instead. Hence, the term software defined radio. This enables easy signal processing and thus cheap wide band scanner radios to be produced.
What are some RTL-SDR Radio Scanner Applications?

The RTL-SDR can be used as a wide band radio scanner. Applications include:

Use as a police radio scanner.
Listening to EMS/Ambulance/Fire communications.
Listening to aircraft traffic control conversations.
Tracking aircraft positions like a radar with ADSB decoding.
Decoding aircraft ACARS short messages.
Scanning trunking radio conversations.
Decoding unencrypted digital voice transmissions such as P25/DMR/D-STAR.
Tracking maritime boat positions like a radar with AIS decoding.
Decoding POCSAG/FLEX pager traffic.
Scanning for cordless phones and baby monitors.
Tracking and receiving meteorological agency launched weather balloon data.
Tracking your own self launched high altitude balloon for payload recovery.
Receiving wireless temperature sensors and wireless power meter sensors.
Listening to VHF amateur radio.
Decoding ham radio APRS packets.
Watching analogue broadcast TV.
Sniffing GSM signals.
Using rtl-sdr on your Android device as a portable radio scanner.
Receiving GPS signals and decoding them.
Using rtl-sdr as a spectrum analyzer.
Receiving NOAA weather satellite images.
Listening to satellites and the ISS.
Radio astronomy.
Monitoring meteor scatter.
Listening to FM radio, and decoding RDS information.
Listening to DAB broadcast radio.
Listening to and decoding HD-Radio (NRSC5).
Use rtl-sdr as a panadapter for your traditional hardware radio.
Decoding taxi mobile data terminal signals.
Use rtl-sdr as a high quality entropy source for random number generation.
Use rtl-sdr as a noise figure indicator.
Reverse engineering unknown protocols.
Triangulating the source of a signal.
Searching for RF noise sources.
Characterizing RF filters and measuring antenna SWR.
Decoding Inmarsat STD-C EGC geosynchronous satellites.
Listening to the ISS (International Space Station).

Furthermore, with an upconverter or V3 RTL-SDR dongle to receive HF signals the applications are expanded to:

Listening to amateur radio hams on SSB with LSB/USB modulation.
Decoding digital amateur radio ham communications such as CW/PSK/RTTY/SSTV.
Receiving HF weatherfax.
Receiving digital radio mondiale shortwave radio (DRM).
Listening to international shortwave radio.
Looking for RADAR signals like over the horizon (OTH) radar, and HAARP signals.

Note that not all the applications listed may be legal in your country. Please be responsible.
What is the RTL-SDR frequency range?

This is dependent on the particular tuner variant used in the dongle, and the particular implementation. Some dongles, like our RTL-SDR Blog V3 also utilize the direct sampling mode which can enable reception below 28 MHz.
Tuner Frequency range
Elonics E4000 52 – 2200 MHz with a gap from 1100 MHz to 1250 MHz (varies)
Rafael Micro R820T/2 24 – 1766 MHz (Can be improved to ~13 - 1864 MHz with experimental drivers)
Fitipower FC0013 22 – 1100 MHz
Fitipower FC0012 22 – 948.6 MHz
FCI FC2580 146 – 308 MHz and 438 – 924 MHz (gap in between)

Table Source: Osmocom

As you can see from the table, the Elonics E4000 and Rafael Micro R820T/2 dongles have the greatest frequency range.
What is the RTL-SDRs sample rate?

The maximum sample rate is 3.2 MS/s (mega samples per second). However, the RTL-SDR is unstable at this rate and may drop samples. The maximum sample rate that does not drop samples is 2.56 MS/s, however some people have had luck with 2.8MS/s and 3.2 MS/s working well on some USB 3.0 ports.

Dropped samples are okay if you are just visualizing the spectrum, but will cause problems if you want to demodulate/decode signals.



Useful Links

http://sdr.osmocom.org/trac/wiki/rtl-sdr - Official RTL-SDR Osmocom website

http://www.reddit.com/r/RTLSDR - Reddit RTL-SDR forum

www.rtlsdr.org - RTL-SDR community Wiki (not updated in a while)

http://www.dxzone.com/ - A good ham related database useful for research

http://www.dangerousprototypes.com - A blog about open source hardware projects that often has SDR related posts.

http://www.hackaday.com - A blog about DIY hardware that also often has SDR related posts.

http://radioforeveryone.com/ - Formerly known as "SDR4Mariners". Another blog about RTL-SDR and radio projects.

http://labyrinth13.com/ - Strange Beacons. Radio user who records and makes videos about several interesting signals he finds. Often uses an RTL-SDR.

https://www.elecrow.com/ - Full Raspberry Pi Kit. Probably useful for an RTL-SDR carry kit.

For a comprehensive book about the RTL-SDR you may be interested in our eBook available on Amazon.

The Hobbyist's Guide to the RTL-SDR: Really Cheap Software Defined radio.
Techbot

C++

3 weeks 4 days ago

Hardware

← Older revision Revision as of 18:43, 1 September 2021 (2 intermediate revisions by the same user not shown)Line 46: Line 46:

== Hardware ==== Hardware == [[Bela]]* [[Bela]] * [[Arduino]] * [[RTL-SDR]]

== Books ==== Books == The Audio Programming BookThe Audio Programming Book
Techbot
Checked
59 minutes 23 seconds ago
Track the most recent changes to the wiki in this feed.
Subscribe to Wiki Updates feed