Генератор случайных звуковых сигналов

Online Tone Generator

Instructions

To play a constant tone, click Play or press Space .

To change the frequency, drag the slider or press ← → (arrow keys). To adjust the frequency by 1 Hz, use the buttons or press Shift + ← and Shift + → . To adjust the frequency by 0.01 Hz, press Ctrl + ← and Ctrl + → ; to adjust it by 0.001 Hz, press Ctrl + Shift + ← and Ctrl + Shift+ → To halve/double the frequency (go down/up one octave), click ×½ and ×2 .

To change the wave type from a sine wave (pure tone) to a square/triangle/sawtooth wave, click the button.

You can mix tones by opening the Online Tone Generator in several browser tabs.

What can I use this tone generator for?

Tuning instruments, science experiments (what’s the resonant frequency of this wineglass?), testing audio equipment (how low does my subwoofer go?), testing your hearing (what’s the highest frequency you can hear? are there frequencies you can hear in only one ear?).

Tinnitus frequency matching. If you have pure-tone tinnitus, this online frequency generator can help you determine its frequency. Knowing your tinnitus frequency can enable you to better target masking sounds and frequency discrimination training. When you find a frequency that seems to match your tinnitus, make sure you check frequencies one octave higher (frequency Г— 2) and one octave lower (frequency Г— ВЅ), as it is easy to confuse tones that are one octave apart.

Alzheimer’s disease. There is some early-stage scientific evidence that listening to a 40 Hz tone can reverse some of the molecular changes in the brains of Alzheimer’s patients. This is one of these things that sound too good to be true, but early results are very promising. Here’s a summary of the research so far and a report from a user who tried 40 Hz therapy on his wife. (Note that this tone generator is not a medical device – I don’t guarantee anything!)

Comments

You can leave comments here.

Support this site

If you use the Online Tone Generator and find it helpful, please support it with a little bit of money. Here’s the deal: My goal is to keep maintaining this site to make sure it stays compatible with current browser versions. Unfortunately, this takes a non-trivial amount of time (for example, figuring out an obscure browser bug can take many hours of work), which is a problem because I have to make a living. Donations from awesome, good-looking users like you buy me time to keep things running.

So if you think this tone generator is worth it, please support it with some money to help keep it online. The amount is entirely up to you – I only ask for what you consider fair price for the value you’re getting. Thanks!

Источник

Тонгенератор (Онлайн воспроизведение звука на определенной заданной Вами частоте и громкости. Используется для настройки звучания или тестирования акустики/сабвуфера)

Как пользоваться тонгенератором для установки нужной частоты среза на регуляторе фильтра усилителя.

Для начала на вход усилителя нужно подать аудиосигнал с устройства (ПК, смартфон и т.д.), подключенного к интернету и воспроизводящего звук.

Все остальные устройства от входа усилителя нужно отключить.

Убедившись, что звук с подключенного к усилителю устройства воспроизводится можно начинать настройку фильтров усилителя.

Рассмотрим настройку фильтров усилителя на примере двухполосной системы, построенной на поканальном подключении к 4-х канальному усилителю.

Допустим, высокочастотники (твитера) подключены на выходы усилителя 1 и 2. Подключаем на соответствующие входы усилителя тонренератор.

Если твитер должен работать с ограничением в 4000 Гц — устанавливаем эту частоту на тонгенераторе. На усилителе, при этом, нужно установить регулятор HPF на более высокое значение (например на 8000 Гц или в крайнее положение ручки регулятора). Включаем тонгенератор и очень плавно и медленно поворачиваем ручку регулятора в обратном направлении до тех пор, пока не услышим в твитерах заданный тонсигнал. Как только громкость тонсигнала перестала прибавляться при повороте ручки — это означает, что фильтр усилителя установлен на заданной частоте в 4000 Гц.

Читайте также:  Аксиальный генератор что это

Теперь нужно настроить мидбас.

Переключаем устройство с тонгенератором с входов 1 и 2 на входы 3 и 4.

Сначала настраиваем HPF на частоте, к примеру 65 Гц (настраивается так же как и для твитера). После того как настройка HPF закончена, переходим к настройке LPF (фильтра низких частот).

Устанавливается частота, например те же 4000 Гц, на тонгенераторе. Ручкой регулятора LPF на усилителе устанавливаем значение, ниже заданной частоты тонгенератора.

Включаем тонсигнал и медленно поворачиваем регулятор вперед.

Когда мы услышим в настраиваемом динамике сигнал тонгенератора и громкость его перестанет возрастать при повороте ручки — заданное значение фильтра установлено.

Все остальные компоненты системы настраиваются точно так же.

Источник

Программная генерация звуков

Звук можно представить ввиде бесконечного количества волн различной частоты
и амплитуды. Волны, в свою очередь, могут иметь практически любую форму.
Из самых распространенных и чаще всего используемых можно назвать: синусоидальная (sine), квадратная (square), пилообразная(saw), треугольная (triangle), и шум (noise). Сначала попробуем разобраться с основными параметрами волны: период и амплитуда.

Частота (измеряется в герцах) — количество периодов в секунду. Например при частоте 44100Hz количество периодов равно 44100. Теперь когда основные термины изучены перейдем непосредственно к алгоритму генерации волн.

float samplerate; // частота сэмпла
float wavefrequency; // частота волны
float wavevolume; // громкость волны

float period=samplerate/wavefrequency/2; //вычисляем период волны
float pi=3.14; //число pi
int n;

Например нам надо получить 16-килобайтный синусоидальный звук частотой 1000Hz и при этом качество сэмпла должно быть 44100Hz, тогда наши параметры будут иметь следующие значения: samplerate=44100, wavefrequency=1000, samplelenght=16384.

Особенного пояснения требует параметр wavevolume. Издавна известно, что качество звука пропорционально зависит от его битности (8-bit, 16-bit, 24-bit и т.д.). Для 8-bit — значение от 0..255, для 16-ти – 0. 65536, для 24-х – 0. 16777216. Какой выбрать? Смотря какая у вас задача, но меньше 16-ти я бы не посоветовал (хотя бывают и исключения – когда надо сократить объем сэмпла взамен качеству).

2) Пилообразная волна (saw)

float sr_2m=samplerate/wavefrequency; //Вычисляем период
int c=0; //Специальная переменная для проверки
//на окончание периода

for(int a=0;a =sr_2m) c=0; //если период закончился, то начать следующий
buffer[a]=wavevolume*(c/period)-wavevolume; //вычисление волны
c++;
>

3) Треугольная (triangle)

float period=samplerate/wavefrequency/2; //вычисляем период волны
int c=period*2;
int c2=-1;
float sr_2m=period;
float sr=samplerate/wavefrequency/4;

for(int a=0;a sr_2m) c=sr_2m,c2=-1;
if(c

Теперь усложним задачу — сложим две волны разной частоты и амплитуды.

float tone1=65,tone2=131;
float samplerate=44100/2; // Частота дискретизации
int a,b,amp1=128,amp2=64;

С таким сэмплом уже можно писать мелодии. В принципе, это основа wave
synthesis при помощи которой можно создать любой звук.

И напоследок пара советов:

1) Для получения более насыщенного звука складывайте волны с различными
формами: sine+square, triangle+saw, или вот такой вот монстр: saw+square+
triangle+saw.
2) Перкусия (hat) лучше всего получается путем сложения noise+sine.

Читают сейчас

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Генерация звука на микроконтроллерах AVR методом волновых таблиц с поддержкой полифонии

Генерация звука для Unity-проектов с помощью Chuck и OSC

Разработка интерактивных систем на OpenFrameworks: Интерактивный звук

Вакансии

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Минуточку внимания

Комментарии 40

Незачем предвычислять амплитуды отсчетов на весь семпл.

Как категорично. Нет, если мы говорим о синтезе именно звука, то есть того, что принято слышать ушами, лучше считать напрямую.
1. На компьютере проще посчитать sin, чем брать число из таблицы, которая еще должна в кэш влезать.
2. На контроллере лучше использовать следующий алгоритм, основанный на решении дифференциального уравнения, в котором синусы в цикле вообще не нужны:
Init:
y1=sin(ip-w)
y2=sin(ip-2*w)

Loop:
y0 = b1*y1 — y2
y2 = y1
y1 = y0

Читайте также:  Генератор ямз 536 артикул

> Незачем предвычислять амплитуды отсчетов на весь семпл.
Это был скорее комментарий к приведенному в статье коду. Если нужно сгенерировать 1000 периодов синусоиды, совершенно незачем повторять цикл 1000 раз, достаточно обсчитать один период. Нет, даже четверть периода, а потом периодически менять знак результата и переворачивать порядок отсчетов.
Если генерим что-то посложнее синусоиды, этот трюк может не сработать.

А за подход с решением (точнее, аппроксимацией, так?) дифура на ходу — отдельное спасибо!

Можно немножечко погуглить по словам WAVE, RIFF, PCM, чтобы получить ссылки вроде: раз, два, три — где вполне нормально описан формат, известный как *.wav и потом его слушать в чём угодно.

PS если всё же понадобится помощь помощь — обращайтесь 🙂

Sine + Square: moon.fm/ayj/
Triangle + Saw: moon.fm/ayl/
Saw + Square + Triangle + Saw: moon.fm/ayk/

Очень хреново написано. Во-первых, стоило бы объяснить, зачем и почему «звук можно представить в виде бесконечного набора волн». Обычно раскладывают звук на частотные составляющие по той причине, что человеческое ухо (для которого мы и пишем этот звук) воспринимает именно частотный спектр, и это помогает понять, как создать что-то похожее.

Во-вторых, опять же, из чистых синусоид и треугольников получится очень хреновый и электронный звук. Еще нужны как минимум фильтры, генераторы огибащих, тремоло/вибрато и изменение этих характеристик во времени (это важно — практически любой звук, который не меняется во времени, на слух звучит как электроорган, и может быть скучным. Естественные звуки весьма изменчивы).

В-третьих, есть и другие виды синтеза звука, например физическое моделирование, а то что описано — это самое начало аддитивного синтеза.

В-четвертых, в коде есть ошибки — в примере с пилой и прямоугольником период равен целому числу семплов, что может давать ошибку. Ну и некоторые любители бескислородных кабелей могут придраться, что не мешало бы сделать дитеринг.

В пятых, кто-то в комментариях спрашивал про звук пианино. Тут есть хитрость. В данном случае звук состоит из короткого острого начального кусочка (атака), который сразу распознается ухом, и последующего длительного затухающего сигнала, который тоже не так прост, как кажется — его спектр меняется со временем. Обычно семплерные синтезаторы хранят в памяти именно этот начальный кусочек в виде семпла (выделенного их реального звука пианино), а затухающую часть синтезируют. Эта технология довольно-таки старая, по моему в 80-х придумана, забыл, как называется.

Соответственно, если вы хотите синтезировать это самое пианино, то либо делаете, как описано выше, либо физически его моделируете — то есть, рассчитываете с помощью численных методов как раскачивает воздух колеблющаяся внутри деревянной коробки струна, как она взаимодействует с круглыми железными штуками, на которых крепится, с деревянной рамой и другими струнами. Знание физики крайне желательно для этого 🙂 Особенно сложно тут рассчитать, мне кажется, самое начало звука — тот момент, когда молоточек бьет по струне.

Пример такой программы — Modartt Pianoteq — сделано довольно-таки неплохо, оно гремит и гудит, и издает вполне похожие на настоящие звуки.

Ну и третий способ — полностью семплерное пианино, просто в студии записывают звук каждой клавиши, нажатой с разной силой. Такие пианины легко опознать по многогигабайтному объему дистрибутива 🙂 Из минусов семплов — «machine gun effect», когда для одной ноты, играющей несколько раз подряд через котороткие промежутки, используют один и тот же семпл, ухо слышит подвох. Поэтому каждую ноту надо записать несколько раз и чередовать семплы случайно.

Ну еще важна последующая обработка — например, реверберация: в естественной среде у звуков есть хвосты и эхи, и звук без них часто звучит плоско, бледно, тонко.

Источник

Программа Audacity как простой генератор звука и шума

Если у Вас появилась какая-то задумка и для нее вам требуется генератор звука, либо сигнала заданной формы и частоты, либо один из видов шума, то самым простым, быстрым и гибким способом решения этой проблемы может стать использование бесплатного мультиплатформенного аудио редактора Audacity.

Данный аудио редактор имеет очень широкие возможности, и с лихвой удовлетворит запросы подавляющего числа пользователей в плане обработки аудиофайлов, например для выделения голоса и улушения качества диктофонной записи (там же ссылка на скачивание). Ну и конечно же, тот факт, что программа абсолютна бесплатна и работает как в Microsoft Windows так и в Linux и даже на Mac OS X не может не радовать. По этой причине она и предлагается для использования всем и каждому — это достойнй представитель опен сорса.

Читайте также:  Причины по которым может не работать генератор

Так выглядит окно программы после открытия.

Генерация звука

Audacity позволяет генерировать основные формы сигналов, типы шумов и пакеты сигналов.

Варианты генераций сигналов спрятались в пункте меню Создание

Три самых нижних строки в данной статье рассматриваться не будут, т.к. отвечают за создание щелчков метронома и звуков ударов по барабану. Там тоже есть свои интересности и можно получить разнообразные звуки. Но об этом в другой раз, а пока займемся рассмотрением основных типов генерации.

Silence или Создать тишину

Не сказать что это можно назвать генерацией сигнала, т.к. это генерация отсутствия сигнала. Создается пустая аудио дорожка выбранной длительности. Если выделить часть дорожки то длительность кусочка будет автоматически вписана.

Это удобно при обработке реальных записей, когда нужно заглушить какой-то кусочек. В панели инструментов есть даже специальная кнопочка для быстрого доступа к этой функции. При ее нажатии окошко не вылезет, а выделенный кусочек будет сразу заглушен.

Кнопочка левее позволяет произвести обратное, т.е. оставить только выделенный кусочек и удалить то, что вокруг.

Кнопочка открывающая меню генерации тональных сигналов — т.е. сигналов, частота, форма и амплитуда которых постоянна на протяжении всей их длительности. Это может понадобиться например для того, чтобы запикать мат в записи .

Вверху располагается выпадающий список, с предложением выбрать форму сигнала. Среди распространенных вариантов не хватает только треугольной формы.

Частота задается в поле Frequency(Hz) и может лежать в интервале от 1 до 22050 Герц. Поддерживаются и дробные значения. Как и следует из названия, в поле Amplitude задается амплитуда, т.е размах сигнала. Ну а поле Длительность итак уже знакомо.

Стоит отметить, что меандра (квадратичной волны) есть аж два типа — один обычный, второй необычный без сглаживания. При этом меандр без сглаживания куда более сглажен и менее похож на меандр, чем обычный. Видимо ошибки перевода.

На картинке все четыре доступные формы волны, сгенерированные для частоты 1кГц и амплитуды = 1 (0 дБ)

Chirp…

Так же есть возможность создания сигналов частота и/или амплитуда которых непрерывно меняется на протяжении всей их длительности.

Окошек для ввода тут немного больше, но они все нам уже итак знакомы, за исключением Интерполяции. Доступны два варианты интерполяции — линейная и логарифмическая. Интерполяция определяет то, как будет меняться частота со временем. Для параметров, заданных на картинке, в зависимости от выбранного типа интерполяции, будут сгенерированы следующие сигналы:

DTMF Tones…

Аббревиатура расшифровывается как D ual- T one M ulti- F requency что на русский можно перевести как двух-тональные мно жественные сигналы .

Генерируются сигналы, аналогичные тем, которые звучат при нажатии кнопок клавиатур ы на телефонах. В поле Последовательность нужно ввести то, для чего мы хотим создать подобные сигналы. А ползунок Соотношения сигнала/тишины определяет длительности сигналов и пауз. В случае 50% длительность сигнала равна длительности паузы.

Для введенных параметров будет сгенерированы 9 двух-тональных сигналов:

Noise…

Audacity так же позволяет генерировать и шум.

В список имеющихся типов шумов входят: Белый, Розовый и Броуновский(Brownian).

Шумы это отдельная интересная тема. Если вкратце, то Белый шум — это вид шума , имеющий одинаковую интенсивность на всех частот а х . Благодаря этому он лучше остальных маскирует любые другие звуки . Розовый шум и броуновский шум имеют зависимость распределения энерги и от частоты. Н а низких частотах интенсивность больше, а с ростом частоты она падает.

Вот такими солидными возможностями располагает аудио редактор Audacity в плане генерации различных сигналов. Можно сгенерировать практически любой звук. Если вам и этого мало, не беда, можно покопаться в плагинах, которых ооочень много и там вы обязательно найдете то, что нужно именно Вам.

Привет! В этом окошке авторы блогов любят мериться крутостью биографий. Мне же будет гораздо приятнее услышать критику статей и блога в комментариях. Обычный человек, который любит музыку, копание в железе, электронике и софте, особенно когда эти вещи пересекаются и составляют целое, отсюда и название — АудиоГик. Материалы этого сайта — личный опыт, который, надеюсь, пригодится и Вам. Приятно, что прочитали 🙂

Источник

Поделиться с друзьями
Adblock
detector